From ba53a82aaa42fd2b2025a283d85de8aaf849589e Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 25 Jul 2024 16:46:31 -0600 Subject: [PATCH 001/100] Add install stuff and support for Finding Specutils in CMake --- CMakeLists.txt | 52 ++++++++++++++++++++++++++++++++++++---- SpecUtilsConfig.cmake.in | 11 +++++++++ 2 files changed, 59 insertions(+), 4 deletions(-) create mode 100644 SpecUtilsConfig.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 71f8906..eb0e297 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ if(${CMAKE_VERSION} VERSION_LESS 3.12) cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) endif() -project( SpecUtils ) +project( SpecUtils VERSION 1.0.0 ) option( SpecUtils_ENABLE_D3_CHART "Enables exporting of the D3 chart format" ON ) option( SpecUtils_D3_SUPPORT_FILE_STATIC "Compiles the JS and CSS files into memory, rather than reading files on disk; disable to allow changing JS/CSS without having to recompile" ON ) @@ -27,7 +27,6 @@ option( SpecUtils_USE_FROM_CHARS "Use c++17 std::from_chars for parsing floats/i option( SpecUtils_ENABLE_EQUALITY_CHECKS "Enables the equal_enough(...) functions for comparing two spectrum files." OFF ) #code size is only reason to default to off, I think option( PERFORM_DEVELOPER_CHECKS "Performs additional computationally expensive tests during execution" off ) - # If we are building this on Windows, not as a sub-project, lets enable selecting C++ runtime if( MSVC AND (SpecUtils_PYTHON_BINDINGS OR SpecUtils_BUILD_UNIT_TESTS) ) get_directory_property(hasParent PARENT_DIRECTORY) @@ -232,6 +231,7 @@ endif( SpecUtils_JAVA_SWIG ) add_library( SpecUtils ${SpecUtils_LIB_TYPE} ${sources} ${headers} ${OTHER_SUPPORT_FILES} ) set_target_properties( SpecUtils PROPERTIES PREFIX "lib" OUTPUT_NAME "SpecUtils" ) + #For CMake 3.8+, could specify C++11 using the following so it will be propagated to down-line targets... #target_compile_features(SpecUtils PUBLIC cxx_std_11) #set_target_properties(SpecUtils PROPERTIES CXX_EXTENSIONS OFF) @@ -306,7 +306,7 @@ elseif( WIN32 ) target_link_libraries( SpecUtils PUBLIC "Shlwapi.lib" ) endif( MINGW ) -target_include_directories( SpecUtils PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${Boost_INCLUDE_DIRS} +target_include_directories( SpecUtils PUBLIC $ $ $ ${Boost_INCLUDE_DIRS} PRIVATE ${THIRD_PARTY_DIR} ${PYTHON_INCLUDE_DIRS} ) if( SpecUtils_BUILD_REGRESSION_TEST ) @@ -327,9 +327,53 @@ if( SpecUtils_BUILD_FUZZING_TESTS ) add_subdirectory( fuzz_test ) endif( SpecUtils_BUILD_FUZZING_TESTS ) + +# Specify installation rules +include(GNUInstallDirs) + +# Install the library +install(TARGETS SpecUtils + EXPORT SpecUtilsTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} +) + +set( SpecUtils_config_OUT ${CMAKE_CURRENT_BINARY_DIR}/SpecUtils_config.h ) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtils/SpecUtils_config.h.in - ${CMAKE_CURRENT_BINARY_DIR}/SpecUtils_config.h + ${SpecUtils_config_OUT} +) +LIST(APPEND headers ${SpecUtils_config_OUT}) +# Install the headers +install(FILES ${headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SpecUtils) + +# Create and install the CMake package configuration files +include(CMakePackageConfigHelpers) + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfigVersion.cmake" + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion +) + +configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfig.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils ) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfigVersion.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils +) + +install(EXPORT SpecUtilsTargets + FILE SpecUtilsTargets.cmake + NAMESPACE SpecUtils:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils +) \ No newline at end of file diff --git a/SpecUtilsConfig.cmake.in b/SpecUtilsConfig.cmake.in new file mode 100644 index 0000000..6e6cf2e --- /dev/null +++ b/SpecUtilsConfig.cmake.in @@ -0,0 +1,11 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +# Add any dependencies here, e.g., +# find_dependency(SomeOtherLibrary) + +include("${CMAKE_CURRENT_LIST_DIR}/SpecUtilsTargets.cmake") + +set(SpecUtils_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@") +set(SpecUtils_LIBRARIES SpecUtils) \ No newline at end of file From cc1b35f83035fe4391ec937006474d2c695382a5 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Fri, 26 Jul 2024 10:55:08 -0600 Subject: [PATCH 002/100] remove install interface thing that doesn't seem to matter. --- CMakeLists.txt | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 87af127..e4bf72a 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -309,7 +309,7 @@ elseif( WIN32 ) target_link_libraries( SpecUtils PUBLIC "Shlwapi.lib" ) endif( MINGW ) -target_include_directories( SpecUtils PUBLIC $ $ $ ${Boost_INCLUDE_DIRS} +target_include_directories( SpecUtils PUBLIC $ $ ${Boost_INCLUDE_DIRS} PRIVATE ${THIRD_PARTY_DIR} ${PYTHON_INCLUDE_DIRS} ) if( SpecUtils_BUILD_REGRESSION_TEST ) @@ -330,7 +330,6 @@ if( SpecUtils_BUILD_FUZZING_TESTS ) add_subdirectory( fuzz_test ) endif( SpecUtils_BUILD_FUZZING_TESTS ) - # Specify installation rules include(GNUInstallDirs) @@ -367,8 +366,6 @@ configure_package_config_file( INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils ) - - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfigVersion.cmake" From 0334e4d90cb6d5d328b7266f54e1d1e4347f8f33 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 5 Aug 2024 16:36:39 -0600 Subject: [PATCH 003/100] fortran integration mods * added separate swig interface file * build tweaks for successful linking to shared libraries --- CMakeLists.txt | 2 + SpecUtils/SpecFile.h | 2 +- bindings/swig/fortran/SpecUtilsFortran.i | 47 + .../swig/fortran/SpecUtilsFortran_wrap.cxx | 6691 ++++++++++ bindings/swig/fortran/SpecUtilsWrap.f90 | 10673 ++++++++++++++++ bindings/swig/fortran/swig-gen.sh | 13 + 6 files changed, 17427 insertions(+), 1 deletion(-) create mode 100644 bindings/swig/fortran/SpecUtilsFortran.i create mode 100644 bindings/swig/fortran/SpecUtilsFortran_wrap.cxx create mode 100644 bindings/swig/fortran/SpecUtilsWrap.f90 create mode 100644 bindings/swig/fortran/swig-gen.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index e4bf72a..2076597 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -330,6 +330,8 @@ if( SpecUtils_BUILD_FUZZING_TESTS ) add_subdirectory( fuzz_test ) endif( SpecUtils_BUILD_FUZZING_TESTS ) +set_property( TARGET SpecUtils PROPERTY POSITION_INDEPENDENT_CODE ON ) + # Specify installation rules include(GNUInstallDirs) diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 247d1b1..59153bd 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -1157,7 +1157,7 @@ class Measurement std::shared_ptr location_; friend class ::SpecMeas; - friend class SpecFile; + friend class SpecFile; // bruh... friend struct N42DecodeHelper2006; friend struct N42DecodeHelper2012; friend struct GrossCountNodeDecodeWorker; diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i new file mode 100644 index 0000000..dfdc414 --- /dev/null +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -0,0 +1,47 @@ +%module SpecUtilsWrap + +%{ +#include + +%} + + +%include "stl.i" +//%include "std_vector.i" +/* instantiate the required template specializations */ +namespace std { + %template(IntVector) vector; + %template(DoubleVector) vector; + %template(FloatVector) vector; + %template(MeasurementVector) vector; + +} + + +%include "std_shared_ptr.i" +%shared_ptr(vector) +%shared_ptr(SpecUtils::Measurement) +%shared_ptr(std::vector) + +%include "std_string.i" +%apply std::string { std::string& } +//%include "std_wstring.i" +%include "wchar.i" + +%ignore combine_gamma_channels; +%ignore truncate_gamma_channels; +%ignore set_energy_calibration; +%ignore descriptionText; +%ignore operator=; + +// %rename("mAt") SpecUtils::SpecFile::measurement(size_t num); // why doesn't this work? + +%include "SpecUtils/SpecFile.h" + + + +%extend SpecUtils::SpecFile{ + std::shared_ptr measurementAt(int num){ + return $self->measurement(static_cast(num)); + } +} \ No newline at end of file diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx new file mode 100644 index 0000000..248e8a3 --- /dev/null +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -0,0 +1,6691 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (https://www.swig.org). + * Version 4.2.0 + * + * Do not make changes to this file unless you know what you are doing - modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if defined(__GNUC__) +# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + +/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */ +#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES) +# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 +#endif + +/* Intel's compiler complains if a variable which was never initialised is + * cast to void, which is a common idiom which we use to indicate that we + * are aware a variable isn't used. So we just silence that warning. + * See: https://github.com/swig/swig/issues/192 for more discussion. + */ +#ifdef __INTEL_COMPILER +# pragma warning disable 592 +#endif + +#if __cplusplus >=201103L +# define SWIG_NULLPTR nullptr +#else +# define SWIG_NULLPTR NULL +#endif + + +/* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF + * if you're missing it. + */ +#if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \ + (defined __cplusplus && __cplusplus >= 201103L) || \ + defined SWIG_HAVE_SNPRINTF) && \ + !defined SWIG_NO_SNPRINTF +# define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A) +# define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B) +#else +/* Fallback versions ignore the buffer size, but most of our uses either have a + * fixed maximum possible size or dynamically allocate a buffer that's large + * enough. + */ +# define SWIG_snprintf(O,S,F,A) sprintf(O,F,A) +# define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B) +#endif + + + +#ifndef SWIGEXTERN +# ifdef __cplusplus +# define SWIGEXTERN extern +# else +# define SWIGEXTERN +# endif +#endif + + +#define SWIG_exception_impl(DECL, CODE, MSG, RETURNNULL) \ + { throw std::logic_error("In " DECL ": " MSG); } + + +enum SwigMemFlags { + SWIG_MEM_OWN = 0x01, + SWIG_MEM_RVALUE = 0x02, +}; + + +#define SWIG_check_nonnull(PTR, TYPENAME, FNAME, FUNCNAME, RETURNNULL) \ + if (!(PTR)) { \ + SWIG_exception_impl(FUNCNAME, SWIG_NullReferenceError, \ + "Cannot pass null " TYPENAME " (class " FNAME ") " \ + "as a reference", RETURNNULL); \ + } + + +#define SWIG_check_range(INDEX, SIZE, FUNCNAME, RETURNNULL) \ + if (!(INDEX < SIZE)) { \ + SWIG_exception_impl(FUNCNAME, SWIG_IndexError, \ + "index out of range", RETURNNULL); \ + } + + +namespace swig { +enum AssignmentType { + ASSIGNMENT_DEFAULT, + ASSIGNMENT_NODESTRUCT, + ASSIGNMENT_SMARTPTR +}; +} + + +#define SWIG_check_sp_nonnull(PTR, TYPENAME, FNAME, FUNCNAME, RETURNNULL) \ + if (!(PTR)) { \ + SWIG_exception_impl(FUNCNAME, SWIG_NullReferenceError, \ + "Cannot pass null " TYPENAME " (class " FNAME ") " \ + "as a reference", RETURNNULL); \ + } + +#define SWIG_sp_mem_flags 0 + + + +#define SWIG_VERSION 0x040200 +#define SWIGFORTRAN +#define SWIGPOLICY_std_vector_Sl__Sp_int_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_vector_Sl__Sp_double_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_std_vector_Sl__Sp_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_std_vector_Sl__Sp_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_Measurement swig::ASSIGNMENT_SMARTPTR +#define SWIGPOLICY_SpecUtils_SpecFile swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_DetectorAnalysisResult swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_DetectorAnalysis swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_MultimediaData swig::ASSIGNMENT_DEFAULT + +#ifdef __cplusplus +#include +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigSmartPointer { + T *ptr; + SwigSmartPointer(T *p) : ptr(p) { } + ~SwigSmartPointer() { delete ptr; } + SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; } +#if __cplusplus >=201103L + SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; } + operator T&&() const { return std::move(*pointer.ptr); } +#else + operator T&() const { return *pointer.ptr; } +#endif + T *operator&() const { return pointer.ptr; } + static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); } +}; + +/* + * SwigValueInit() is a generic initialisation solution as the following approach: + * + * T c_result = T(); + * + * doesn't compile for all types for example: + * + * unsigned int c_result = unsigned int(); + */ +template T SwigValueInit() { + return T(); +} + +#if __cplusplus >=201103L +# define SWIG_STD_MOVE(OBJ) std::move(OBJ) +#else +# define SWIG_STD_MOVE(OBJ) OBJ +#endif + +#endif + + +#include + + +/* Support for the `contract` feature. + * + * Note that RETURNNULL is first because it's inserted via a 'Replaceall' in + * the fortran.cxx file. + */ +#define SWIG_contract_assert(RETURNNULL, EXPR, MSG) \ + if (!(EXPR)) { SWIG_exception_impl("$decl", SWIG_ValueError, MSG, RETURNNULL); } + + +#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) +#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) + + +#include + + + +#include + + +#include + + +#include + + +#include + + +struct SwigClassWrapper { + void* cptr; + int cmemflags; +}; + + +SWIGINTERN SwigClassWrapper SwigClassWrapper_uninitialized() { + SwigClassWrapper result; + result.cptr = NULL; + result.cmemflags = 0; + return result; +} + +SWIGINTERN void std_vector_Sl_int_Sg__set(std::vector< int > *self,std::vector< int >::size_type index,int const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""int" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN int const &std_vector_Sl_int_Sg__get(std::vector< int > *self,std::vector< int >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""int" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_int_Sg__insert(std::vector< int > *self,std::vector< int >::size_type index,int const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""int" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_int_Sg__erase__SWIG_0(std::vector< int > *self,std::vector< int >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""int" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_int_Sg__erase__SWIG_1(std::vector< int > *self,std::vector< int >::size_type start_index,std::vector< int >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""int" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""int" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN int &std_vector_Sl_int_Sg__front_ref(std::vector< int > *self){ + return (*self).front(); + } +SWIGINTERN int &std_vector_Sl_int_Sg__back_ref(std::vector< int > *self){ + return (*self).back(); + } +SWIGINTERN int &std_vector_Sl_int_Sg__get_ref(std::vector< int > *self,std::vector< int >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""int" ">::get_ref", + return self->front()); + return (*self)[index]; + } + +namespace swig { + +template +struct DestructorPolicy { + static SwigClassWrapper destroy(SwigClassWrapper self) { + delete static_cast(self.cptr); + return SwigClassWrapper_uninitialized(); + } +}; +template +struct DestructorPolicy { + static SwigClassWrapper destroy(SwigClassWrapper) { + SWIG_exception_impl("assignment", SWIG_TypeError, "Invalid assignment: class type has private destructor", return SwigClassWrapper_uninitialized()); + } +}; +} + + +namespace swig { + +SWIGINTERN SwigClassWrapper capture(SwigClassWrapper other) { + other.cmemflags &= ~SWIG_MEM_RVALUE; + return other; +} + +template +struct AssignmentPolicy { + static SwigClassWrapper destroy(SwigClassWrapper self) { + return DestructorPolicy::destroy(self); + } + static SwigClassWrapper alias(SwigClassWrapper other) { + SwigClassWrapper self = other; + self.cmemflags &= ~SWIG_MEM_OWN; + return self; + } + static SwigClassWrapper move_alias(SwigClassWrapper self, SwigClassWrapper other) { + if (self.cmemflags & SWIG_MEM_OWN) { + destroy(self); + } + return capture(other); + } + static SwigClassWrapper copy_alias(SwigClassWrapper self, SwigClassWrapper other) { + if (self.cmemflags & SWIG_MEM_OWN) { + destroy(self); + } + return capture(other); + } +}; + +template +struct AssignmentPolicy { + static SwigClassWrapper destroy(SwigClassWrapper self) { + return DestructorPolicy::destroy(self); + } + static SwigClassWrapper alias(SwigClassWrapper other) { + SwigClassWrapper self; + self.cptr = new T(*static_cast(other.cptr)); + self.cmemflags = other.cmemflags | SWIG_MEM_OWN; + return self; + } + static SwigClassWrapper move_alias(SwigClassWrapper self, SwigClassWrapper other) { + self = copy_alias(self, other); + self.cmemflags = other.cmemflags & ~SWIG_MEM_RVALUE; + destroy(other); + return self; + } + static SwigClassWrapper copy_alias(SwigClassWrapper self, SwigClassWrapper other) { + // LHS and RHS should both 'own' their shared pointers + T *pself = static_cast(self.cptr); + T *pother = static_cast(other.cptr); + *pself = *pother; + return self; + } +}; + +} // end namespace swig + +template +SWIGINTERN void SWIG_assign(SwigClassWrapper* self, SwigClassWrapper other) { + typedef swig::AssignmentPolicy Policy_t; + + if (self->cptr == NULL) { + /* LHS is unassigned */ + if (other.cmemflags & SWIG_MEM_RVALUE) { + /* Capture pointer from RHS, clear 'moving' flag */ + *self = swig::capture(other); + } else { + /* Aliasing another class; clear ownership or copy smart pointer */ + *self = Policy_t::alias(other); + } + } else if (other.cptr == NULL) { + /* Replace LHS with a null pointer */ + *self = Policy_t::destroy(*self); + } else if (self->cptr == other.cptr) { + /* Self-assignment: ignore */ + } else if (other.cmemflags & SWIG_MEM_RVALUE) { + /* Transferred ownership from a variable that's about to be lost. + * Move-assign and delete the transient data */ + *self = Policy_t::move_alias(*self, other); + } else { + /* RHS shouldn't be deleted, alias to LHS */ + *self = Policy_t::copy_alias(*self, other); + } +} + +template +SWIGINTERN void SWIG_free_rvalue(SwigClassWrapper other) { + typedef swig::AssignmentPolicy Policy_t; + if (other.cmemflags & SWIG_MEM_RVALUE + && other.cmemflags & SWIG_MEM_OWN) { + /* We own *and* are being passed an expiring value */ + Policy_t::destroy(other); + } +} + + +SWIGINTERN void std_vector_Sl_double_Sg__set(std::vector< double > *self,std::vector< double >::size_type index,double const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""double" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN double const &std_vector_Sl_double_Sg__get(std::vector< double > *self,std::vector< double >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""double" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_double_Sg__insert(std::vector< double > *self,std::vector< double >::size_type index,double const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""double" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_double_Sg__erase__SWIG_0(std::vector< double > *self,std::vector< double >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""double" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_double_Sg__erase__SWIG_1(std::vector< double > *self,std::vector< double >::size_type start_index,std::vector< double >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""double" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""double" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN double &std_vector_Sl_double_Sg__front_ref(std::vector< double > *self){ + return (*self).front(); + } +SWIGINTERN double &std_vector_Sl_double_Sg__back_ref(std::vector< double > *self){ + return (*self).back(); + } +SWIGINTERN double &std_vector_Sl_double_Sg__get_ref(std::vector< double > *self,std::vector< double >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""double" ">::get_ref", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_float_Sg__set(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN float const &std_vector_Sl_float_Sg__get(std::vector< float > *self,std::vector< float >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_float_Sg__insert(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""float" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_0(std::vector< float > *self,std::vector< float >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_1(std::vector< float > *self,std::vector< float >::size_type start_index,std::vector< float >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""float" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""float" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN float &std_vector_Sl_float_Sg__front_ref(std::vector< float > *self){ + return (*self).front(); + } +SWIGINTERN float &std_vector_Sl_float_Sg__back_ref(std::vector< float > *self){ + return (*self).back(); + } +SWIGINTERN float &std_vector_Sl_float_Sg__get_ref(std::vector< float > *self,std::vector< float >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::get_ref", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__set(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index,SpecUtils::Measurement const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN SpecUtils::Measurement const &std_vector_Sl_SpecUtils_Measurement_Sg__get(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__insert(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index,SpecUtils::Measurement const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""SpecUtils::Measurement" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type start_index,std::vector< SpecUtils::Measurement >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""SpecUtils::Measurement" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""SpecUtils::Measurement" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(std::vector< SpecUtils::Measurement > *self){ + return (*self).front(); + } +SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(std::vector< SpecUtils::Measurement > *self){ + return (*self).back(); + } +SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::get_ref", + return self->front()); + return (*self)[index]; + } + +#include + + +#include +#ifdef _MSC_VER +# ifndef strtoull +# define strtoull _strtoui64 +# endif +# ifndef strtoll +# define strtoll _strtoi64 +# endif +#endif + + +struct SwigArrayWrapper { + void* data; + size_t size; +}; + + +SWIGINTERN SwigArrayWrapper SwigArrayWrapper_uninitialized() { + SwigArrayWrapper result; + result.data = NULL; + result.size = 0; + return result; +} + + +#include + + +struct SWIG_null_deleter { + void operator() (void const *) const { + } +}; +#define SWIG_NO_NULL_DELETER_0 , SWIG_null_deleter() +#define SWIG_NO_NULL_DELETER_1 +#define SWIG_NO_NULL_DELETER_SWIG_POINTER_NEW +#define SWIG_NO_NULL_DELETER_SWIG_POINTER_OWN + +SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurementAt(SpecUtils::SpecFile *self,int num){ + return self->measurement(static_cast(num)); + } +extern "C" { +SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< int > *result = 0 ; + + result = (std::vector< int > *)new std::vector< int >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< int > *arg1 = 0 ; + std::vector< int > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > const &", "IntVector", "std::vector< int >::vector(std::vector< int > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< int > *)farg1->cptr; + result = (std::vector< int > *)new std::vector< int >((std::vector< int > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_2(size_t const *farg1) { + SwigClassWrapper fresult ; + std::vector< int >::size_type arg1 ; + std::vector< int > *result = 0 ; + + arg1 = (std::vector< int >::size_type)(*farg1); + result = (std::vector< int > *)new std::vector< int >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_3(size_t const *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< int >::size_type arg1 ; + int *arg2 = 0 ; + int temp2 ; + std::vector< int > *result = 0 ; + + arg1 = (std::vector< int >::size_type)(*farg1); + temp2 = (int)(*farg2); + arg2 = &temp2; + result = (std::vector< int > *)new std::vector< int >(arg1,(int const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_IntVector_size(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::size() const", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + result = ((std::vector< int > const *)arg1)->size(); + fresult = (std::vector< int >::size_type)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_IntVector_capacity(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::capacity() const", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + result = ((std::vector< int > const *)arg1)->capacity(); + fresult = (std::vector< int >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_IntVector_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::empty() const", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + result = (bool)((std::vector< int > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_IntVector_front(SwigClassWrapper *farg1) { + int fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + int *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::front() const", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + result = (int *) &((std::vector< int > const *)arg1)->front(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT int _wrap_IntVector_back(SwigClassWrapper *farg1) { + int fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + int *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::back() const", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + result = (int *) &((std::vector< int > const *)arg1)->back(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_IntVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::reserve(std::vector< int >::size_type)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = (std::vector< int >::size_type)(*farg2); + (arg1)->reserve(arg2); +} + + +SWIGEXPORT void _wrap_IntVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::resize(std::vector< int >::size_type)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = (std::vector< int >::size_type)(*farg2); + (arg1)->resize(arg2); +} + + +SWIGEXPORT void _wrap_IntVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, int const *farg3) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + int *arg3 = 0 ; + int temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::resize(std::vector< int >::size_type,int const &)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = (std::vector< int >::size_type)(*farg2); + temp3 = (int)(*farg3); + arg3 = &temp3; + (arg1)->resize(arg2,(int const &)*arg3); +} + + +SWIGEXPORT void _wrap_IntVector_push_back(SwigClassWrapper *farg1, int const *farg2) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + int *arg2 = 0 ; + int temp2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::push_back(int const &)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + temp2 = (int)(*farg2); + arg2 = &temp2; + (arg1)->push_back((int const &)*arg2); +} + + +SWIGEXPORT void _wrap_IntVector_pop_back(SwigClassWrapper *farg1) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::pop_back()", return ); + arg1 = (std::vector< int > *)farg1->cptr; + (arg1)->pop_back(); +} + + +SWIGEXPORT void _wrap_IntVector_clear(SwigClassWrapper *farg1) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::clear()", return ); + arg1 = (std::vector< int > *)farg1->cptr; + (arg1)->clear(); +} + + +SWIGEXPORT void _wrap_IntVector_set(SwigClassWrapper *farg1, size_t const *farg2, int const *farg3) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + int *arg3 = 0 ; + int temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::set(std::vector< int >::size_type,int const &)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (int)(*farg3); + arg3 = &temp3; + std_vector_Sl_int_Sg__set(arg1,SWIG_STD_MOVE(arg2),(int const &)*arg3); +} + + +SWIGEXPORT int _wrap_IntVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + int fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + int *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::get(std::vector< int >::size_type)", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (int *) &std_vector_Sl_int_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_IntVector_insert(SwigClassWrapper *farg1, size_t const *farg2, int const *farg3) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + int *arg3 = 0 ; + int temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::insert(std::vector< int >::size_type,int const &)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (int)(*farg3); + arg3 = &temp3; + std_vector_Sl_int_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(int const &)*arg3); +} + + +SWIGEXPORT void _wrap_IntVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::erase(std::vector< int >::size_type)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_int_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_IntVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + std::vector< int >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::erase(std::vector< int >::size_type,std::vector< int >::size_type)", return ); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_int_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT int * _wrap_IntVector_front_ref(SwigClassWrapper *farg1) { + int * fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + int *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::front_ref()", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + result = (int *) &std_vector_Sl_int_Sg__front_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT int * _wrap_IntVector_back_ref(SwigClassWrapper *farg1) { + int * fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + int *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::back_ref()", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + result = (int *) &std_vector_Sl_int_Sg__back_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT int * _wrap_IntVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + int * fresult ; + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int >::size_type arg2 ; + int *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::get_ref(std::vector< int >::size_type)", return 0); + arg1 = (std::vector< int > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (int *) &std_vector_Sl_int_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult = result; + return fresult; +} + + +SWIGEXPORT void _wrap_delete_IntVector(SwigClassWrapper *farg1) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + + arg1 = (std::vector< int > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_IntVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< int > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_int_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< double > *result = 0 ; + + result = (std::vector< double > *)new std::vector< double >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< double > *arg1 = 0 ; + std::vector< double > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > const &", "DoubleVector", "std::vector< double >::vector(std::vector< double > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< double > *)farg1->cptr; + result = (std::vector< double > *)new std::vector< double >((std::vector< double > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_2(size_t const *farg1) { + SwigClassWrapper fresult ; + std::vector< double >::size_type arg1 ; + std::vector< double > *result = 0 ; + + arg1 = (std::vector< double >::size_type)(*farg1); + result = (std::vector< double > *)new std::vector< double >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_3(size_t const *farg1, double const *farg2) { + SwigClassWrapper fresult ; + std::vector< double >::size_type arg1 ; + double *arg2 = 0 ; + double temp2 ; + std::vector< double > *result = 0 ; + + arg1 = (std::vector< double >::size_type)(*farg1); + temp2 = (double)(*farg2); + arg2 = &temp2; + result = (std::vector< double > *)new std::vector< double >(arg1,(double const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_DoubleVector_size(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::size() const", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + result = ((std::vector< double > const *)arg1)->size(); + fresult = (std::vector< double >::size_type)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_DoubleVector_capacity(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::capacity() const", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + result = ((std::vector< double > const *)arg1)->capacity(); + fresult = (std::vector< double >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_DoubleVector_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::empty() const", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + result = (bool)((std::vector< double > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT double _wrap_DoubleVector_front(SwigClassWrapper *farg1) { + double fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + double *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::front() const", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + result = (double *) &((std::vector< double > const *)arg1)->front(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT double _wrap_DoubleVector_back(SwigClassWrapper *farg1) { + double fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + double *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::back() const", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + result = (double *) &((std::vector< double > const *)arg1)->back(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_DoubleVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::reserve(std::vector< double >::size_type)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = (std::vector< double >::size_type)(*farg2); + (arg1)->reserve(arg2); +} + + +SWIGEXPORT void _wrap_DoubleVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::resize(std::vector< double >::size_type)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = (std::vector< double >::size_type)(*farg2); + (arg1)->resize(arg2); +} + + +SWIGEXPORT void _wrap_DoubleVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, double const *farg3) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + double *arg3 = 0 ; + double temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::resize(std::vector< double >::size_type,double const &)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = (std::vector< double >::size_type)(*farg2); + temp3 = (double)(*farg3); + arg3 = &temp3; + (arg1)->resize(arg2,(double const &)*arg3); +} + + +SWIGEXPORT void _wrap_DoubleVector_push_back(SwigClassWrapper *farg1, double const *farg2) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + double *arg2 = 0 ; + double temp2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::push_back(double const &)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + temp2 = (double)(*farg2); + arg2 = &temp2; + (arg1)->push_back((double const &)*arg2); +} + + +SWIGEXPORT void _wrap_DoubleVector_pop_back(SwigClassWrapper *farg1) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::pop_back()", return ); + arg1 = (std::vector< double > *)farg1->cptr; + (arg1)->pop_back(); +} + + +SWIGEXPORT void _wrap_DoubleVector_clear(SwigClassWrapper *farg1) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::clear()", return ); + arg1 = (std::vector< double > *)farg1->cptr; + (arg1)->clear(); +} + + +SWIGEXPORT void _wrap_DoubleVector_set(SwigClassWrapper *farg1, size_t const *farg2, double const *farg3) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + double *arg3 = 0 ; + double temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::set(std::vector< double >::size_type,double const &)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (double)(*farg3); + arg3 = &temp3; + std_vector_Sl_double_Sg__set(arg1,SWIG_STD_MOVE(arg2),(double const &)*arg3); +} + + +SWIGEXPORT double _wrap_DoubleVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + double fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + double *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::get(std::vector< double >::size_type)", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (double *) &std_vector_Sl_double_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_DoubleVector_insert(SwigClassWrapper *farg1, size_t const *farg2, double const *farg3) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + double *arg3 = 0 ; + double temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::insert(std::vector< double >::size_type,double const &)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (double)(*farg3); + arg3 = &temp3; + std_vector_Sl_double_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(double const &)*arg3); +} + + +SWIGEXPORT void _wrap_DoubleVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::erase(std::vector< double >::size_type)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_double_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_DoubleVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + std::vector< double >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::erase(std::vector< double >::size_type,std::vector< double >::size_type)", return ); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_double_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT double * _wrap_DoubleVector_front_ref(SwigClassWrapper *farg1) { + double * fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + double *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::front_ref()", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + result = (double *) &std_vector_Sl_double_Sg__front_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT double * _wrap_DoubleVector_back_ref(SwigClassWrapper *farg1) { + double * fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + double *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::back_ref()", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + result = (double *) &std_vector_Sl_double_Sg__back_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT double * _wrap_DoubleVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + double * fresult ; + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double >::size_type arg2 ; + double *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::get_ref(std::vector< double >::size_type)", return 0); + arg1 = (std::vector< double > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (double *) &std_vector_Sl_double_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult = result; + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DoubleVector(SwigClassWrapper *farg1) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + + arg1 = (std::vector< double > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DoubleVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< double > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_double_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< float > *result = 0 ; + + result = (std::vector< float > *)new std::vector< float >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + std::vector< float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "std::vector< float >::vector(std::vector< float > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + result = (std::vector< float > *)new std::vector< float >((std::vector< float > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_2(size_t const *farg1) { + SwigClassWrapper fresult ; + std::vector< float >::size_type arg1 ; + std::vector< float > *result = 0 ; + + arg1 = (std::vector< float >::size_type)(*farg1); + result = (std::vector< float > *)new std::vector< float >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_3(size_t const *farg1, float const *farg2) { + SwigClassWrapper fresult ; + std::vector< float >::size_type arg1 ; + float *arg2 = 0 ; + float temp2 ; + std::vector< float > *result = 0 ; + + arg1 = (std::vector< float >::size_type)(*farg1); + temp2 = (float)(*farg2); + arg2 = &temp2; + result = (std::vector< float > *)new std::vector< float >(arg1,(float const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_FloatVector_size(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::size() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = ((std::vector< float > const *)arg1)->size(); + fresult = (std::vector< float >::size_type)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_FloatVector_capacity(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::capacity() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = ((std::vector< float > const *)arg1)->capacity(); + fresult = (std::vector< float >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_FloatVector_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::empty() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (bool)((std::vector< float > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT float _wrap_FloatVector_front(SwigClassWrapper *farg1) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::front() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &((std::vector< float > const *)arg1)->front(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT float _wrap_FloatVector_back(SwigClassWrapper *farg1) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::back() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &((std::vector< float > const *)arg1)->back(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_FloatVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::reserve(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); + (arg1)->reserve(arg2); +} + + +SWIGEXPORT void _wrap_FloatVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); + (arg1)->resize(arg2); +} + + +SWIGEXPORT void _wrap_FloatVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); + temp3 = (float)(*farg3); + arg3 = &temp3; + (arg1)->resize(arg2,(float const &)*arg3); +} + + +SWIGEXPORT void _wrap_FloatVector_push_back(SwigClassWrapper *farg1, float const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *arg2 = 0 ; + float temp2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::push_back(float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + temp2 = (float)(*farg2); + arg2 = &temp2; + (arg1)->push_back((float const &)*arg2); +} + + +SWIGEXPORT void _wrap_FloatVector_pop_back(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::pop_back()", return ); + arg1 = (std::vector< float > *)farg1->cptr; + (arg1)->pop_back(); +} + + +SWIGEXPORT void _wrap_FloatVector_clear(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::clear()", return ); + arg1 = (std::vector< float > *)farg1->cptr; + (arg1)->clear(); +} + + +SWIGEXPORT void _wrap_FloatVector_set(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::set(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (float)(*farg3); + arg3 = &temp3; + std_vector_Sl_float_Sg__set(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); +} + + +SWIGEXPORT float _wrap_FloatVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get(std::vector< float >::size_type)", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (float *) &std_vector_Sl_float_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_FloatVector_insert(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::insert(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (float)(*farg3); + arg3 = &temp3; + std_vector_Sl_float_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); +} + + +SWIGEXPORT void _wrap_FloatVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_float_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_FloatVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + std::vector< float >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type,std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_float_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT float * _wrap_FloatVector_front_ref(SwigClassWrapper *farg1) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::front_ref()", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &std_vector_Sl_float_Sg__front_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT float * _wrap_FloatVector_back_ref(SwigClassWrapper *farg1) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::back_ref()", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &std_vector_Sl_float_Sg__back_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT float * _wrap_FloatVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get_ref(std::vector< float >::size_type)", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (float *) &std_vector_Sl_float_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult = result; + return fresult; +} + + +SWIGEXPORT void _wrap_delete_FloatVector(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + + arg1 = (std::vector< float > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_FloatVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = 0 ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const &", "MeasurementVector", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >((std::vector< SpecUtils::Measurement > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_2(size_t const *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement >::size_type arg1 ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_3(size_t const *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement >::size_type arg1 ; + SpecUtils::Measurement *arg2 = 0 ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); + SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return SwigClassWrapper_uninitialized()); + arg2 = (SpecUtils::Measurement *)farg2->cptr; + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1,(SpecUtils::Measurement const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_MeasurementVector_size(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::size() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = ((std::vector< SpecUtils::Measurement > const *)arg1)->size(); + fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_MeasurementVector_capacity(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::capacity() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = ((std::vector< SpecUtils::Measurement > const *)arg1)->capacity(); + fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_MeasurementVector_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::empty() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (bool)((std::vector< SpecUtils::Measurement > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->front(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->back(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_MeasurementVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::reserve(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); + (arg1)->reserve(arg2); +} + + +SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); + (arg1)->resize(arg2); +} + + +SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + (arg1)->resize(arg2,(SpecUtils::Measurement const &)*arg3); +} + + +SWIGEXPORT void _wrap_MeasurementVector_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); + arg2 = (SpecUtils::Measurement *)farg2->cptr; + (arg1)->push_back((SpecUtils::Measurement const &)*arg2); +} + + +SWIGEXPORT void _wrap_MeasurementVector_pop_back(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::pop_back()", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + (arg1)->pop_back(); +} + + +SWIGEXPORT void _wrap_MeasurementVector_clear(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::clear()", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + (arg1)->clear(); +} + + +SWIGEXPORT void _wrap_MeasurementVector_set(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + std_vector_Sl_SpecUtils_Measurement_Sg__set(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_MeasurementVector_insert(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + std_vector_Sl_SpecUtils_Measurement_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); +} + + +SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + std::vector< SpecUtils::Measurement >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type,std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get_ref(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_MeasurementVector(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_MeasurementVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT int _wrap_spectrumTypeFromDescription(SwigArrayWrapper *farg1) { + int fresult ; + char *arg1 = (char *) 0 ; + SpecUtils::SpectrumType result; + + arg1 = (char *)(farg1->data); + result = (SpecUtils::SpectrumType)SpecUtils::spectrumTypeFromDescription((char const *)arg1); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_suggestedNameEnding(int const *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SaveSpectrumAsType arg1 ; + char *result = 0 ; + + arg1 = (SpecUtils::SaveSpectrumAsType)(*farg1); + result = (char *)SpecUtils::suggestedNameEnding(arg1); + fresult.size = strlen((char*)(result)); + fresult.data = const_cast< char * >(result); + return fresult; +} + + +SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_0(SwigArrayWrapper *farg1) { + int fresult ; + char *arg1 = (char *) 0 ; + bool result; + + arg1 = (char *)(farg1->data); + result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_1(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + char *arg1 = (char *) (char *)0 ; + char *arg2 = (char *) (char *)0 ; + bool result; + + arg1 = (char *)(farg1->data); + arg2 = (char *)(farg2->data); + result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1,(char const *)arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_convert_n42_utf16_xml_to_utf8(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) (char *)0 ; + char *result = 0 ; + + arg1 = (char *)(farg1->data); + arg2 = (char *)(farg2->data); + result = (char *)SpecUtils::convert_n42_utf16_xml_to_utf8(arg1,arg2); + fresult.size = strlen((char*)(result)); + fresult.data = const_cast< char * >(result); + return fresult; +} + + +SWIGEXPORT void _wrap_add_analysis_results_to_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + SpecUtils::DetectorAnalysis *arg1 = 0 ; + ::rapidxml::xml_node< char > *arg2 = (::rapidxml::xml_node< char > *) 0 ; + std::mutex *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (::rapidxml::xml_node< char > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::mutex &", "SWIGTYPE_p_std__mutex", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); + arg3 = (std::mutex *)farg3->cptr; + SpecUtils::add_analysis_results_to_2012_N42((SpecUtils::DetectorAnalysis const &)*arg1,arg2,*arg3); +} + + +SWIGEXPORT void _wrap_set_analysis_info_from_n42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + rapidxml::xml_node< char > *arg1 = (rapidxml::xml_node< char > *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; + + arg1 = (rapidxml::xml_node< char > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis &", "DetectorAnalysis", "SpecUtils::set_analysis_info_from_n42(rapidxml::xml_node< char > const *,SpecUtils::DetectorAnalysis &)", return ); + arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; + SpecUtils::set_analysis_info_from_n42((rapidxml::xml_node< char > const *)arg1,*arg2); +} + + +SWIGEXPORT double _wrap_gamma_integral(SwigClassWrapper const *farg1, float const *farg2, float const *farg3) { + double fresult ; + std::shared_ptr< SpecUtils::Measurement const > *arg1 = 0 ; + float arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > tempnull1 ; + double result; + + arg1 = farg1->cptr ? static_cast * >(farg1->cptr) : &tempnull1; + arg2 = (float)(*farg2); + arg3 = (float)(*farg3); + result = (double)SpecUtils::gamma_integral((std::shared_ptr< SpecUtils::Measurement const > const &)*arg1,arg2,arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_detectorTypeToString(int const *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorType arg1 ; + std::string *result = 0 ; + + arg1 = (SpecUtils::DetectorType)(*farg1); + result = (std::string *) &SpecUtils::detectorTypeToString(arg1); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_Measurement() { + SwigClassWrapper fresult ; + SpecUtils::Measurement *result = 0 ; + + result = (SpecUtils::Measurement *)new SpecUtils::Measurement(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::Measurement >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT size_t _wrap_Measurement_memmorysize(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->live_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_real_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->real_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_contained_neutron(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::Measurement const *)arg1)->contained_neutron(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_sample_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->sample_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_title(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->title(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_occupied(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::OccupancyStatus result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::OccupancyStatus)((SpecUtils::Measurement const *)arg1)->occupied(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_gamma_count_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_count_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_neutron_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->neutron_live_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_neutron_counts_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->neutron_counts_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_speed(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->speed(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_dx(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dx(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_dy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dy(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_latitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->latitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_longitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->longitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_has_gps_info(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::Measurement const *)arg1)->has_gps_info(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_dose_rate(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dose_rate(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_exposure_rate(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->exposure_rate(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_position_time(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->position_time(); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_name(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_name(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_detector_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->detector_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_type(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_type(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_quality_status(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::QualityStatus result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::QualityStatus)((SpecUtils::Measurement const *)arg1)->quality_status(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_source_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::SourceType result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::SourceType)((SpecUtils::Measurement const *)arg1)->source_type(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::string > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_parse_warnings(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::string > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->parse_warnings(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::time_point_t *) &((SpecUtils::Measurement const *)arg1)->start_time(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time_copy(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->start_time_copy(); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_energy_calibration_model(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::EnergyCalType result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::EnergyCalType)((SpecUtils::Measurement const *)arg1)->energy_calibration_model(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_calibration_coeffs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< float > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->calibration_coeffs(); + { + fresult.cptr = new std::shared_ptr >(result SWIG_NO_NULL_DELETER_0); + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_deviation_pairs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::pair< float,float > > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::pair< float,float > > *) &((SpecUtils::Measurement const *)arg1)->deviation_pairs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_energy_calibration(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration const > > result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->energy_calibration(); + fresult.cptr = new (std::shared_ptr< SpecUtils::EnergyCalibration const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->channel_energies(); + fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_counts(); + fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_neutron_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< float > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->neutron_counts(); + { + fresult.cptr = new std::shared_ptr >(result SWIG_NO_NULL_DELETER_0); + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_location_state(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< SpecUtils::LocationState const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< SpecUtils::LocationState const > *) &((SpecUtils::Measurement const *)arg1)->location_state(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_title((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::time_point_t *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_start_time(SpecUtils::time_point_t const &)", return ); + arg2 = (SpecUtils::time_point_t *)farg2->cptr; + (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_remarks(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_remarks(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_remarks((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_parse_warnings(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_source_type(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::SourceType arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (SpecUtils::SourceType)(*farg2); + (arg1)->set_source_type(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + double arg2 ; + double arg3 ; + SpecUtils::time_point_t arg4 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (double)(*farg2); + arg3 = (double)(*farg3); + SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_position(double,double,SpecUtils::time_point_t)", return ); + arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); + (arg1)->set_position(arg2,arg3,arg4); +} + + +SWIGEXPORT void _wrap_Measurement_set_sample_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + (arg1)->set_sample_number(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_occupancy_status(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::OccupancyStatus arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (SpecUtils::OccupancyStatus)(*farg2); + (arg1)->set_occupancy_status(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_detector_name((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_detector_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + (arg1)->set_detector_number(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_gamma_counts(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, float const *farg3, float const *farg4) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< std::vector< float > const > arg2 ; + float arg3 ; + float arg4 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + if (farg2->cptr) arg2 = *static_cast >*>(farg2->cptr); + arg3 = (float)(*farg3); + arg4 = (float)(*farg4); + (arg1)->set_gamma_counts(arg2,arg3,arg4); +} + + +SWIGEXPORT void _wrap_Measurement_set_neutron_counts(SwigClassWrapper *farg1, SwigClassWrapper *farg2, float const *farg3) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< float > *arg2 = 0 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &,float const)", return ) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + arg3 = (float)(*farg3); + (arg1)->set_neutron_counts((std::vector< float > const &)*arg2,arg3); +} + + +SWIGEXPORT size_t _wrap_Measurement_num_gamma_channels(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->num_gamma_channels(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_Measurement_find_gamma_channel(SwigClassWrapper *farg1, float const *farg2) { + size_t fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + result = ((SpecUtils::Measurement const *)arg1)->find_gamma_channel(arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_content(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_content(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_lower(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_lower(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_center(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_center(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_upper(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_upper(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_width(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_width(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_gamma_integral(SwigClassWrapper *farg1, float const *farg2, float const *farg3) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + arg3 = (float)(*farg3); + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_integral(arg2,arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_gamma_channels_sum(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + size_t arg3 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + arg3 = (size_t)(*farg3); + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_channels_sum(arg2,arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_energies(); + fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_contents(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_contents(); + fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_energy_min(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_min(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_energy_max(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_max(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsDerived = (int)(SpecUtils::Measurement::DerivedDataProperties::IsDerived); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ItemOfInterestSum = (int)(SpecUtils::Measurement::DerivedDataProperties::ItemOfInterestSum); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_UsedForAnalysis = (int)(SpecUtils::Measurement::DerivedDataProperties::UsedForAnalysis); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ProcessedFurther = (int)(SpecUtils::Measurement::DerivedDataProperties::ProcessedFurther); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_BackgroundSubtracted = (int)(SpecUtils::Measurement::DerivedDataProperties::BackgroundSubtracted); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsBackground = (int)(SpecUtils::Measurement::DerivedDataProperties::IsBackground); + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_derived_data_properties(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + uint32_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->derived_data_properties(); + fresult.cptr = new (uint32_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_write_2006_N42_xml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_2006_N42_xml(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_2006_N42_xml(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_csv(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_txt(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_txt(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_reset(SwigClassWrapper *farg1) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (arg1)->reset(); +} + + +SWIGEXPORT void _wrap_Measurement_rebin(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::Measurement::rebin(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); + arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; + (arg1)->rebin((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_info_from_2006_N42_spectrum_node(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) (rapidxml::xml_node< char > *)0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "rapidxml::xml_node< char > *", "SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t", "SpecUtils::Measurement::set_info_from_2006_N42_spectrum_node(rapidxml::xml_node< char > const *const)", return ); + arg2 = *((rapidxml::xml_node< char > **)(farg2->cptr)); + (arg1)->set_info_from_2006_N42_spectrum_node((rapidxml::xml_node< char > const *)arg2); +} + + +SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (void)arg1; delete smartarg1; +} + + +SWIGEXPORT void _wrap_Measurement_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::Measurement *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_SpecUtils_Measurement>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_0() { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *result = 0 ; + + result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = 0 ; + SpecUtils::SpecFile *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::SpecFile::SpecFile(SpecUtils::SpecFile const &)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile((SpecUtils::SpecFile const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_SpecFile(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3, SwigArrayWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + SpecUtils::ParserType arg3 ; + std::string arg4 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType,std::string)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + arg3 = (SpecUtils::ParserType)(*farg3); + (&arg4)->assign(static_cast(farg4->data), farg4->size); + result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3,arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + SpecUtils::ParserType arg3 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + arg3 = (SpecUtils::ParserType)(*farg3); + result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_parse_warnings(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::parse_warnings() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->parse_warnings(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_modified(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->modified(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_reset_modified(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset_modified(); +} + + +SWIGEXPORT int _wrap_SpecFile_modified_since_decode(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified_since_decode() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->modified_since_decode(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_reset_modified_since_decode(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified_since_decode()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset_modified_since_decode(); +} + + +SWIGEXPORT float _wrap_SpecFile_gamma_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_live_time() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_live_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_SpecFile_gamma_real_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_real_time() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_real_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_gamma_count_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_count_sum() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->gamma_count_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_neutron_counts_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_counts_sum() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->neutron_counts_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_filename(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::filename() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->filename(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_numbers(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< int > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_numbers() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< int > *) &((SpecUtils::SpecFile const *)arg1)->detector_numbers(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->gamma_detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_neutron_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->neutron_detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_uuid(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::uuid() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->uuid(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_remarks(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::remarks() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_lane_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::lane_number() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)((SpecUtils::SpecFile const *)arg1)->lane_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_location_name(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_location_name() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_location_name(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_inspection(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::inspection() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->inspection(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_operator(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_operator() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_operator(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_numbers(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< int,std::less< int >,std::allocator< int > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_numbers() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::set< int,std::less< int >,std::allocator< int > > *) &((SpecUtils::SpecFile const *)arg1)->sample_numbers(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_num_measurements(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_measurements() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->num_measurements(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_detector_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::DetectorType result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_type() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (SpecUtils::DetectorType)((SpecUtils::SpecFile const *)arg1)->detector_type(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_type(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_type() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_type(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_manufacturer(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::manufacturer() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->manufacturer(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_model(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_model() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_model(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_id(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_id() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_id(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurements(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurements() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->measurements(); + fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(size_t) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detectors_analysis(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::shared_ptr< SpecUtils::DetectorAnalysis const > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detectors_analysis() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->detectors_analysis(); + fresult.cptr = new (std::shared_ptr< SpecUtils::DetectorAnalysis const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_multimedia_data(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::multimedia_data() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *) &((SpecUtils::SpecFile const *)arg1)->multimedia_data(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_has_gps_info(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::has_gps_info() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->has_gps_info(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_mean_latitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_latitude() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->mean_latitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_mean_longitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_longitude() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->mean_longitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_passthrough(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::passthrough() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->passthrough(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_contains_derived_data(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_derived_data() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_derived_data(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_contains_non_derived_data(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_non_derived_data() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_non_derived_data(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_set_filename(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_filename(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_filename((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_remarks((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_add_remark(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_remark(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->add_remark((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_uuid(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_uuid(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_uuid((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_lane_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_lane_number(int const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + (arg1)->set_lane_number(arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_measurement_location_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_measurement_location_name(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_measurement_location_name((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_inspection(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_inspection(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_inspection((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_instrument_type(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_type(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_type((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_detector_type(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::DetectorType arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detector_type(SpecUtils::DetectorType const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (SpecUtils::DetectorType)(*farg2); + (arg1)->set_detector_type(arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_manufacturer(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_manufacturer(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_manufacturer((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_instrument_model(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_model(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_model((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_instrument_id(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_id(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_id((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_live_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_live_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (float)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_live_time(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_real_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_real_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (float)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_real_time(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::time_point_t *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg2 = (SpecUtils::time_point_t *)farg2->cptr; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_remarks((std::vector< std::string > const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_source_type(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::SourceType arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_source_type(SpecUtils::SourceType const,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (SpecUtils::SourceType)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_source_type(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4, SwigClassWrapper const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double arg2 ; + double arg3 ; + SpecUtils::time_point_t arg4 ; + std::shared_ptr< SpecUtils::Measurement const > arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (double)(*farg2); + arg3 = (double)(*farg3); + SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); + if (farg5->cptr) arg5 = *static_cast*>(farg5->cptr); + (arg1)->set_position(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_title(std::string const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_title((std::string const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_contained_neutrons(SwigClassWrapper *farg1, int const *farg2, float const *farg3, SwigClassWrapper const *farg4, float const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > arg4 ; + float arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_contained_neutrons(bool const,float const,std::shared_ptr< SpecUtils::Measurement const > const,float const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (*farg2 ? true : false); + arg3 = (float)(*farg3); + if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); + arg5 = (float)(*farg5); + (arg1)->set_contained_neutrons(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_set_detectors_analysis(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); + arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; + (arg1)->set_detectors_analysis((SpecUtils::DetectorAnalysis const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_change_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string *arg3 = 0 ; + std::string tempstr2 ; + std::string tempstr3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_detector_name(std::string const &,std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + (arg1)->change_detector_name((std::string const &)*arg2,(std::string const &)*arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_change_sample_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::pair< int,int > > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< int,int > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); + arg2 = (std::vector< std::pair< int,int > > *)farg2->cptr; + (arg1)->change_sample_numbers((std::vector< std::pair< int,int > > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_add_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::Measurement > arg2 ; + bool arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >,bool const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + arg3 = (*farg3 ? true : false); + (arg1)->add_measurement(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_remove_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg2 ; + bool arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurement(std::shared_ptr< SpecUtils::Measurement const >,bool const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + arg3 = (*farg3 ? true : false); + (arg1)->remove_measurement(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_remove_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); + arg2 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg2->cptr; + (arg1)->remove_measurements((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_clear_multimedia_data(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::clear_multimedia_data()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->clear_multimedia_data(); +} + + +SWIGEXPORT void _wrap_SpecFile_add_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::MultimediaData *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::MultimediaData const &", "MultimediaData", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); + arg2 = (SpecUtils::MultimediaData *)farg2->cptr; + (arg1)->add_multimedia_data((SpecUtils::MultimediaData const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); + arg2 = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *)farg2->cptr; + (arg1)->set_multimedia_data(*arg2); +} + + +SWIGEXPORT int _wrap_SpecFile_occupancy_number_from_remarks(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::occupancy_number_from_remarks() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)((SpecUtils::SpecFile const *)arg1)->occupancy_number_from_remarks(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_measurements(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_measurements(int const) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + result = ((SpecUtils::SpecFile const *)arg1)->sample_measurements(arg2); + fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigArrayWrapper *farg3) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + std::string *arg3 = 0 ; + std::string tempstr3 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,std::string const &) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,(std::string const &)*arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_2(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + int arg3 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,int const) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + arg3 = (int)(*farg3); + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_suggested_sum_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; + std::vector< std::string > *arg3 = 0 ; + SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration const > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::string > *)farg3->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->suggested_sum_energy_calibration((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3); + fresult.cptr = new (std::shared_ptr< SpecUtils::EnergyCalibration const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sum_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; + std::vector< std::string > *arg3 = 0 ; + SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration const > > arg4 ; + std::shared_ptr< SpecUtils::Measurement > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::string > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const >", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg4 = *((std::shared_ptr< SpecUtils::EnergyCalibration const > *)(farg4->cptr)); + result = ((SpecUtils::SpecFile const *)arg1)->sum_measurements((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3,arg4); + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_memmorysize(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::memmorysize() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_channel_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::set< size_t,std::less< size_t >,std::allocator< size_t > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_channel_counts() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->gamma_channel_counts(); + fresult.cptr = new (std::set< size_t,std::less< size_t >,std::allocator< size_t > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_num_gamma_channels(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_gamma_channels() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->num_gamma_channels(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_keep_n_bin_spectra_only(SwigClassWrapper *farg1, size_t const *farg2) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t arg2 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_n_bin_spectra_only(size_t)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = (arg1)->keep_n_bin_spectra_only(arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_contained_neutron(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contained_neutron() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->contained_neutron(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_energy_cal_variants(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::set< std::string,std::less< std::string >,std::allocator< std::string > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::energy_cal_variants() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->energy_cal_variants(); + fresult.cptr = new (std::set< std::string,std::less< std::string >,std::allocator< std::string > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_keep_energy_cal_variants(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; + result = (arg1)->keep_energy_cal_variants((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_keep_derived_data_variant(SwigClassWrapper *farg1, int const *farg2) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::SpecFile::DerivedVariantToKeep arg2 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_derived_data_variant(SpecUtils::SpecFile::DerivedVariantToKeep const)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (SpecUtils::SpecFile::DerivedVariantToKeep)(*farg2); + result = (arg1)->keep_derived_data_variant(arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_remove_detectors_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; + result = (arg1)->remove_detectors_data((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_SpecFile_remove_neutron_measurements(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_neutron_measurements()", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (arg1)->remove_neutron_measurements(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_background_sample_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::background_sample_number() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)((SpecUtils::SpecFile const *)arg1)->background_sample_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_generate_psuedo_uuid(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::generate_psuedo_uuid() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->generate_psuedo_uuid(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_reset(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset(); +} + + +SWIGEXPORT int _wrap_SpecFile_load_N42_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_N42_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_pcf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_pcf_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_pcf_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_spc_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spc_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_spc_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_chn_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_chn_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_chn_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_iaea_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_iaea_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_iaea_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_binary_exploranium_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_binary_exploranium_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_binary_exploranium_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_micro_raider_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_micro_raider_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_micro_raider_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_txt_or_csv_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_txt_or_csv_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_txt_or_csv_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_cnf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_cnf_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_cnf_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_tracs_mps_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tracs_mps_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_tracs_mps_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_aram_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_aram_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_aram_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spectroscopic_daily_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_spectroscopic_daily_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_amptek_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_amptek_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_amptek_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_ortec_listmode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_ortec_listmode_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_ortec_listmode_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_lsrm_spe_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lsrm_spe_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_lsrm_spe_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_tka_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tka_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_tka_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_multiact_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_multiact_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_multiact_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_phd_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_phd_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_phd_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_lzs_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lzs_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_lzs_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_radiacode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_radiacode_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_radiacode_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_xml_scan_data_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_xml_scan_data_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_xml_scan_data_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_json_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_json_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_json_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_caen_gxml_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_caen_gxml_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_caen_gxml_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_N42(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (char *)(farg2->data); + result = (bool)(arg1)->load_N42_from_data(arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *,char *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (char *)(farg2->data); + arg3 = (char *)(farg3->data); + result = (bool)(arg1)->load_N42_from_data(arg2,arg3); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_iaea_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_iaea_spc(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_binary_spc(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_N42_document(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42_document(rapidxml::xml_node< char > const *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (rapidxml::xml_node< char > *)farg2->cptr; + result = (bool)(arg1)->load_from_N42_document((rapidxml::xml_node< char > const *)arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_micro_raider_from_data(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_micro_raider_from_data(char const *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (char *)(farg2->data); + result = (bool)(arg1)->load_from_micro_raider_from_data((char const *)arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_binary_exploranium(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_binary_exploranium(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_pcf(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_txt_or_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_txt_or_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_Gr135_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_Gr135_txt(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_spectroscopic_daily_file(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_srpm210_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_srpm210_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_D3S_raw(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_D3S_raw(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_amptek_mca(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_amptek_mca(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_ortec_listmode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_ortec_listmode(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_lsrm_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_lsrm_spe(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_tka(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_multiact(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_multiact(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_phd(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_phd(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_lzs(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_lzs(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_radiacode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_radiacode(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_radiacode_spectrogram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_radiacode_spectrogram(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_xml_scan_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_xml_scan_data(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_iaea(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_iaea(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_chn(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_chn(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_cnf(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_tracs_mps(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_tracs_mps(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_aram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_aram(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_json(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_json(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_caen_gxml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_caen_gxml(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_RebinToCommonBinning = (int)(SpecUtils::SpecFile::RebinToCommonBinning); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_DontChangeOrReorderSamples = (int)(SpecUtils::SpecFile::DontChangeOrReorderSamples); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_ReorderSamplesByTime = (int)(SpecUtils::SpecFile::ReorderSamplesByTime); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_StandardCleanup = (int)(SpecUtils::SpecFile::StandardCleanup); + +SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + unsigned int arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load(unsigned int const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (unsigned int)(*farg2); + (arg1)->cleanup_after_load(arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_1(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->cleanup_after_load(); +} + + +SWIGEXPORT void _wrap_SpecFile_recalc_total_counts(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::recalc_total_counts()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->recalc_total_counts(); +} + + +SWIGEXPORT void _wrap_SpecFile_merge_neutron_meas_into_gamma_meas(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::merge_neutron_meas_into_gamma_meas()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->merge_neutron_meas_into_gamma_meas(); +} + + +SWIGEXPORT void _wrap_SpecFile_rebin_measurement(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *arg3 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > tempnull3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_measurement(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::SpecFile::rebin_measurement(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); + arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; + arg3 = farg3->cptr ? static_cast * >(farg3->cptr) : &tempnull3; + (arg1)->rebin_measurement((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::shared_ptr< SpecUtils::Measurement const > const &)*arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_rebin_all_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_all_measurements(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::SpecFile::rebin_all_measurements(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); + arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; + (arg1)->rebin_all_measurements((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_energy_calibration_from_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); + arg2 = (std::istream *)farg2->cptr; + (arg1)->set_energy_calibration_from_CALp_file(*arg2); +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names_to_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< std::string > *)farg2->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->detector_names_to_numbers((std::vector< std::string > const &)*arg2); + fresult.cptr = new (std::set< int,std::less< int >,std::allocator< int > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string arg2 ; + SpecUtils::SaveSpectrumAsType arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + arg3 = (SpecUtils::SaveSpectrumAsType)(*farg3); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string arg2 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_2(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string arg2 ; + std::vector< int > arg3 ; + std::vector< int > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SWIG_check_nonnull(farg3->cptr, "std::vector< int >", "IntVector", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::vector< int > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< int >", "IntVector", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::vector< int > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_3(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg3 = 0 ; + std::vector< std::string > *arg4 = 0 ; + SpecUtils::SaveSpectrumAsType arg5 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = (std::set< int,std::less< int >,std::allocator< int > > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = (std::vector< std::string > *)farg4->cptr; + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file((std::string const &)*arg2,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg3,(std::vector< std::string > const &)*arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::vector< std::string > *arg4 = 0 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = (std::vector< std::string > *)farg4->cptr; + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,(std::vector< std::string > const &)*arg4,arg5); +} + + +SWIGEXPORT int _wrap_SpecFile_write_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_pcf(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_2006_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2006_N42(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_txt(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::vector< std::string > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg4 = (std::vector< std::string > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::vector< std::string > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, SwigClassWrapper *farg5) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SpecUtils::SpecFile::SpcBinaryType arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + std::set< int,std::less< int >,std::allocator< int > > *arg5 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + arg3 = (SpecUtils::SpecFile::SpcBinaryType)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + SWIG_check_nonnull(farg5->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg5 = (std::set< int,std::less< int >,std::allocator< int > > *)farg5->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_spc(*arg2,arg3,arg4,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg5); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_ascii_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_ascii_spc(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr130v0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr130v0(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr135v2(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr135v2(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_iaea_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_iaea_spe(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_cnf(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_tka(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_2012N42_VERSION_get() { + int fresult ; + int result; + + result = (int)(5); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_create_2012_N42_xml(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::shared_ptr< ::rapidxml::xml_document< char > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::create_2012_N42_xml() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->create_2012_N42_xml(); + fresult.cptr = new (std::shared_ptr< ::rapidxml::xml_document< char > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2012_N42(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_mutex(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::recursive_mutex *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mutex() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::recursive_mutex *) &((SpecUtils::SpecFile const *)arg1)->mutex(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurementAt(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::measurementAt(int)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + result = SpecUtils_SpecFile_measurementAt(arg1,arg2); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::SpecFile *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->remark_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_remark__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->remark_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->nuclide_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->nuclide_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_activity__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->activity_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_activity__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->activity_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->nuclide_type_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide_type__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->nuclide_type_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_id_confidence__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->id_confidence_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_id_confidence__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->id_confidence_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_distance__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->distance_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_distance__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->distance_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_dose_rate__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->dose_rate_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_dose_rate__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->dose_rate_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_real_time__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->real_time_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_real_time__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->real_time_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_detector__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->detector_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_detector__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->detector_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysisResult() { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysisResult *result = 0 ; + + result = (SpecUtils::DetectorAnalysisResult *)new SpecUtils::DetectorAnalysisResult(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_reset(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::reset()", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + (arg1)->reset(); +} + + +SWIGEXPORT int _wrap_DetectorAnalysisResult_isEmpty(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult const *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::isEmpty() const", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (bool)((SpecUtils::DetectorAnalysisResult const *)arg1)->isEmpty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DetectorAnalysisResult(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + SpecUtils::DetectorAnalysisResult *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_remarks__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::string > *arg2 = (std::vector< std::string > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< std::string > *)farg2->cptr; + if (arg1) (arg1)->remarks_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_remarks__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< std::string > *)& ((arg1)->remarks_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_name__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_name_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_name__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_name_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_component_versions__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::pair< std::string,std::string > > *arg2 = (std::vector< std::pair< std::string,std::string > > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< std::pair< std::string,std::string > > *)farg2->cptr; + if (arg1) (arg1)->algorithm_component_versions_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_algorithm_component_versions__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::pair< std::string,std::string > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< std::pair< std::string,std::string > > *)& ((arg1)->algorithm_component_versions_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_creator__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_creator_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_creator__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_creator_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_description_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_description__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_description_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_analysis_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::time_point_t arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); + arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); + if (arg1) (arg1)->analysis_start_time_ = arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_analysis_start_time__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::time_point_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = ((arg1)->analysis_start_time_); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_analysis_computation_duration__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->analysis_computation_duration_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysis_analysis_computation_duration__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return 0); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (float) ((arg1)->analysis_computation_duration_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_result_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_result_description_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_result_description__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_result_description_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_results__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< SpecUtils::DetectorAnalysisResult > *arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *)farg2->cptr; + if (arg1) (arg1)->results_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_results__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< SpecUtils::DetectorAnalysisResult > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< SpecUtils::DetectorAnalysisResult > *)& ((arg1)->results_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysis() { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *result = 0 ; + + result = (SpecUtils::DetectorAnalysis *)new SpecUtils::DetectorAnalysis(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_reset(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::reset()", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + (arg1)->reset(); +} + + +SWIGEXPORT int _wrap_DetectorAnalysis_is_empty(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::is_empty() const", return 0); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (bool)((SpecUtils::DetectorAnalysis const *)arg1)->is_empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DetectorAnalysis(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_MultimediaData_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->remark_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_remark__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->remark_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_descriptions__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->descriptions_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_descriptions__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->descriptions_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_data__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::vector< char > *arg2 = (std::vector< char > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + arg2 = (std::vector< char > *)farg2->cptr; + if (arg1) (arg1)->data_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_data__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::vector< char > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::vector< char > *)& ((arg1)->data_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_data_encoding__set(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData::EncodingType arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + arg2 = (SpecUtils::MultimediaData::EncodingType)(*farg2); + if (arg1) (arg1)->data_encoding_ = arg2; +} + + +SWIGEXPORT int _wrap_MultimediaData_data_encoding__get(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData::EncodingType result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return 0); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (SpecUtils::MultimediaData::EncodingType) ((arg1)->data_encoding_); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_capture_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::time_point_t arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::MultimediaData::capture_start_time_", return ); + arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); + if (arg1) (arg1)->capture_start_time_ = arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_capture_start_time__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::time_point_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = ((arg1)->capture_start_time_); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_file_uri__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->file_uri_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_file_uri__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->file_uri_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_mime_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->mime_type_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_mime_type__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->mime_type_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MultimediaData() { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *result = 0 ; + + result = (SpecUtils::MultimediaData *)new SpecUtils::MultimediaData(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_MultimediaData(SwigClassWrapper *farg1) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +} // extern + diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 new file mode 100644 index 0000000..4c9baf4 --- /dev/null +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -0,0 +1,10673 @@ +! This file was automatically generated by SWIG (https://www.swig.org). +! Version 4.2.0 +! +! Do not make changes to this file unless you know what you are doing - modify +! the SWIG interface file instead. +module specutilswrap + use, intrinsic :: ISO_C_BINDING + implicit none + private + + ! DECLARATION CONSTRUCTS + + integer, parameter :: swig_cmem_own_bit = 0 + integer, parameter :: swig_cmem_rvalue_bit = 1 + type, bind(C) :: SwigClassWrapper + type(C_PTR), public :: cptr = C_NULL_PTR + integer(C_INT), public :: cmemflags = 0 + end type + ! class std::vector< int > + type, public :: IntVector + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_IntVector_size + procedure :: capacity => swigf_IntVector_capacity + procedure :: empty => swigf_IntVector_empty + procedure :: front => swigf_IntVector_front + procedure :: back => swigf_IntVector_back + procedure :: reserve => swigf_IntVector_reserve + procedure, private :: swigf_IntVector_resize__SWIG_0 + procedure, private :: swigf_IntVector_resize__SWIG_1 + procedure :: push_back => swigf_IntVector_push_back + procedure :: pop_back => swigf_IntVector_pop_back + procedure :: clear => swigf_IntVector_clear + procedure :: set => swigf_IntVector_set + procedure :: get => swigf_IntVector_get + procedure :: insert => swigf_IntVector_insert + procedure, private :: swigf_IntVector_erase__SWIG_0 + procedure, private :: swigf_IntVector_erase__SWIG_1 + procedure :: front_ref => swigf_IntVector_front_ref + procedure :: back_ref => swigf_IntVector_back_ref + procedure :: get_ref => swigf_IntVector_get_ref + procedure :: release => swigf_IntVector_release + procedure, private :: swigf_IntVector_op_assign__ + generic :: resize => swigf_IntVector_resize__SWIG_0, swigf_IntVector_resize__SWIG_1 + generic :: assignment(=) => swigf_IntVector_op_assign__ + generic :: erase => swigf_IntVector_erase__SWIG_0, swigf_IntVector_erase__SWIG_1 + end type IntVector + ! class std::vector< double > + type, public :: DoubleVector + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_DoubleVector_size + procedure :: capacity => swigf_DoubleVector_capacity + procedure :: empty => swigf_DoubleVector_empty + procedure :: front => swigf_DoubleVector_front + procedure :: back => swigf_DoubleVector_back + procedure :: reserve => swigf_DoubleVector_reserve + procedure, private :: swigf_DoubleVector_resize__SWIG_0 + procedure, private :: swigf_DoubleVector_resize__SWIG_1 + procedure :: push_back => swigf_DoubleVector_push_back + procedure :: pop_back => swigf_DoubleVector_pop_back + procedure :: clear => swigf_DoubleVector_clear + procedure :: set => swigf_DoubleVector_set + procedure :: get => swigf_DoubleVector_get + procedure :: insert => swigf_DoubleVector_insert + procedure, private :: swigf_DoubleVector_erase__SWIG_0 + procedure, private :: swigf_DoubleVector_erase__SWIG_1 + procedure :: front_ref => swigf_DoubleVector_front_ref + procedure :: back_ref => swigf_DoubleVector_back_ref + procedure :: get_ref => swigf_DoubleVector_get_ref + procedure :: release => swigf_DoubleVector_release + procedure, private :: swigf_DoubleVector_op_assign__ + generic :: resize => swigf_DoubleVector_resize__SWIG_0, swigf_DoubleVector_resize__SWIG_1 + generic :: assignment(=) => swigf_DoubleVector_op_assign__ + generic :: erase => swigf_DoubleVector_erase__SWIG_0, swigf_DoubleVector_erase__SWIG_1 + end type DoubleVector + ! class std::vector< float > + type, public :: FloatVector + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_FloatVector_size + procedure :: capacity => swigf_FloatVector_capacity + procedure :: empty => swigf_FloatVector_empty + procedure :: front => swigf_FloatVector_front + procedure :: back => swigf_FloatVector_back + procedure :: reserve => swigf_FloatVector_reserve + procedure, private :: swigf_FloatVector_resize__SWIG_0 + procedure, private :: swigf_FloatVector_resize__SWIG_1 + procedure :: push_back => swigf_FloatVector_push_back + procedure :: pop_back => swigf_FloatVector_pop_back + procedure :: clear => swigf_FloatVector_clear + procedure :: set => swigf_FloatVector_set + procedure :: get => swigf_FloatVector_get + procedure :: insert => swigf_FloatVector_insert + procedure, private :: swigf_FloatVector_erase__SWIG_0 + procedure, private :: swigf_FloatVector_erase__SWIG_1 + procedure :: front_ref => swigf_FloatVector_front_ref + procedure :: back_ref => swigf_FloatVector_back_ref + procedure :: get_ref => swigf_FloatVector_get_ref + procedure :: release => swigf_FloatVector_release + procedure, private :: swigf_FloatVector_op_assign__ + generic :: resize => swigf_FloatVector_resize__SWIG_0, swigf_FloatVector_resize__SWIG_1 + generic :: assignment(=) => swigf_FloatVector_op_assign__ + generic :: erase => swigf_FloatVector_erase__SWIG_0, swigf_FloatVector_erase__SWIG_1 + end type FloatVector + ! class std::vector< SpecUtils::Measurement > + type, public :: MeasurementVector + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_MeasurementVector_size + procedure :: capacity => swigf_MeasurementVector_capacity + procedure :: empty => swigf_MeasurementVector_empty + procedure :: front => swigf_MeasurementVector_front + procedure :: back => swigf_MeasurementVector_back + procedure :: reserve => swigf_MeasurementVector_reserve + procedure, private :: swigf_MeasurementVector_resize__SWIG_0 + procedure, private :: swigf_MeasurementVector_resize__SWIG_1 + procedure :: push_back => swigf_MeasurementVector_push_back + procedure :: pop_back => swigf_MeasurementVector_pop_back + procedure :: clear => swigf_MeasurementVector_clear + procedure :: set => swigf_MeasurementVector_set + procedure :: get => swigf_MeasurementVector_get + procedure :: insert => swigf_MeasurementVector_insert + procedure, private :: swigf_MeasurementVector_erase__SWIG_0 + procedure, private :: swigf_MeasurementVector_erase__SWIG_1 + procedure :: front_ref => swigf_MeasurementVector_front_ref + procedure :: back_ref => swigf_MeasurementVector_back_ref + procedure :: get_ref => swigf_MeasurementVector_get_ref + procedure :: release => swigf_MeasurementVector_release + procedure, private :: swigf_MeasurementVector_op_assign__ + generic :: resize => swigf_MeasurementVector_resize__SWIG_0, swigf_MeasurementVector_resize__SWIG_1 + generic :: assignment(=) => swigf_MeasurementVector_op_assign__ + generic :: erase => swigf_MeasurementVector_erase__SWIG_0, swigf_MeasurementVector_erase__SWIG_1 + end type MeasurementVector + ! enum class SpecUtils::ParserType + enum, bind(c) + enumerator :: ParserType_N42_2006 + enumerator :: ParserType_N42_2012 + enumerator :: ParserType_Spc + enumerator :: ParserType_Exploranium + enumerator :: ParserType_Pcf + enumerator :: ParserType_Chn + enumerator :: ParserType_SpeIaea + enumerator :: ParserType_TxtOrCsv + enumerator :: ParserType_Cnf + enumerator :: ParserType_TracsMps + enumerator :: ParserType_Aram + enumerator :: ParserType_SPMDailyFile + enumerator :: ParserType_AmptekMca + enumerator :: ParserType_MicroRaider + enumerator :: ParserType_RadiaCode + enumerator :: ParserType_OrtecListMode + enumerator :: ParserType_LsrmSpe + enumerator :: ParserType_Tka + enumerator :: ParserType_MultiAct + enumerator :: ParserType_Phd + enumerator :: ParserType_Lzs + enumerator :: ParserType_ScanDataXml + enumerator :: ParserType_Json + enumerator :: ParserType_CaenHexagonGXml + enumerator :: ParserType_Auto + end enum + integer, parameter, public :: ParserType = kind(ParserType_N42_2006) + public :: ParserType_N42_2006, ParserType_N42_2012, ParserType_Spc, ParserType_Exploranium, ParserType_Pcf, ParserType_Chn, & + ParserType_SpeIaea, ParserType_TxtOrCsv, ParserType_Cnf, ParserType_TracsMps, ParserType_Aram, ParserType_SPMDailyFile, & + ParserType_AmptekMca, ParserType_MicroRaider, ParserType_RadiaCode, ParserType_OrtecListMode, ParserType_LsrmSpe, & + ParserType_Tka, ParserType_MultiAct, ParserType_Phd, ParserType_Lzs, ParserType_ScanDataXml, ParserType_Json, & + ParserType_CaenHexagonGXml, ParserType_Auto + ! enum class SpecUtils::SaveSpectrumAsType + enum, bind(c) + enumerator :: SaveSpectrumAsType_Txt + enumerator :: SaveSpectrumAsType_Csv + enumerator :: SaveSpectrumAsType_Pcf + enumerator :: SaveSpectrumAsType_N42_2006 + enumerator :: SaveSpectrumAsType_N42_2012 + enumerator :: SaveSpectrumAsType_Chn + enumerator :: SaveSpectrumAsType_SpcBinaryInt + enumerator :: SaveSpectrumAsType_SpcBinaryFloat + enumerator :: SaveSpectrumAsType_SpcAscii + enumerator :: SaveSpectrumAsType_ExploraniumGr130v0 + enumerator :: SaveSpectrumAsType_ExploraniumGr135v2 + enumerator :: SaveSpectrumAsType_SpeIaea + enumerator :: SaveSpectrumAsType_Cnf + enumerator :: SaveSpectrumAsType_Tka + enumerator :: SaveSpectrumAsType_NumTypes + end enum + integer, parameter, public :: SaveSpectrumAsType = kind(SaveSpectrumAsType_Txt) + public :: SaveSpectrumAsType_Txt, SaveSpectrumAsType_Csv, SaveSpectrumAsType_Pcf, SaveSpectrumAsType_N42_2006, & + SaveSpectrumAsType_N42_2012, SaveSpectrumAsType_Chn, SaveSpectrumAsType_SpcBinaryInt, SaveSpectrumAsType_SpcBinaryFloat, & + SaveSpectrumAsType_SpcAscii, SaveSpectrumAsType_ExploraniumGr130v0, SaveSpectrumAsType_ExploraniumGr135v2, & + SaveSpectrumAsType_SpeIaea, SaveSpectrumAsType_Cnf, SaveSpectrumAsType_Tka, SaveSpectrumAsType_NumTypes + ! enum class SpecUtils::DetectorType + enum, bind(c) + enumerator :: DetectorType_Exploranium + enumerator :: DetectorType_IdentiFinder + enumerator :: DetectorType_IdentiFinderNG + enumerator :: DetectorType_IdentiFinderLaBr3 + enumerator :: DetectorType_IdentiFinderTungsten + enumerator :: DetectorType_IdentiFinderR425NaI + enumerator :: DetectorType_IdentiFinderR425LaBr + enumerator :: DetectorType_IdentiFinderR500NaI + enumerator :: DetectorType_IdentiFinderR500LaBr + enumerator :: DetectorType_IdentiFinderUnknown + enumerator :: DetectorType_DetectiveUnknown + enumerator :: DetectorType_DetectiveEx + enumerator :: DetectorType_DetectiveEx100 + enumerator :: DetectorType_DetectiveEx200 + enumerator :: DetectorType_DetectiveX + enumerator :: DetectorType_SAIC8 + enumerator :: DetectorType_Falcon5000 + enumerator :: DetectorType_MicroDetective + enumerator :: DetectorType_MicroRaider + enumerator :: DetectorType_RadiaCode + enumerator :: DetectorType_Interceptor + enumerator :: DetectorType_RadHunterNaI + enumerator :: DetectorType_RadHunterLaBr3 + enumerator :: DetectorType_Rsi701 + enumerator :: DetectorType_Rsi705 + enumerator :: DetectorType_AvidRsi + enumerator :: DetectorType_OrtecRadEagleNai + enumerator :: DetectorType_OrtecRadEagleCeBr2Inch + enumerator :: DetectorType_OrtecRadEagleCeBr3Inch + enumerator :: DetectorType_OrtecRadEagleLaBr + enumerator :: DetectorType_Sam940LaBr3 + enumerator :: DetectorType_Sam940 + enumerator :: DetectorType_Sam945 + enumerator :: DetectorType_Srpm210 + enumerator :: DetectorType_RIIDEyeNaI + enumerator :: DetectorType_RIIDEyeLaBr + enumerator :: DetectorType_RadSeekerNaI + enumerator :: DetectorType_RadSeekerLaBr + enumerator :: DetectorType_VerifinderNaI + enumerator :: DetectorType_VerifinderLaBr + enumerator :: DetectorType_KromekD3S + enumerator :: DetectorType_Fulcrum + enumerator :: DetectorType_Fulcrum40h + enumerator :: DetectorType_Sam950 + enumerator :: DetectorType_Unknown + end enum + integer, parameter, public :: DetectorType = kind(DetectorType_Exploranium) + public :: DetectorType_Exploranium, DetectorType_IdentiFinder, DetectorType_IdentiFinderNG, DetectorType_IdentiFinderLaBr3, & + DetectorType_IdentiFinderTungsten, DetectorType_IdentiFinderR425NaI, DetectorType_IdentiFinderR425LaBr, & + DetectorType_IdentiFinderR500NaI, DetectorType_IdentiFinderR500LaBr, DetectorType_IdentiFinderUnknown, & + DetectorType_DetectiveUnknown, DetectorType_DetectiveEx, DetectorType_DetectiveEx100, DetectorType_DetectiveEx200, & + DetectorType_DetectiveX, DetectorType_SAIC8, DetectorType_Falcon5000, DetectorType_MicroDetective, DetectorType_MicroRaider, & + DetectorType_RadiaCode, DetectorType_Interceptor, DetectorType_RadHunterNaI, DetectorType_RadHunterLaBr3, & + DetectorType_Rsi701, DetectorType_Rsi705, DetectorType_AvidRsi, DetectorType_OrtecRadEagleNai, & + DetectorType_OrtecRadEagleCeBr2Inch, DetectorType_OrtecRadEagleCeBr3Inch, DetectorType_OrtecRadEagleLaBr, & + DetectorType_Sam940LaBr3, DetectorType_Sam940, DetectorType_Sam945, DetectorType_Srpm210, DetectorType_RIIDEyeNaI, & + DetectorType_RIIDEyeLaBr, DetectorType_RadSeekerNaI, DetectorType_RadSeekerLaBr, DetectorType_VerifinderNaI, & + DetectorType_VerifinderLaBr, DetectorType_KromekD3S, DetectorType_Fulcrum, DetectorType_Fulcrum40h, DetectorType_Sam950, & + DetectorType_Unknown + ! enum class SpecUtils::OccupancyStatus + enum, bind(c) + enumerator :: OccupancyStatus_NotOccupied + enumerator :: OccupancyStatus_Occupied + enumerator :: OccupancyStatus_Unknown + end enum + integer, parameter, public :: OccupancyStatus = kind(OccupancyStatus_NotOccupied) + public :: OccupancyStatus_NotOccupied, OccupancyStatus_Occupied, OccupancyStatus_Unknown + ! enum class SpecUtils::SourceType + enum, bind(c) + enumerator :: SourceType_IntrinsicActivity + enumerator :: SourceType_Calibration + enumerator :: SourceType_Background + enumerator :: SourceType_Foreground + enumerator :: SourceType_Unknown + end enum + integer, parameter, public :: SourceType = kind(SourceType_IntrinsicActivity) + public :: SourceType_IntrinsicActivity, SourceType_Calibration, SourceType_Background, SourceType_Foreground, & + SourceType_Unknown + ! enum class SpecUtils::QualityStatus + enum, bind(c) + enumerator :: QualityStatus_Good + enumerator :: QualityStatus_Suspect + enumerator :: QualityStatus_Bad + enumerator :: QualityStatus_Missing + end enum + integer, parameter, public :: QualityStatus = kind(QualityStatus_Good) + public :: QualityStatus_Good, QualityStatus_Suspect, QualityStatus_Bad, QualityStatus_Missing + ! enum class SpecUtils::SpectrumType + enum, bind(c) + enumerator :: SpectrumType_Foreground + enumerator :: SpectrumType_SecondForeground + enumerator :: SpectrumType_Background + end enum + integer, parameter, public :: SpectrumType = kind(SpectrumType_Foreground) + public :: SpectrumType_Foreground, SpectrumType_SecondForeground, SpectrumType_Background + type, bind(C) :: SwigArrayWrapper + type(C_PTR), public :: data = C_NULL_PTR + integer(C_SIZE_T), public :: size = 0 + end type + public :: spectrumTypeFromDescription + public :: suggestedNameEnding + public :: convert_n42_utf16_xml_to_utf8 + type, public :: SWIGTYPE_p_std__mutex + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_rapidxml__xml_nodeT_char_t + type(SwigClassWrapper), public :: swigdata + end type + public :: add_analysis_results_to_2012_N42 + public :: set_analysis_info_from_n42 + public :: gamma_integral + public :: detectorTypeToString + type, public :: SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__string_t + type(SwigClassWrapper), public :: swigdata + end type +integer, parameter, public :: SWIGTYPE_SpecUtils__EnergyCalType = C_INT + type, public :: SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t + type(SwigClassWrapper), public :: swigdata + end type + ! enum class SpecUtils::Measurement::DerivedDataProperties + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_IsDerived") :: Measurement_DerivedDataProperties_IsDerived + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_ItemOfInterestSum") :: Measurement_DerivedDataProperties_ItemOfInterestSum + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_UsedForAnalysis") :: Measurement_DerivedDataProperties_UsedForAnalysis + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_ProcessedFurther") :: Measurement_DerivedDataProperties_ProcessedFurther + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_BackgroundSubtracted") :: Measurement_DerivedDataProperties_BackgroundSubtracted + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_IsBackground") :: Measurement_DerivedDataProperties_IsBackground + integer, parameter, public :: Measurement_DerivedDataProperties = C_INT + type, public :: SWIGTYPE_p_uint32_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__ostream + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t + type(SwigClassWrapper), public :: swigdata + end type + ! class SpecUtils::Measurement + type, public :: Measurement + type(SwigClassWrapper), public :: swigdata + contains + procedure :: memmorysize => swigf_Measurement_memmorysize + procedure :: live_time => swigf_Measurement_live_time + procedure :: real_time => swigf_Measurement_real_time + procedure :: contained_neutron => swigf_Measurement_contained_neutron + procedure :: sample_number => swigf_Measurement_sample_number + procedure :: title => swigf_Measurement_title + procedure :: occupied => swigf_Measurement_occupied + procedure :: gamma_count_sum => swigf_Measurement_gamma_count_sum + procedure :: neutron_live_time => swigf_Measurement_neutron_live_time + procedure :: neutron_counts_sum => swigf_Measurement_neutron_counts_sum + procedure :: speed => swigf_Measurement_speed + procedure :: dx => swigf_Measurement_dx + procedure :: dy => swigf_Measurement_dy + procedure :: latitude => swigf_Measurement_latitude + procedure :: longitude => swigf_Measurement_longitude + procedure :: has_gps_info => swigf_Measurement_has_gps_info + procedure :: dose_rate => swigf_Measurement_dose_rate + procedure :: exposure_rate => swigf_Measurement_exposure_rate + procedure :: position_time => swigf_Measurement_position_time + procedure :: detector_name => swigf_Measurement_detector_name + procedure :: detector_number => swigf_Measurement_detector_number + procedure :: detector_type => swigf_Measurement_detector_type + procedure :: quality_status => swigf_Measurement_quality_status + procedure :: source_type => swigf_Measurement_source_type + procedure :: remarks => swigf_Measurement_remarks + procedure :: parse_warnings => swigf_Measurement_parse_warnings + procedure :: start_time => swigf_Measurement_start_time + procedure :: start_time_copy => swigf_Measurement_start_time_copy + procedure :: energy_calibration_model => swigf_Measurement_energy_calibration_model + procedure :: calibration_coeffs => swigf_Measurement_calibration_coeffs + procedure :: deviation_pairs => swigf_Measurement_deviation_pairs + procedure :: energy_calibration => swigf_Measurement_energy_calibration + procedure :: channel_energies => swigf_Measurement_channel_energies + procedure :: gamma_counts => swigf_Measurement_gamma_counts + procedure :: neutron_counts => swigf_Measurement_neutron_counts + procedure :: location_state => swigf_Measurement_location_state + procedure :: set_title => swigf_Measurement_set_title + procedure :: set_start_time => swigf_Measurement_set_start_time + procedure :: set_remarks => swigf_Measurement_set_remarks + procedure :: set_parse_warnings => swigf_Measurement_set_parse_warnings + procedure :: set_source_type => swigf_Measurement_set_source_type + procedure :: set_position => swigf_Measurement_set_position + procedure :: set_sample_number => swigf_Measurement_set_sample_number + procedure :: set_occupancy_status => swigf_Measurement_set_occupancy_status + procedure :: set_detector_name => swigf_Measurement_set_detector_name + procedure :: set_detector_number => swigf_Measurement_set_detector_number + procedure :: set_gamma_counts => swigf_Measurement_set_gamma_counts + procedure :: set_neutron_counts => swigf_Measurement_set_neutron_counts + procedure :: num_gamma_channels => swigf_Measurement_num_gamma_channels + procedure :: find_gamma_channel => swigf_Measurement_find_gamma_channel + procedure :: gamma_channel_content => swigf_Measurement_gamma_channel_content + procedure :: gamma_channel_lower => swigf_Measurement_gamma_channel_lower + procedure :: gamma_channel_center => swigf_Measurement_gamma_channel_center + procedure :: gamma_channel_upper => swigf_Measurement_gamma_channel_upper + procedure :: gamma_channel_width => swigf_Measurement_gamma_channel_width + procedure :: gamma_integral => swigf_Measurement_gamma_integral + procedure :: gamma_channels_sum => swigf_Measurement_gamma_channels_sum + procedure :: gamma_channel_energies => swigf_Measurement_gamma_channel_energies + procedure :: gamma_channel_contents => swigf_Measurement_gamma_channel_contents + procedure :: gamma_energy_min => swigf_Measurement_gamma_energy_min + procedure :: gamma_energy_max => swigf_Measurement_gamma_energy_max + procedure :: derived_data_properties => swigf_Measurement_derived_data_properties + procedure :: write_2006_N42_xml => swigf_Measurement_write_2006_N42_xml + procedure :: write_csv => swigf_Measurement_write_csv + procedure :: write_txt => swigf_Measurement_write_txt + procedure :: reset => swigf_Measurement_reset + procedure :: rebin => swigf_Measurement_rebin + procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node + procedure :: release => swigf_Measurement_release + procedure, private :: swigf_Measurement_op_assign__ + generic :: assignment(=) => swigf_Measurement_op_assign__ + end type Measurement + type, public :: SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2 + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7 + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ + type(SwigClassWrapper), public :: swigdata + end type + ! enum class SpecUtils::SpecFile::DerivedVariantToKeep + enum, bind(c) + enumerator :: SpecFile_DerivedVariantToKeep_NonDerived + enumerator :: SpecFile_DerivedVariantToKeep_Derived + end enum + integer, parameter, public :: SpecFile_DerivedVariantToKeep = kind(SpecFile_DerivedVariantToKeep_NonDerived) + public :: SpecFile_DerivedVariantToKeep_NonDerived, SpecFile_DerivedVariantToKeep_Derived + type, public :: SWIGTYPE_p_std__istream + type(SwigClassWrapper), public :: swigdata + end type + ! enum SpecUtils::SpecFile::CleanupAfterLoadFlags + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_RebinToCommonBinning") :: SpecFile_RebinToCommonBinning + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_DontChangeOrReorderSamples") :: SpecFile_DontChangeOrReorderSamples + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_ReorderSamplesByTime") :: SpecFile_ReorderSamplesByTime + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_StandardCleanup") :: SpecFile_StandardCleanup + integer, parameter, public :: SpecFile_CleanupAfterLoadFlags = C_INT + ! enum SpecUtils::SpecFile::SpcBinaryType + enum, bind(c) + enumerator :: SpecFile_IntegerSpcType + enumerator :: SpecFile_FloatSpcType + end enum + integer, parameter, public :: SpecFile_SpcBinaryType = kind(SpecFile_IntegerSpcType) + public :: SpecFile_IntegerSpcType, SpecFile_FloatSpcType + public :: get_SpecFile_2012N42_VERSION + type, public :: SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__recursive_mutex + type(SwigClassWrapper), public :: swigdata + end type + ! class SpecUtils::SpecFile + type, public :: SpecFile + type(SwigClassWrapper), public :: swigdata + contains + procedure :: release => swigf_SpecFile_release + procedure, private :: swigf_SpecFile_load_file__SWIG_0 + procedure, private :: swigf_SpecFile_load_file__SWIG_1 + procedure :: parse_warnings => swigf_SpecFile_parse_warnings + procedure :: modified => swigf_SpecFile_modified + procedure :: reset_modified => swigf_SpecFile_reset_modified + procedure :: modified_since_decode => swigf_SpecFile_modified_since_decode + procedure :: reset_modified_since_decode => swigf_SpecFile_reset_modified_since_decode + procedure :: gamma_live_time => swigf_SpecFile_gamma_live_time + procedure :: gamma_real_time => swigf_SpecFile_gamma_real_time + procedure :: gamma_count_sum => swigf_SpecFile_gamma_count_sum + procedure :: neutron_counts_sum => swigf_SpecFile_neutron_counts_sum + procedure :: filename => swigf_SpecFile_filename + procedure :: detector_names => swigf_SpecFile_detector_names + procedure :: detector_numbers => swigf_SpecFile_detector_numbers + procedure :: gamma_detector_names => swigf_SpecFile_gamma_detector_names + procedure :: neutron_detector_names => swigf_SpecFile_neutron_detector_names + procedure :: uuid => swigf_SpecFile_uuid + procedure :: remarks => swigf_SpecFile_remarks + procedure :: lane_number => swigf_SpecFile_lane_number + procedure :: measurement_location_name => swigf_SpecFile_measurement_location_name + procedure :: inspection => swigf_SpecFile_inspection + procedure :: measurement_operator => swigf_SpecFile_measurement_operator + procedure :: sample_numbers => swigf_SpecFile_sample_numbers + procedure :: num_measurements => swigf_SpecFile_num_measurements + procedure :: detector_type => swigf_SpecFile_detector_type + procedure :: instrument_type => swigf_SpecFile_instrument_type + procedure :: manufacturer => swigf_SpecFile_manufacturer + procedure :: instrument_model => swigf_SpecFile_instrument_model + procedure :: instrument_id => swigf_SpecFile_instrument_id + procedure :: measurements => swigf_SpecFile_measurements + procedure, private :: swigf_SpecFile_measurement__SWIG_0 + procedure :: detectors_analysis => swigf_SpecFile_detectors_analysis + procedure :: multimedia_data => swigf_SpecFile_multimedia_data + procedure :: has_gps_info => swigf_SpecFile_has_gps_info + procedure :: mean_latitude => swigf_SpecFile_mean_latitude + procedure :: mean_longitude => swigf_SpecFile_mean_longitude + procedure :: passthrough => swigf_SpecFile_passthrough + procedure :: contains_derived_data => swigf_SpecFile_contains_derived_data + procedure :: contains_non_derived_data => swigf_SpecFile_contains_non_derived_data + procedure :: set_filename => swigf_SpecFile_set_filename + procedure, private :: swigf_SpecFile_set_remarks__SWIG_0 + procedure :: add_remark => swigf_SpecFile_add_remark + procedure :: set_parse_warnings => swigf_SpecFile_set_parse_warnings + procedure :: set_uuid => swigf_SpecFile_set_uuid + procedure :: set_lane_number => swigf_SpecFile_set_lane_number + procedure :: set_measurement_location_name => swigf_SpecFile_set_measurement_location_name + procedure :: set_inspection => swigf_SpecFile_set_inspection + procedure :: set_instrument_type => swigf_SpecFile_set_instrument_type + procedure :: set_detector_type => swigf_SpecFile_set_detector_type + procedure :: set_manufacturer => swigf_SpecFile_set_manufacturer + procedure :: set_instrument_model => swigf_SpecFile_set_instrument_model + procedure :: set_instrument_id => swigf_SpecFile_set_instrument_id + procedure :: set_live_time => swigf_SpecFile_set_live_time + procedure :: set_real_time => swigf_SpecFile_set_real_time + procedure :: set_start_time => swigf_SpecFile_set_start_time + procedure, private :: swigf_SpecFile_set_remarks__SWIG_1 + procedure :: set_source_type => swigf_SpecFile_set_source_type + procedure :: set_position => swigf_SpecFile_set_position + procedure :: set_title => swigf_SpecFile_set_title + procedure :: set_contained_neutrons => swigf_SpecFile_set_contained_neutrons + procedure :: set_detectors_analysis => swigf_SpecFile_set_detectors_analysis + procedure :: change_detector_name => swigf_SpecFile_change_detector_name + procedure :: change_sample_numbers => swigf_SpecFile_change_sample_numbers + procedure :: add_measurement => swigf_SpecFile_add_measurement + procedure :: remove_measurement => swigf_SpecFile_remove_measurement + procedure :: remove_measurements => swigf_SpecFile_remove_measurements + procedure :: clear_multimedia_data => swigf_SpecFile_clear_multimedia_data + procedure :: add_multimedia_data => swigf_SpecFile_add_multimedia_data + procedure :: set_multimedia_data => swigf_SpecFile_set_multimedia_data + procedure :: occupancy_number_from_remarks => swigf_SpecFile_occupancy_number_from_remarks + procedure :: sample_measurements => swigf_SpecFile_sample_measurements + procedure, private :: swigf_SpecFile_measurement__SWIG_1 + procedure, private :: swigf_SpecFile_measurement__SWIG_2 + procedure :: suggested_sum_energy_calibration => swigf_SpecFile_suggested_sum_energy_calibration + procedure :: sum_measurements => swigf_SpecFile_sum_measurements + procedure :: memmorysize => swigf_SpecFile_memmorysize + procedure :: gamma_channel_counts => swigf_SpecFile_gamma_channel_counts + procedure :: num_gamma_channels => swigf_SpecFile_num_gamma_channels + procedure :: keep_n_bin_spectra_only => swigf_SpecFile_keep_n_bin_spectra_only + procedure :: contained_neutron => swigf_SpecFile_contained_neutron + procedure :: energy_cal_variants => swigf_SpecFile_energy_cal_variants + procedure :: keep_energy_cal_variants => swigf_SpecFile_keep_energy_cal_variants + procedure :: keep_derived_data_variant => swigf_SpecFile_keep_derived_data_variant + procedure :: remove_detectors_data => swigf_SpecFile_remove_detectors_data + procedure :: remove_neutron_measurements => swigf_SpecFile_remove_neutron_measurements + procedure :: background_sample_number => swigf_SpecFile_background_sample_number + procedure :: generate_psuedo_uuid => swigf_SpecFile_generate_psuedo_uuid + procedure :: reset => swigf_SpecFile_reset + procedure :: load_N42_file => swigf_SpecFile_load_N42_file + procedure :: load_pcf_file => swigf_SpecFile_load_pcf_file + procedure :: load_spc_file => swigf_SpecFile_load_spc_file + procedure :: load_chn_file => swigf_SpecFile_load_chn_file + procedure :: load_iaea_file => swigf_SpecFile_load_iaea_file + procedure :: load_binary_exploranium_file => swigf_SpecFile_load_binary_exploranium_file + procedure :: load_micro_raider_file => swigf_SpecFile_load_micro_raider_file + procedure :: load_txt_or_csv_file => swigf_SpecFile_load_txt_or_csv_file + procedure :: load_cnf_file => swigf_SpecFile_load_cnf_file + procedure :: load_tracs_mps_file => swigf_SpecFile_load_tracs_mps_file + procedure :: load_aram_file => swigf_SpecFile_load_aram_file + procedure :: load_spectroscopic_daily_file => swigf_SpecFile_load_spectroscopic_daily_file + procedure :: load_amptek_file => swigf_SpecFile_load_amptek_file + procedure :: load_ortec_listmode_file => swigf_SpecFile_load_ortec_listmode_file + procedure :: load_lsrm_spe_file => swigf_SpecFile_load_lsrm_spe_file + procedure :: load_tka_file => swigf_SpecFile_load_tka_file + procedure :: load_multiact_file => swigf_SpecFile_load_multiact_file + procedure :: load_phd_file => swigf_SpecFile_load_phd_file + procedure :: load_lzs_file => swigf_SpecFile_load_lzs_file + procedure :: load_radiacode_file => swigf_SpecFile_load_radiacode_file + procedure :: load_xml_scan_data_file => swigf_SpecFile_load_xml_scan_data_file + procedure :: load_json_file => swigf_SpecFile_load_json_file + procedure :: load_caen_gxml_file => swigf_SpecFile_load_caen_gxml_file + procedure :: load_from_N42 => swigf_SpecFile_load_from_N42 + procedure, private :: swigf_SpecFile_load_N42_from_data__SWIG_0 + procedure, private :: swigf_SpecFile_load_N42_from_data__SWIG_1 + procedure :: load_from_iaea_spc => swigf_SpecFile_load_from_iaea_spc + procedure :: load_from_binary_spc => swigf_SpecFile_load_from_binary_spc + procedure :: load_from_N42_document => swigf_SpecFile_load_from_N42_document + procedure :: load_from_micro_raider_from_data => swigf_SpecFile_load_from_micro_raider_from_data + procedure :: load_from_binary_exploranium => swigf_SpecFile_load_from_binary_exploranium + procedure :: load_from_pcf => swigf_SpecFile_load_from_pcf + procedure :: load_from_txt_or_csv => swigf_SpecFile_load_from_txt_or_csv + procedure :: load_from_Gr135_txt => swigf_SpecFile_load_from_Gr135_txt + procedure :: load_from_spectroscopic_daily_file => swigf_SpecFile_load_from_spectroscopic_daily_file + procedure :: load_from_srpm210_csv => swigf_SpecFile_load_from_srpm210_csv + procedure :: load_from_D3S_raw => swigf_SpecFile_load_from_D3S_raw + procedure :: load_from_amptek_mca => swigf_SpecFile_load_from_amptek_mca + procedure :: load_from_ortec_listmode => swigf_SpecFile_load_from_ortec_listmode + procedure :: load_from_lsrm_spe => swigf_SpecFile_load_from_lsrm_spe + procedure :: load_from_tka => swigf_SpecFile_load_from_tka + procedure :: load_from_multiact => swigf_SpecFile_load_from_multiact + procedure :: load_from_phd => swigf_SpecFile_load_from_phd + procedure :: load_from_lzs => swigf_SpecFile_load_from_lzs + procedure :: load_from_radiacode => swigf_SpecFile_load_from_radiacode + procedure :: load_from_radiacode_spectrogram => swigf_SpecFile_load_from_radiacode_spectrogram + procedure :: load_from_xml_scan_data => swigf_SpecFile_load_from_xml_scan_data + procedure :: load_from_iaea => swigf_SpecFile_load_from_iaea + procedure :: load_from_chn => swigf_SpecFile_load_from_chn + procedure :: load_from_cnf => swigf_SpecFile_load_from_cnf + procedure :: load_from_tracs_mps => swigf_SpecFile_load_from_tracs_mps + procedure :: load_from_aram => swigf_SpecFile_load_from_aram + procedure :: load_from_json => swigf_SpecFile_load_from_json + procedure :: load_from_caen_gxml => swigf_SpecFile_load_from_caen_gxml + procedure, private :: swigf_SpecFile_cleanup_after_load__SWIG_0 + procedure, private :: swigf_SpecFile_cleanup_after_load__SWIG_1 + procedure :: recalc_total_counts => swigf_SpecFile_recalc_total_counts + procedure :: merge_neutron_meas_into_gamma_meas => swigf_SpecFile_merge_neutron_meas_into_gamma_meas + procedure :: rebin_measurement => swigf_SpecFile_rebin_measurement + procedure :: rebin_all_measurements => swigf_SpecFile_rebin_all_measurements + procedure :: set_energy_calibration_from_CALp_file => swigf_SpecFile_set_energy_calibration_from_CALp_file + procedure :: detector_names_to_numbers => swigf_SpecFile_detector_names_to_numbers + procedure, private :: swigf_SpecFile_write_to_file__SWIG_0 + procedure, private :: swigf_SpecFile_write_to_file__SWIG_1 + procedure, private :: swigf_SpecFile_write_to_file__SWIG_2 + procedure, private :: swigf_SpecFile_write_to_file__SWIG_3 + procedure, private :: swigf_SpecFile_write__SWIG_0 + procedure, private :: swigf_SpecFile_write__SWIG_1 + procedure :: write_pcf => swigf_SpecFile_write_pcf + procedure :: write_2006_N42 => swigf_SpecFile_write_2006_N42 + procedure :: write_csv => swigf_SpecFile_write_csv + procedure :: write_txt => swigf_SpecFile_write_txt + procedure, private :: swigf_SpecFile_write_integer_chn__SWIG_0 + procedure, private :: swigf_SpecFile_write_integer_chn__SWIG_1 + procedure :: write_binary_spc => swigf_SpecFile_write_binary_spc + procedure :: write_ascii_spc => swigf_SpecFile_write_ascii_spc + procedure :: write_binary_exploranium_gr130v0 => swigf_SpecFile_write_binary_exploranium_gr130v0 + procedure :: write_binary_exploranium_gr135v2 => swigf_SpecFile_write_binary_exploranium_gr135v2 + procedure :: write_iaea_spe => swigf_SpecFile_write_iaea_spe + procedure :: write_cnf => swigf_SpecFile_write_cnf + procedure :: write_tka => swigf_SpecFile_write_tka + procedure :: create_2012_N42_xml => swigf_SpecFile_create_2012_N42_xml + procedure :: write_2012_N42 => swigf_SpecFile_write_2012_N42 + procedure :: mutex => swigf_SpecFile_mutex + procedure :: measurementAt => swigf_SpecFile_measurementAt + procedure, private :: swigf_SpecFile_op_assign__ + generic :: measurement => swigf_SpecFile_measurement__SWIG_0, swigf_SpecFile_measurement__SWIG_1, & + swigf_SpecFile_measurement__SWIG_2 + generic :: write => swigf_SpecFile_write__SWIG_0, swigf_SpecFile_write__SWIG_1 + generic :: write_integer_chn => swigf_SpecFile_write_integer_chn__SWIG_0, swigf_SpecFile_write_integer_chn__SWIG_1 + generic :: cleanup_after_load => swigf_SpecFile_cleanup_after_load__SWIG_0, swigf_SpecFile_cleanup_after_load__SWIG_1 + generic :: assignment(=) => swigf_SpecFile_op_assign__ + generic :: set_remarks => swigf_SpecFile_set_remarks__SWIG_0, swigf_SpecFile_set_remarks__SWIG_1 + generic :: load_N42_from_data => swigf_SpecFile_load_N42_from_data__SWIG_0, swigf_SpecFile_load_N42_from_data__SWIG_1 + generic :: load_file => swigf_SpecFile_load_file__SWIG_0, swigf_SpecFile_load_file__SWIG_1 + generic :: write_to_file => swigf_SpecFile_write_to_file__SWIG_0, swigf_SpecFile_write_to_file__SWIG_1, & + swigf_SpecFile_write_to_file__SWIG_2, swigf_SpecFile_write_to_file__SWIG_3 + end type SpecFile + ! class SpecUtils::DetectorAnalysisResult + type, public :: DetectorAnalysisResult + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_remark_ => swigf_DetectorAnalysisResult_remark__set + procedure :: get_remark_ => swigf_DetectorAnalysisResult_remark__get + procedure :: set_nuclide_ => swigf_DetectorAnalysisResult_nuclide__set + procedure :: get_nuclide_ => swigf_DetectorAnalysisResult_nuclide__get + procedure :: set_activity_ => swigf_DetectorAnalysisResult_activity__set + procedure :: get_activity_ => swigf_DetectorAnalysisResult_activity__get + procedure :: set_nuclide_type_ => swigf_DetectorAnalysisResult_nuclide_type__set + procedure :: get_nuclide_type_ => swigf_DetectorAnalysisResult_nuclide_type__get + procedure :: set_id_confidence_ => swigf_DetectorAnalysisResult_id_confidence__set + procedure :: get_id_confidence_ => swigf_DetectorAnalysisResult_id_confidence__get + procedure :: set_distance_ => swigf_DetectorAnalysisResult_distance__set + procedure :: get_distance_ => swigf_DetectorAnalysisResult_distance__get + procedure :: set_dose_rate_ => swigf_DetectorAnalysisResult_dose_rate__set + procedure :: get_dose_rate_ => swigf_DetectorAnalysisResult_dose_rate__get + procedure :: set_real_time_ => swigf_DetectorAnalysisResult_real_time__set + procedure :: get_real_time_ => swigf_DetectorAnalysisResult_real_time__get + procedure :: set_detector_ => swigf_DetectorAnalysisResult_detector__set + procedure :: get_detector_ => swigf_DetectorAnalysisResult_detector__get + procedure :: reset => swigf_DetectorAnalysisResult_reset + procedure :: isEmpty => swigf_DetectorAnalysisResult_isEmpty + procedure :: release => swigf_DetectorAnalysisResult_release + procedure, private :: swigf_DetectorAnalysisResult_op_assign__ + generic :: assignment(=) => swigf_DetectorAnalysisResult_op_assign__ + end type DetectorAnalysisResult + type, public :: SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t + type(SwigClassWrapper), public :: swigdata + end type + ! class SpecUtils::DetectorAnalysis + type, public :: DetectorAnalysis + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_remarks_ => swigf_DetectorAnalysis_remarks__set + procedure :: get_remarks_ => swigf_DetectorAnalysis_remarks__get + procedure :: set_algorithm_name_ => swigf_DetectorAnalysis_algorithm_name__set + procedure :: get_algorithm_name_ => swigf_DetectorAnalysis_algorithm_name__get + procedure :: set_algorithm_component_versions_ => swigf_DetectorAnalysis_algorithm_component_versions__set + procedure :: get_algorithm_component_versions_ => swigf_DetectorAnalysis_algorithm_component_versions__get + procedure :: set_algorithm_creator_ => swigf_DetectorAnalysis_algorithm_creator__set + procedure :: get_algorithm_creator_ => swigf_DetectorAnalysis_algorithm_creator__get + procedure :: set_algorithm_description_ => swigf_DetectorAnalysis_algorithm_description__set + procedure :: get_algorithm_description_ => swigf_DetectorAnalysis_algorithm_description__get + procedure :: set_analysis_start_time_ => swigf_DetectorAnalysis_analysis_start_time__set + procedure :: get_analysis_start_time_ => swigf_DetectorAnalysis_analysis_start_time__get + procedure :: set_analysis_computation_duration_ => swigf_DetectorAnalysis_analysis_computation_duration__set + procedure :: get_analysis_computation_duration_ => swigf_DetectorAnalysis_analysis_computation_duration__get + procedure :: set_algorithm_result_description_ => swigf_DetectorAnalysis_algorithm_result_description__set + procedure :: get_algorithm_result_description_ => swigf_DetectorAnalysis_algorithm_result_description__get + procedure :: set_results_ => swigf_DetectorAnalysis_results__set + procedure :: get_results_ => swigf_DetectorAnalysis_results__get + procedure :: reset => swigf_DetectorAnalysis_reset + procedure :: is_empty => swigf_DetectorAnalysis_is_empty + procedure :: release => swigf_DetectorAnalysis_release + procedure, private :: swigf_DetectorAnalysis_op_assign__ + generic :: assignment(=) => swigf_DetectorAnalysis_op_assign__ + end type DetectorAnalysis + type, public :: SWIGTYPE_p_std__vectorT_char_t + type(SwigClassWrapper), public :: swigdata + end type + ! enum class SpecUtils::MultimediaData::EncodingType + enum, bind(c) + enumerator :: MultimediaData_EncodingType_BinaryUTF8 + enumerator :: MultimediaData_EncodingType_BinaryHex + enumerator :: MultimediaData_EncodingType_BinaryBase64 + end enum + integer, parameter, public :: MultimediaData_EncodingType = kind(MultimediaData_EncodingType_BinaryUTF8) + public :: MultimediaData_EncodingType_BinaryUTF8, MultimediaData_EncodingType_BinaryHex, & + MultimediaData_EncodingType_BinaryBase64 + ! struct SpecUtils::MultimediaData + type, public :: MultimediaData + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_remark_ => swigf_MultimediaData_remark__set + procedure :: get_remark_ => swigf_MultimediaData_remark__get + procedure :: set_descriptions_ => swigf_MultimediaData_descriptions__set + procedure :: get_descriptions_ => swigf_MultimediaData_descriptions__get + procedure :: set_data_ => swigf_MultimediaData_data__set + procedure :: get_data_ => swigf_MultimediaData_data__get + procedure :: set_data_encoding_ => swigf_MultimediaData_data_encoding__set + procedure :: get_data_encoding_ => swigf_MultimediaData_data_encoding__get + procedure :: set_capture_start_time_ => swigf_MultimediaData_capture_start_time__set + procedure :: get_capture_start_time_ => swigf_MultimediaData_capture_start_time__get + procedure :: set_file_uri_ => swigf_MultimediaData_file_uri__set + procedure :: get_file_uri_ => swigf_MultimediaData_file_uri__get + procedure :: set_mime_type_ => swigf_MultimediaData_mime_type__set + procedure :: get_mime_type_ => swigf_MultimediaData_mime_type__get + procedure :: release => swigf_MultimediaData_release + procedure, private :: swigf_MultimediaData_op_assign__ + generic :: assignment(=) => swigf_MultimediaData_op_assign__ + end type MultimediaData + interface MeasurementVector + module procedure swigf_new_MeasurementVector__SWIG_0, swigf_new_MeasurementVector__SWIG_1, & + swigf_new_MeasurementVector__SWIG_2, swigf_new_MeasurementVector__SWIG_3 + end interface + interface DetectorAnalysisResult + module procedure swigf_new_DetectorAnalysisResult + end interface + interface SpecFile + module procedure swigf_new_SpecFile__SWIG_0, swigf_new_SpecFile__SWIG_1 + end interface + interface DoubleVector + module procedure swigf_new_DoubleVector__SWIG_0, swigf_new_DoubleVector__SWIG_1, swigf_new_DoubleVector__SWIG_2, & + swigf_new_DoubleVector__SWIG_3 + end interface + interface is_candidate_n42_file + module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 + end interface + public :: is_candidate_n42_file + interface Measurement + module procedure swigf_new_Measurement + end interface + interface MultimediaData + module procedure swigf_new_MultimediaData + end interface + interface DetectorAnalysis + module procedure swigf_new_DetectorAnalysis + end interface + interface FloatVector + module procedure swigf_new_FloatVector__SWIG_0, swigf_new_FloatVector__SWIG_1, swigf_new_FloatVector__SWIG_2, & + swigf_new_FloatVector__SWIG_3 + end interface + interface IntVector + module procedure swigf_new_IntVector__SWIG_0, swigf_new_IntVector__SWIG_1, swigf_new_IntVector__SWIG_2, & + swigf_new_IntVector__SWIG_3 + end interface + +! WRAPPER DECLARATIONS +interface +function swigc_new_IntVector__SWIG_0() & +bind(C, name="_wrap_new_IntVector__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_IntVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_IntVector__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_IntVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_IntVector__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_IntVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_IntVector__SWIG_3") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_IntVector_size(farg1) & +bind(C, name="_wrap_IntVector_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_IntVector_capacity(farg1) & +bind(C, name="_wrap_IntVector_capacity") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_IntVector_empty(farg1) & +bind(C, name="_wrap_IntVector_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_IntVector_front(farg1) & +bind(C, name="_wrap_IntVector_front") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_IntVector_back(farg1) & +bind(C, name="_wrap_IntVector_back") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_IntVector_reserve(farg1, farg2) & +bind(C, name="_wrap_IntVector_reserve") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_IntVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_IntVector_resize__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_IntVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_IntVector_resize__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_IntVector_push_back(farg1, farg2) & +bind(C, name="_wrap_IntVector_push_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_IntVector_pop_back(farg1) & +bind(C, name="_wrap_IntVector_pop_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_IntVector_clear(farg1) & +bind(C, name="_wrap_IntVector_clear") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_IntVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_IntVector_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +function swigc_IntVector_get(farg1, farg2) & +bind(C, name="_wrap_IntVector_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +subroutine swigc_IntVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_IntVector_insert") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_IntVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_IntVector_erase__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_IntVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_IntVector_erase__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +end subroutine + +function swigc_IntVector_front_ref(farg1) & +bind(C, name="_wrap_IntVector_front_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_IntVector_back_ref(farg1) & +bind(C, name="_wrap_IntVector_back_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_IntVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_IntVector_get_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(C_PTR) :: fresult +end function + +subroutine swigc_delete_IntVector(farg1) & +bind(C, name="_wrap_delete_IntVector") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_IntVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_IntVector_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_new_DoubleVector__SWIG_0() & +bind(C, name="_wrap_new_DoubleVector__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DoubleVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_DoubleVector__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DoubleVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_DoubleVector__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DoubleVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_DoubleVector__SWIG_3") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_DoubleVector_size(farg1) & +bind(C, name="_wrap_DoubleVector_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_DoubleVector_capacity(farg1) & +bind(C, name="_wrap_DoubleVector_capacity") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_DoubleVector_empty(farg1) & +bind(C, name="_wrap_DoubleVector_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_DoubleVector_front(farg1) & +bind(C, name="_wrap_DoubleVector_front") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_DoubleVector_back(farg1) & +bind(C, name="_wrap_DoubleVector_back") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +subroutine swigc_DoubleVector_reserve(farg1, farg2) & +bind(C, name="_wrap_DoubleVector_reserve") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_DoubleVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_DoubleVector_resize__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_DoubleVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_DoubleVector_resize__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +end subroutine + +subroutine swigc_DoubleVector_push_back(farg1, farg2) & +bind(C, name="_wrap_DoubleVector_push_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +end subroutine + +subroutine swigc_DoubleVector_pop_back(farg1) & +bind(C, name="_wrap_DoubleVector_pop_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_DoubleVector_clear(farg1) & +bind(C, name="_wrap_DoubleVector_clear") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_DoubleVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_DoubleVector_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +end subroutine + +function swigc_DoubleVector_get(farg1, farg2) & +bind(C, name="_wrap_DoubleVector_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +subroutine swigc_DoubleVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_DoubleVector_insert") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +end subroutine + +subroutine swigc_DoubleVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_DoubleVector_erase__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_DoubleVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_DoubleVector_erase__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +end subroutine + +function swigc_DoubleVector_front_ref(farg1) & +bind(C, name="_wrap_DoubleVector_front_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_DoubleVector_back_ref(farg1) & +bind(C, name="_wrap_DoubleVector_back_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_DoubleVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_DoubleVector_get_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(C_PTR) :: fresult +end function + +subroutine swigc_delete_DoubleVector(farg1) & +bind(C, name="_wrap_delete_DoubleVector") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_DoubleVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DoubleVector_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_new_FloatVector__SWIG_0() & +bind(C, name="_wrap_new_FloatVector__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_FloatVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_FloatVector__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_FloatVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_FloatVector__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_FloatVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_FloatVector__SWIG_3") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_FloatVector_size(farg1) & +bind(C, name="_wrap_FloatVector_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_FloatVector_capacity(farg1) & +bind(C, name="_wrap_FloatVector_capacity") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_FloatVector_empty(farg1) & +bind(C, name="_wrap_FloatVector_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_FloatVector_front(farg1) & +bind(C, name="_wrap_FloatVector_front") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_FloatVector_back(farg1) & +bind(C, name="_wrap_FloatVector_back") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_FloatVector_reserve(farg1, farg2) & +bind(C, name="_wrap_FloatVector_reserve") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_FloatVector_resize__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_resize__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +subroutine swigc_FloatVector_push_back(farg1, farg2) & +bind(C, name="_wrap_FloatVector_push_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_pop_back(farg1) & +bind(C, name="_wrap_FloatVector_pop_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_FloatVector_clear(farg1) & +bind(C, name="_wrap_FloatVector_clear") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_FloatVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +function swigc_FloatVector_get(farg1, farg2) & +bind(C, name="_wrap_FloatVector_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_FloatVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_insert") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +subroutine swigc_FloatVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_FloatVector_erase__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_erase__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +end subroutine + +function swigc_FloatVector_front_ref(farg1) & +bind(C, name="_wrap_FloatVector_front_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_FloatVector_back_ref(farg1) & +bind(C, name="_wrap_FloatVector_back_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_FloatVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_FloatVector_get_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(C_PTR) :: fresult +end function + +subroutine swigc_delete_FloatVector(farg1) & +bind(C, name="_wrap_delete_FloatVector") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_FloatVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_FloatVector_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_new_MeasurementVector__SWIG_0() & +bind(C, name="_wrap_new_MeasurementVector__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_MeasurementVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_MeasurementVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_MeasurementVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_3") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_size(farg1) & +bind(C, name="_wrap_MeasurementVector_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_MeasurementVector_capacity(farg1) & +bind(C, name="_wrap_MeasurementVector_capacity") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_MeasurementVector_empty(farg1) & +bind(C, name="_wrap_MeasurementVector_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_MeasurementVector_front(farg1) & +bind(C, name="_wrap_MeasurementVector_front") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_back(farg1) & +bind(C, name="_wrap_MeasurementVector_back") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MeasurementVector_reserve(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_reserve") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_resize__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_resize__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_MeasurementVector_push_back(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_push_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_pop_back(farg1) & +bind(C, name="_wrap_MeasurementVector_pop_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_MeasurementVector_clear(farg1) & +bind(C, name="_wrap_MeasurementVector_clear") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_MeasurementVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +function swigc_MeasurementVector_get(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MeasurementVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_insert") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_erase__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_erase__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +end subroutine + +function swigc_MeasurementVector_front_ref(farg1) & +bind(C, name="_wrap_MeasurementVector_front_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_back_ref(farg1) & +bind(C, name="_wrap_MeasurementVector_back_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_get_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_MeasurementVector(farg1) & +bind(C, name="_wrap_delete_MeasurementVector") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_MeasurementVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_spectrumTypeFromDescription(farg1) & +bind(C, name="_wrap_spectrumTypeFromDescription") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + + subroutine SWIG_free(cptr) & + bind(C, name="free") + use, intrinsic :: ISO_C_BINDING + type(C_PTR), value :: cptr +end subroutine +function swigc_suggestedNameEnding(farg1) & +bind(C, name="_wrap_suggestedNameEnding") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +integer(C_INT), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_is_candidate_n42_file__SWIG_0(farg1) & +bind(C, name="_wrap_is_candidate_n42_file__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_is_candidate_n42_file__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) & +bind(C, name="_wrap_convert_n42_utf16_xml_to_utf8") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) & +bind(C, name="_wrap_add_analysis_results_to_2012_N42") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_set_analysis_info_from_n42(farg1, farg2) & +bind(C, name="_wrap_set_analysis_info_from_n42") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_gamma_integral(farg1, farg2, farg3) & +bind(C, name="_wrap_gamma_integral") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_detectorTypeToString(farg1) & +bind(C, name="_wrap_detectorTypeToString") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +integer(C_INT), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_new_Measurement() & +bind(C, name="_wrap_new_Measurement") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_memmorysize(farg1) & +bind(C, name="_wrap_Measurement_memmorysize") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_Measurement_live_time(farg1) & +bind(C, name="_wrap_Measurement_live_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_real_time(farg1) & +bind(C, name="_wrap_Measurement_real_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_contained_neutron(farg1) & +bind(C, name="_wrap_Measurement_contained_neutron") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_sample_number(farg1) & +bind(C, name="_wrap_Measurement_sample_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_title(farg1) & +bind(C, name="_wrap_Measurement_title") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_occupied(farg1) & +bind(C, name="_wrap_Measurement_occupied") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_gamma_count_sum(farg1) & +bind(C, name="_wrap_Measurement_gamma_count_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_neutron_live_time(farg1) & +bind(C, name="_wrap_Measurement_neutron_live_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_neutron_counts_sum(farg1) & +bind(C, name="_wrap_Measurement_neutron_counts_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_speed(farg1) & +bind(C, name="_wrap_Measurement_speed") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_dx(farg1) & +bind(C, name="_wrap_Measurement_dx") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_dy(farg1) & +bind(C, name="_wrap_Measurement_dy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_latitude(farg1) & +bind(C, name="_wrap_Measurement_latitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_longitude(farg1) & +bind(C, name="_wrap_Measurement_longitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_has_gps_info(farg1) & +bind(C, name="_wrap_Measurement_has_gps_info") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_dose_rate(farg1) & +bind(C, name="_wrap_Measurement_dose_rate") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_exposure_rate(farg1) & +bind(C, name="_wrap_Measurement_exposure_rate") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_position_time(farg1) & +bind(C, name="_wrap_Measurement_position_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_detector_name(farg1) & +bind(C, name="_wrap_Measurement_detector_name") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_detector_number(farg1) & +bind(C, name="_wrap_Measurement_detector_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_detector_type(farg1) & +bind(C, name="_wrap_Measurement_detector_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_quality_status(farg1) & +bind(C, name="_wrap_Measurement_quality_status") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_source_type(farg1) & +bind(C, name="_wrap_Measurement_source_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_remarks(farg1) & +bind(C, name="_wrap_Measurement_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_parse_warnings(farg1) & +bind(C, name="_wrap_Measurement_parse_warnings") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_start_time(farg1) & +bind(C, name="_wrap_Measurement_start_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_start_time_copy(farg1) & +bind(C, name="_wrap_Measurement_start_time_copy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_energy_calibration_model(farg1) & +bind(C, name="_wrap_Measurement_energy_calibration_model") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_calibration_coeffs(farg1) & +bind(C, name="_wrap_Measurement_calibration_coeffs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_deviation_pairs(farg1) & +bind(C, name="_wrap_Measurement_deviation_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_energy_calibration(farg1) & +bind(C, name="_wrap_Measurement_energy_calibration") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_channel_energies(farg1) & +bind(C, name="_wrap_Measurement_channel_energies") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_gamma_counts(farg1) & +bind(C, name="_wrap_Measurement_gamma_counts") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_neutron_counts(farg1) & +bind(C, name="_wrap_Measurement_neutron_counts") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_location_state(farg1) & +bind(C, name="_wrap_Measurement_location_state") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_Measurement_set_title(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_title") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_start_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_start_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_remarks(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_remarks") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_parse_warnings(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_parse_warnings") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_source_type(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_source_type") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_position(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_Measurement_set_position") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +subroutine swigc_Measurement_set_sample_number(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_sample_number") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_occupancy_status(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_occupancy_status") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_detector_name(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_detector_name") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_detector_number(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_detector_number") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_gamma_counts(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_Measurement_set_gamma_counts") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +real(C_FLOAT), intent(in) :: farg4 +end subroutine + +subroutine swigc_Measurement_set_neutron_counts(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_set_neutron_counts") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +function swigc_Measurement_num_gamma_channels(farg1) & +bind(C, name="_wrap_Measurement_num_gamma_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_Measurement_find_gamma_channel(farg1, farg2) & +bind(C, name="_wrap_Measurement_find_gamma_channel") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +integer(C_SIZE_T) :: fresult +end function + +function swigc_Measurement_gamma_channel_content(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_content") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_lower(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_lower") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_center(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_center") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_upper(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_upper") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_width(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_width") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_integral(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_gamma_integral") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_gamma_channels_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_gamma_channel_energies(farg1) & +bind(C, name="_wrap_Measurement_gamma_channel_energies") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_gamma_channel_contents(farg1) & +bind(C, name="_wrap_Measurement_gamma_channel_contents") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_gamma_energy_min(farg1) & +bind(C, name="_wrap_Measurement_gamma_energy_min") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_energy_max(farg1) & +bind(C, name="_wrap_Measurement_gamma_energy_max") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_derived_data_properties(farg1) & +bind(C, name="_wrap_Measurement_derived_data_properties") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_write_2006_N42_xml(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_2006_N42_xml") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_write_csv(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_write_txt(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_txt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +subroutine swigc_Measurement_reset(farg1) & +bind(C, name="_wrap_Measurement_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_Measurement_rebin(farg1, farg2) & +bind(C, name="_wrap_Measurement_rebin") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_info_from_2006_N42_spectrum_node") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_delete_Measurement(farg1) & +bind(C, name="_wrap_delete_Measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_Measurement_op_assign__(farg1, farg2) & +bind(C, name="_wrap_Measurement_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_new_SpecFile__SWIG_0() & +bind(C, name="_wrap_new_SpecFile__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_SpecFile__SWIG_1(farg1) & +bind(C, name="_wrap_new_SpecFile__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_SpecFile(farg1) & +bind(C, name="_wrap_delete_SpecFile") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +function swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_load_file__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigArrayWrapper) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_load_file__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg3 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_parse_warnings(farg1) & +bind(C, name="_wrap_SpecFile_parse_warnings") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_modified(farg1) & +bind(C, name="_wrap_SpecFile_modified") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_reset_modified(farg1) & +bind(C, name="_wrap_SpecFile_reset_modified") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_SpecFile_modified_since_decode(farg1) & +bind(C, name="_wrap_SpecFile_modified_since_decode") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_reset_modified_since_decode(farg1) & +bind(C, name="_wrap_SpecFile_reset_modified_since_decode") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_SpecFile_gamma_live_time(farg1) & +bind(C, name="_wrap_SpecFile_gamma_live_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_SpecFile_gamma_real_time(farg1) & +bind(C, name="_wrap_SpecFile_gamma_real_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_SpecFile_gamma_count_sum(farg1) & +bind(C, name="_wrap_SpecFile_gamma_count_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_neutron_counts_sum(farg1) & +bind(C, name="_wrap_SpecFile_neutron_counts_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_filename(farg1) & +bind(C, name="_wrap_SpecFile_filename") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_detector_names") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_detector_numbers(farg1) & +bind(C, name="_wrap_SpecFile_detector_numbers") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_gamma_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_gamma_detector_names") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_neutron_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_neutron_detector_names") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_uuid(farg1) & +bind(C, name="_wrap_SpecFile_uuid") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_remarks(farg1) & +bind(C, name="_wrap_SpecFile_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_lane_number(farg1) & +bind(C, name="_wrap_SpecFile_lane_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_measurement_location_name(farg1) & +bind(C, name="_wrap_SpecFile_measurement_location_name") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_inspection(farg1) & +bind(C, name="_wrap_SpecFile_inspection") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_measurement_operator(farg1) & +bind(C, name="_wrap_SpecFile_measurement_operator") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_sample_numbers(farg1) & +bind(C, name="_wrap_SpecFile_sample_numbers") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_num_measurements(farg1) & +bind(C, name="_wrap_SpecFile_num_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_detector_type(farg1) & +bind(C, name="_wrap_SpecFile_detector_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_instrument_type(farg1) & +bind(C, name="_wrap_SpecFile_instrument_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_manufacturer(farg1) & +bind(C, name="_wrap_SpecFile_manufacturer") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_instrument_model(farg1) & +bind(C, name="_wrap_SpecFile_instrument_model") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_instrument_id(farg1) & +bind(C, name="_wrap_SpecFile_instrument_id") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_measurements(farg1) & +bind(C, name="_wrap_SpecFile_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurement__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_detectors_analysis(farg1) & +bind(C, name="_wrap_SpecFile_detectors_analysis") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_multimedia_data(farg1) & +bind(C, name="_wrap_SpecFile_multimedia_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_has_gps_info(farg1) & +bind(C, name="_wrap_SpecFile_has_gps_info") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_mean_latitude(farg1) & +bind(C, name="_wrap_SpecFile_mean_latitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_mean_longitude(farg1) & +bind(C, name="_wrap_SpecFile_mean_longitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_passthrough(farg1) & +bind(C, name="_wrap_SpecFile_passthrough") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_contains_derived_data(farg1) & +bind(C, name="_wrap_SpecFile_contains_derived_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_contains_non_derived_data(farg1) & +bind(C, name="_wrap_SpecFile_contains_non_derived_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_set_filename(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_filename") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_remarks__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_add_remark(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_remark") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_parse_warnings(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_parse_warnings") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_uuid(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_uuid") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_lane_number(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_lane_number") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_measurement_location_name(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_measurement_location_name") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_inspection(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_inspection") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_instrument_type(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_type") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_detector_type(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_detector_type") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_manufacturer(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_manufacturer") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_instrument_model(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_model") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_instrument_id(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_id") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_live_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_live_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_real_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_real_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_start_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_start_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_remarks__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_source_type(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_source_type") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_set_position") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_set_title(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_title") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_set_contained_neutrons") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_FLOAT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_set_detectors_analysis(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_detectors_analysis") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_change_detector_name(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_change_detector_name") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: farg3 +end subroutine + +subroutine swigc_SpecFile_change_sample_numbers(farg1, farg2) & +bind(C, name="_wrap_SpecFile_change_sample_numbers") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_add_measurement(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_add_measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_remove_measurement(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_remove_measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_remove_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_remove_measurements") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_clear_multimedia_data(farg1) & +bind(C, name="_wrap_SpecFile_clear_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_add_multimedia_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_multimedia_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_SpecFile_occupancy_number_from_remarks(farg1) & +bind(C, name="_wrap_SpecFile_occupancy_number_from_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_sample_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_sample_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_suggested_sum_energy_calibration") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_sum_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_memmorysize(farg1) & +bind(C, name="_wrap_SpecFile_memmorysize") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_gamma_channel_counts(farg1) & +bind(C, name="_wrap_SpecFile_gamma_channel_counts") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_num_gamma_channels(farg1) & +bind(C, name="_wrap_SpecFile_num_gamma_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_n_bin_spectra_only") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_contained_neutron(farg1) & +bind(C, name="_wrap_SpecFile_contained_neutron") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_energy_cal_variants(farg1) & +bind(C, name="_wrap_SpecFile_energy_cal_variants") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_energy_cal_variants") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_keep_derived_data_variant(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_derived_data_variant") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_remove_detectors_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_remove_detectors_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_remove_neutron_measurements(farg1) & +bind(C, name="_wrap_SpecFile_remove_neutron_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_SpecFile_background_sample_number(farg1) & +bind(C, name="_wrap_SpecFile_background_sample_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_generate_psuedo_uuid(farg1) & +bind(C, name="_wrap_SpecFile_generate_psuedo_uuid") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_SpecFile_reset(farg1) & +bind(C, name="_wrap_SpecFile_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_SpecFile_load_N42_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_N42_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_pcf_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_pcf_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_spc_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_spc_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_chn_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_chn_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_iaea_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_iaea_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_binary_exploranium_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_micro_raider_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_micro_raider_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_txt_or_csv_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_cnf_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_cnf_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_tracs_mps_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_tracs_mps_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_aram_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_aram_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_spectroscopic_daily_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_amptek_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_amptek_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_ortec_listmode_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_lsrm_spe_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_tka_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_tka_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_multiact_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_multiact_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_phd_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_phd_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_lzs_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_lzs_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_radiacode_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_radiacode_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_xml_scan_data_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_json_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_json_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_caen_gxml_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_caen_gxml_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_N42") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: farg3 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_iaea_spc(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_iaea_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_binary_spc(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_binary_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_N42_document(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_N42_document") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_micro_raider_from_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_binary_exploranium") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_pcf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_pcf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_txt_or_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_Gr135_txt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_spectroscopic_daily_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_srpm210_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_D3S_raw(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_D3S_raw") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_amptek_mca(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_amptek_mca") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_ortec_listmode") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_lsrm_spe") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_tka(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_tka") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_multiact(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_multiact") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_phd(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_phd") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_lzs(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_lzs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_radiacode(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_radiacode") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_radiacode_spectrogram") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_xml_scan_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_iaea(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_iaea") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_chn(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_chn") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_cnf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_cnf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_tracs_mps(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_tracs_mps") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_aram(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_aram") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_json(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_json") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_caen_gxml(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_caen_gxml") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) & +bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_recalc_total_counts(farg1) & +bind(C, name="_wrap_SpecFile_recalc_total_counts") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) & +bind(C, name="_wrap_SpecFile_merge_neutron_meas_into_gamma_meas") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_rebin_measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_rebin_all_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_rebin_all_measurements") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_energy_calibration_from_CALp_file") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_SpecFile_detector_names_to_numbers(farg1, farg2) & +bind(C, name="_wrap_SpecFile_detector_names_to_numbers") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_2") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_3") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +function swigc_SpecFile_write_pcf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_pcf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_2006_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_2006_N42") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_txt(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_txt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_binary_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper), intent(in) :: farg5 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_ascii_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr130v0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr135v2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_iaea_spe") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_cnf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_tka") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_2012N42_VERSION_get() & +bind(C, name="_wrap_SpecFile_2012N42_VERSION_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_create_2012_N42_xml(farg1) & +bind(C, name="_wrap_SpecFile_create_2012_N42_xml") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_write_2012_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_2012_N42") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_mutex(farg1) & +bind(C, name="_wrap_SpecFile_mutex") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurementAt(farg1, farg2) & +bind(C, name="_wrap_SpecFile_measurementAt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_SpecFile_op_assign__(farg1, farg2) & +bind(C, name="_wrap_SpecFile_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_DetectorAnalysisResult_remark__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_remark__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_remark__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_remark__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_nuclide__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_activity__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_activity__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_activity__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_activity__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_nuclide_type__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_id_confidence__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_distance__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_distance__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_distance__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_distance__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_dose_rate__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_real_time__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_real_time__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_real_time__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_detector__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_detector__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_detector__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_detector__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_new_DetectorAnalysisResult() & +bind(C, name="_wrap_new_DetectorAnalysisResult") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_reset(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_DetectorAnalysisResult_isEmpty(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_isEmpty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_delete_DetectorAnalysisResult(farg1) & +bind(C, name="_wrap_delete_DetectorAnalysisResult") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_DetectorAnalysis_remarks__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_remarks__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_remarks__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_remarks__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_name__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_name__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_name__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_creator__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_description__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_description__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_description__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_analysis_start_time__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_result_description__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_results__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_results__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_results__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_results__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DetectorAnalysis() & +bind(C, name="_wrap_new_DetectorAnalysis") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_reset(farg1) & +bind(C, name="_wrap_DetectorAnalysis_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_DetectorAnalysis_is_empty(farg1) & +bind(C, name="_wrap_DetectorAnalysis_is_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_delete_DetectorAnalysis(farg1) & +bind(C, name="_wrap_delete_DetectorAnalysis") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_DetectorAnalysis_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_MultimediaData_remark__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_remark__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_remark__get(farg1) & +bind(C, name="_wrap_MultimediaData_remark__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_descriptions__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_descriptions__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_descriptions__get(farg1) & +bind(C, name="_wrap_MultimediaData_descriptions__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_data__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_data__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_MultimediaData_data__get(farg1) & +bind(C, name="_wrap_MultimediaData_data__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_data_encoding__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_data_encoding__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +function swigc_MultimediaData_data_encoding__get(farg1) & +bind(C, name="_wrap_MultimediaData_data_encoding__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_MultimediaData_capture_start_time__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_capture_start_time__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_MultimediaData_capture_start_time__get(farg1) & +bind(C, name="_wrap_MultimediaData_capture_start_time__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_file_uri__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_file_uri__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_file_uri__get(farg1) & +bind(C, name="_wrap_MultimediaData_file_uri__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_mime_type__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_mime_type__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_mime_type__get(farg1) & +bind(C, name="_wrap_MultimediaData_mime_type__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_new_MultimediaData() & +bind(C, name="_wrap_new_MultimediaData") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_MultimediaData(farg1) & +bind(C, name="_wrap_delete_MultimediaData") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +end interface + + +contains + ! MODULE SUBPROGRAMS +function swigf_new_IntVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_IntVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_IntVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +class(IntVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_IntVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_IntVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_IntVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_IntVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +integer, intent(in) :: count +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +integer(C_INT) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v +fresult = swigc_new_IntVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_IntVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(IntVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_IntVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(IntVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_capacity(farg1) +swig_result = int(fresult) +end function + + +subroutine SWIGTM_fout_bool(imout, fout) + use, intrinsic :: ISO_C_BINDING + integer(kind=C_INT), intent(in) :: imout + logical, intent(out) :: fout + fout = (imout /= 0) +end subroutine + +function swigf_IntVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(IntVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_IntVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(IntVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_front(farg1) +swig_result = fresult +end function + +function swigf_IntVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(IntVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_back(farg1) +swig_result = fresult +end function + +subroutine swigf_IntVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_IntVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_IntVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: count +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v +call swigc_IntVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_IntVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = v +call swigc_IntVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_IntVector_pop_back(farg1) +end subroutine + +subroutine swigf_IntVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_IntVector_clear(farg1) +end subroutine + +subroutine swigf_IntVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: index +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_IntVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_IntVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(IntVector), intent(in) :: self +integer, intent(in) :: index +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_IntVector_get(farg1, farg2) +swig_result = fresult +end function + +subroutine swigf_IntVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: index +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_IntVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_IntVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_IntVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_IntVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_IntVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT), pointer :: swig_result +class(IntVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_front_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_IntVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT), pointer :: swig_result +class(IntVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_back_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_IntVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT), pointer :: swig_result +class(IntVector), intent(in) :: self +integer, intent(in) :: index +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_IntVector_get_ref(farg1, farg2) +call c_f_pointer(fresult, swig_result) +end function + +subroutine swigf_IntVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_IntVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_IntVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(inout) :: self +type(IntVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_IntVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_DoubleVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DoubleVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_DoubleVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +class(DoubleVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_DoubleVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_DoubleVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_DoubleVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_DoubleVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +integer, intent(in) :: count +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +real(C_DOUBLE) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v +fresult = swigc_new_DoubleVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_DoubleVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(DoubleVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_DoubleVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(DoubleVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_DoubleVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(DoubleVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_DoubleVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(DoubleVector), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_front(farg1) +swig_result = fresult +end function + +function swigf_DoubleVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(DoubleVector), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_back(farg1) +swig_result = fresult +end function + +subroutine swigf_DoubleVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_DoubleVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_DoubleVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: count +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_DOUBLE) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v +call swigc_DoubleVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_DoubleVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 + +farg1 = self%swigdata +farg2 = v +call swigc_DoubleVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DoubleVector_pop_back(farg1) +end subroutine + +subroutine swigf_DoubleVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DoubleVector_clear(farg1) +end subroutine + +subroutine swigf_DoubleVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_DOUBLE) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_DoubleVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_DoubleVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_DoubleVector_get(farg1, farg2) +swig_result = fresult +end function + +subroutine swigf_DoubleVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_DOUBLE) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_DoubleVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_DoubleVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_DoubleVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_DoubleVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_DoubleVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE), pointer :: swig_result +class(DoubleVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_front_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_DoubleVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE), pointer :: swig_result +class(DoubleVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_back_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_DoubleVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE), pointer :: swig_result +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_DoubleVector_get_ref(farg1, farg2) +call c_f_pointer(fresult, swig_result) +end function + +subroutine swigf_DoubleVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DoubleVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DoubleVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(inout) :: self +type(DoubleVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DoubleVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_FloatVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_FloatVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +class(FloatVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_FloatVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_FloatVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +integer, intent(in) :: count +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v +fresult = swigc_new_FloatVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_FloatVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(FloatVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_FloatVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(FloatVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_FloatVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(FloatVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_FloatVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_front(farg1) +swig_result = fresult +end function + +function swigf_FloatVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_back(farg1) +swig_result = fresult +end function + +subroutine swigf_FloatVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_FloatVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_FloatVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: count +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v +call swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_FloatVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = v +call swigc_FloatVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_FloatVector_pop_back(farg1) +end subroutine + +subroutine swigf_FloatVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_FloatVector_clear(farg1) +end subroutine + +subroutine swigf_FloatVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_FloatVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_FloatVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_FloatVector_get(farg1, farg2) +swig_result = fresult +end function + +subroutine swigf_FloatVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_FloatVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_FloatVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_FloatVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_FloatVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_front_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_FloatVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_back_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_FloatVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_FloatVector_get_ref(farg1, farg2) +call c_f_pointer(fresult, swig_result) +end function + +subroutine swigf_FloatVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_FloatVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_FloatVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(inout) :: self +type(FloatVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_FloatVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_MeasurementVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_MeasurementVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_MeasurementVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +class(MeasurementVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_MeasurementVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_MeasurementVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_MeasurementVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_MeasurementVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +integer, intent(in) :: count +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v%swigdata +fresult = swigc_new_MeasurementVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_MeasurementVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(MeasurementVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_MeasurementVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(MeasurementVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_MeasurementVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(MeasurementVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_MeasurementVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_front(farg1) +swig_result%swigdata = fresult +end function + +function swigf_MeasurementVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_back(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MeasurementVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_MeasurementVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: count +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v%swigdata +call swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_MeasurementVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = v%swigdata +call swigc_MeasurementVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_MeasurementVector_pop_back(farg1) +end subroutine + +subroutine swigf_MeasurementVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_MeasurementVector_clear(farg1) +end subroutine + +subroutine swigf_MeasurementVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_MeasurementVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_MeasurementVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_MeasurementVector_get(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_MeasurementVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_MeasurementVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_MeasurementVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_MeasurementVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_front_ref(farg1) +swig_result%swigdata = fresult +end function + +function swigf_MeasurementVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_back_ref(farg1) +swig_result%swigdata = fresult +end function + +function swigf_MeasurementVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_MeasurementVector_get_ref(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_MeasurementVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_MeasurementVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_MeasurementVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(inout) :: self +type(MeasurementVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_MeasurementVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + + +subroutine SWIGTM_fin_char_Sm_(finp, iminp, temp) + use, intrinsic :: ISO_C_BINDING + character(len=*), intent(in) :: finp + type(SwigArrayWrapper), intent(out) :: iminp + character(kind=C_CHAR), dimension(:), target, allocatable, intent(out) :: temp + integer :: i + + allocate(character(kind=C_CHAR) :: temp(len(finp) + 1)) + do i=1,len(finp) + temp(i) = char(ichar(finp(i:i)), kind=C_CHAR) + end do + i = len(finp) + 1 + temp(i) = C_NULL_CHAR ! C finp compatibility + iminp%data = c_loc(temp) + iminp%size = len(finp, kind=C_SIZE_T) +end subroutine + +function spectrumTypeFromDescription(descrip) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(SpectrumType) :: swig_result +character(len=*), intent(in) :: descrip +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(descrip, farg1, farg1_temp) +fresult = swigc_spectrumTypeFromDescription(farg1) +swig_result = fresult +end function + + +subroutine SWIGTM_fout_char_Sm_(imout, fout) + use, intrinsic :: ISO_C_BINDING + type(SwigArrayWrapper), intent(in) :: imout + character(len=:), allocatable, intent(out) :: fout + character(kind=C_CHAR), dimension(:), pointer :: chars + integer(kind=C_SIZE_T) :: i + call c_f_pointer(imout%data, chars, [imout%size]) + allocate(character(len=imout%size) :: fout) + do i=1, imout%size + fout(i:i) = char(ichar(chars(i))) + end do +end subroutine + +function suggestedNameEnding(type) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +integer(SaveSpectrumAsType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 + +farg1 = type +fresult = swigc_suggestedNameEnding(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) +end function + +function swigf_is_candidate_n42_file__SWIG_0(data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: data +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +fresult = swigc_is_candidate_n42_file__SWIG_0(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_is_candidate_n42_file__SWIG_1(data, data_end) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function convert_n42_utf16_xml_to_utf8(data, data_end) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) +end function + +subroutine add_analysis_results_to_2012_N42(ana, radinstrumentdata, xmldocmutex) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: ana +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: radinstrumentdata +class(SWIGTYPE_p_std__mutex), intent(in) :: xmldocmutex +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = ana%swigdata +farg2 = radinstrumentdata%swigdata +farg3 = xmldocmutex%swigdata +call swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) +end subroutine + +subroutine set_analysis_info_from_n42(analysis_node, analysis) +use, intrinsic :: ISO_C_BINDING +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: analysis_node +class(DetectorAnalysis), intent(in) :: analysis +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = analysis_node%swigdata +farg2 = analysis%swigdata +call swigc_set_analysis_info_from_n42(farg1, farg2) +end subroutine + +function gamma_integral(hist, lowenergy, upperunergy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: hist +real(C_FLOAT), intent(in) :: lowenergy +real(C_FLOAT), intent(in) :: upperunergy +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = hist%swigdata +farg2 = lowenergy +farg3 = upperunergy +fresult = swigc_gamma_integral(farg1, farg2, farg3) +swig_result = fresult +end function + +function detectorTypeToString(type) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +integer(DetectorType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 + +farg1 = type +fresult = swigc_detectorTypeToString(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_new_Measurement() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_Measurement() +self%swigdata = fresult +end function + +function swigf_Measurement_memmorysize(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_memmorysize(farg1) +swig_result = fresult +end function + +function swigf_Measurement_live_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_live_time(farg1) +swig_result = fresult +end function + +function swigf_Measurement_real_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_real_time(farg1) +swig_result = fresult +end function + +function swigf_Measurement_contained_neutron(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_contained_neutron(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_sample_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_sample_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_title(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_title(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_occupied(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(OccupancyStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_occupied(farg1) +swig_result = fresult +end function + +function swigf_Measurement_gamma_count_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_count_sum(farg1) +swig_result = fresult +end function + +function swigf_Measurement_neutron_live_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_live_time(farg1) +swig_result = fresult +end function + +function swigf_Measurement_neutron_counts_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_counts_sum(farg1) +swig_result = fresult +end function + +function swigf_Measurement_speed(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_speed(farg1) +swig_result = fresult +end function + +function swigf_Measurement_dx(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_dx(farg1) +swig_result = fresult +end function + +function swigf_Measurement_dy(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_dy(farg1) +swig_result = fresult +end function + +function swigf_Measurement_latitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_latitude(farg1) +swig_result = fresult +end function + +function swigf_Measurement_longitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_longitude(farg1) +swig_result = fresult +end function + +function swigf_Measurement_has_gps_info(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_has_gps_info(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_dose_rate(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_dose_rate(farg1) +swig_result = fresult +end function + +function swigf_Measurement_exposure_rate(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_exposure_rate(farg1) +swig_result = fresult +end function + +function swigf_Measurement_position_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_position_time(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_detector_name(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_detector_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_detector_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_detector_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_detector_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_detector_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_quality_status(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(QualityStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_quality_status(farg1) +swig_result = fresult +end function + +function swigf_Measurement_source_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(SourceType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_source_type(farg1) +swig_result = fresult +end function + +function swigf_Measurement_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_remarks(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_parse_warnings(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_parse_warnings(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_start_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_start_time(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_start_time_copy(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_start_time_copy(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_energy_calibration_model(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(SWIGTYPE_SpecUtils__EnergyCalType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_energy_calibration_model(farg1) +swig_result = fresult +end function + +function swigf_Measurement_calibration_coeffs(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_calibration_coeffs(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_deviation_pairs(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_deviation_pairs(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_energy_calibration(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_energy_calibration(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_channel_energies(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_channel_energies(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_gamma_counts(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_counts(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_neutron_counts(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_counts(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_location_state(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_location_state(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_Measurement_set_title(self, title) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: title +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +call swigc_Measurement_set_title(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_start_time(self, timestamp) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = timestamp%swigdata +call swigc_Measurement_set_start_time(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_remarks(self, remarks) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = remarks%swigdata +call swigc_Measurement_set_remarks(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_parse_warnings(self, warnings) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = warnings%swigdata +call swigc_Measurement_set_parse_warnings(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_source_type(self, type) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(SourceType), intent(in) :: type +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = type +call swigc_Measurement_set_source_type(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_position(self, longitude, latitude, pos_time) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: pos_time +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = longitude +farg3 = latitude +farg4 = pos_time%swigdata +call swigc_Measurement_set_position(farg1, farg2, farg3, farg4) +end subroutine + +subroutine swigf_Measurement_set_sample_number(self, samplenum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: samplenum +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = samplenum +call swigc_Measurement_set_sample_number(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_occupancy_status(self, status) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(OccupancyStatus), intent(in) :: status +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = status +call swigc_Measurement_set_occupancy_status(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_detector_name(self, name) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: name +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) +call swigc_Measurement_set_detector_name(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_detector_number(self, detnum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: detnum +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = detnum +call swigc_Measurement_set_detector_number(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_gamma_counts(self, counts, livetime, realtime) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(FloatVector), intent(in) :: counts +real(C_FLOAT), intent(in) :: livetime +real(C_FLOAT), intent(in) :: realtime +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg3 +real(C_FLOAT) :: farg4 + +farg1 = self%swigdata +farg2 = counts%swigdata +farg3 = livetime +farg4 = realtime +call swigc_Measurement_set_gamma_counts(farg1, farg2, farg3, farg4) +end subroutine + +subroutine swigf_Measurement_set_neutron_counts(self, counts, neutron_live_time) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(FloatVector), intent(in) :: counts +real(C_FLOAT), intent(in) :: neutron_live_time +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = counts%swigdata +farg3 = neutron_live_time +call swigc_Measurement_set_neutron_counts(farg1, farg2, farg3) +end subroutine + +function swigf_Measurement_num_gamma_channels(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_num_gamma_channels(farg1) +swig_result = fresult +end function + +function swigf_Measurement_find_gamma_channel(self, energy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: energy +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = energy +fresult = swigc_Measurement_find_gamma_channel(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_content(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_content(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_lower(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_lower(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_center(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_center(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_upper(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_upper(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_width(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_width(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_integral(self, lower_energy, upper_energy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: lower_energy +real(C_FLOAT), intent(in) :: upper_energy +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = lower_energy +farg3 = upper_energy +fresult = swigc_Measurement_gamma_integral(farg1, farg2, farg3) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channels_sum(self, startbin, endbin) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: startbin +integer(C_SIZE_T), intent(in) :: endbin +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = startbin +farg3 = endbin +fresult = swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_energies(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_channel_energies(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_gamma_channel_contents(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_channel_contents(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_gamma_energy_min(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_energy_min(farg1) +swig_result = fresult +end function + +function swigf_Measurement_gamma_energy_max(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_energy_max(farg1) +swig_result = fresult +end function + +function swigf_Measurement_derived_data_properties(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_uint32_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_derived_data_properties(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_write_2006_N42_xml(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_2006_N42_xml(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_write_csv(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_write_txt(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_Measurement_reset(self) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_Measurement_reset(farg1) +end subroutine + +subroutine swigf_Measurement_rebin(self, cal) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = cal%swigdata +call swigc_Measurement_rebin(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +type(SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t), intent(in) :: spectrum +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = spectrum%swigdata +call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_release(self) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_Measurement(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_Measurement_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(inout) :: self +type(Measurement), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_Measurement_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_SpecFile__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(SpecFile) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_SpecFile__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_SpecFile__SWIG_1(rhs) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(SpecFile) :: self +class(SpecFile), intent(in) :: rhs +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = rhs%swigdata +fresult = swigc_new_SpecFile__SWIG_1(farg1) +self%swigdata = fresult +end function + +subroutine swigf_SpecFile_release(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_SpecFile(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +function swigf_SpecFile_load_file__SWIG_0(self, filename, parser_type, file_ending_hint) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +character(len=*), intent(in) :: file_ending_hint +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg4_temp +type(SwigArrayWrapper) :: farg4 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +call SWIGTM_fin_char_Sm_(file_ending_hint, farg4, farg4_temp) +fresult = swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_file__SWIG_1(self, filename, parser_type) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +fresult = swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_parse_warnings(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_parse_warnings(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_modified(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_modified(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_reset_modified(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_reset_modified(farg1) +end subroutine + +function swigf_SpecFile_modified_since_decode(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_modified_since_decode(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_reset_modified_since_decode(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_reset_modified_since_decode(farg1) +end subroutine + +function swigf_SpecFile_gamma_live_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_live_time(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_gamma_real_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_real_time(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_gamma_count_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_count_sum(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_neutron_counts_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_neutron_counts_sum(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_filename(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_filename(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_detector_names(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detector_names(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_detector_numbers(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detector_numbers(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_gamma_detector_names(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_detector_names(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_neutron_detector_names(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_neutron_detector_names(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_uuid(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_remarks(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_lane_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_lane_number(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_measurement_location_name(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_measurement_location_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_inspection(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_inspection(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_measurement_operator(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_measurement_operator(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_sample_numbers(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_sample_numbers(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_num_measurements(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_num_measurements(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_detector_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(DetectorType) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detector_type(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_instrument_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_instrument_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_manufacturer(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_manufacturer(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_instrument_model(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_instrument_model(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_instrument_id(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_instrument_id(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_measurements(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_measurements(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurement__SWIG_0(self, num) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T), intent(in) :: num +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = num +fresult = swigc_SpecFile_measurement__SWIG_0(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_detectors_analysis(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detectors_analysis(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_multimedia_data(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_multimedia_data(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_has_gps_info(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_has_gps_info(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_mean_latitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_mean_latitude(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_mean_longitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_mean_longitude(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_passthrough(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_passthrough(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_contains_derived_data(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_contains_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_contains_non_derived_data(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_contains_non_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_set_filename(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_filename(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_remarks__SWIG_0(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: n +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = n%swigdata +call swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_add_remark(self, remark) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: remark +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark, farg2, farg2_temp) +call swigc_SpecFile_add_remark(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_parse_warnings(self, warnings) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = warnings%swigdata +call swigc_SpecFile_set_parse_warnings(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_uuid(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_uuid(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_lane_number(self, num) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: num +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = num +call swigc_SpecFile_set_lane_number(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_measurement_location_name(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_measurement_location_name(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_inspection(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_inspection(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_instrument_type(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_type(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_detector_type(self, type) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(DetectorType), intent(in) :: type +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = type +call swigc_SpecFile_set_detector_type(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_manufacturer(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_manufacturer(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_instrument_model(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_model(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_instrument_id(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_id(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_live_time(self, lt, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +real(C_FLOAT), intent(in) :: lt +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = lt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_live_time(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_real_time(self, rt, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +real(C_FLOAT), intent(in) :: rt +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = rt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_real_time(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_start_time(self, timestamp, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = timestamp%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_start_time(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_remarks__SWIG_1(self, remarks, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = remarks%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_source_type(self, type, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(SourceType), intent(in) :: type +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = type +farg3 = measurement2%swigdata +call swigc_SpecFile_set_source_type(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_position(self, longitude, latitude, position_time, measurement4) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: position_time +class(Measurement), intent(in) :: measurement4 +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 + +farg1 = self%swigdata +farg2 = longitude +farg3 = latitude +farg4 = position_time%swigdata +farg5 = measurement4%swigdata +call swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_set_title(self, title, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: title +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +farg3 = measurement2%swigdata +call swigc_SpecFile_set_title(farg1, farg2, farg3) +end subroutine + + +subroutine SWIGTM_fin_bool(finp, iminp) + use, intrinsic :: ISO_C_BINDING + logical, intent(in) :: finp + integer(kind=C_INT), intent(out) :: iminp + if (finp .eqv. .true.) then + iminp = 1 + else + iminp = 0 + end if +end subroutine + +subroutine swigf_SpecFile_set_contained_neutrons(self, contained, counts, measurement3, neutron_live_time) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +logical, intent(in) :: contained +real(C_FLOAT), intent(in) :: counts +class(Measurement), intent(in) :: measurement3 +real(C_FLOAT), intent(in) :: neutron_live_time +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +real(C_FLOAT) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_FLOAT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_bool(contained, farg2) +farg3 = counts +farg4 = measurement3%swigdata +farg5 = neutron_live_time +call swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_set_detectors_analysis(self, ana) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(DetectorAnalysis), intent(in) :: ana +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ana%swigdata +call swigc_SpecFile_set_detectors_analysis(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_change_detector_name(self, original_name, new_name) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: original_name +character(len=*), intent(in) :: new_name +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(original_name, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(new_name, farg3, farg3_temp) +call swigc_SpecFile_change_detector_name(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_change_sample_numbers(self, from_to_sample_nums) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t), intent(in) :: from_to_sample_nums +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = from_to_sample_nums%swigdata +call swigc_SpecFile_change_sample_numbers(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_add_measurement(self, meas, docleanup) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_add_measurement(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_remove_measurement(self, meas, docleanup) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_remove_measurement(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_remove_measurements(self, meas) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: meas +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = meas%swigdata +call swigc_SpecFile_remove_measurements(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_clear_multimedia_data(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_clear_multimedia_data(farg1) +end subroutine + +subroutine swigf_SpecFile_add_multimedia_data(self, data) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(MultimediaData), intent(in) :: data +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = data%swigdata +call swigc_SpecFile_add_multimedia_data(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_multimedia_data(self, data) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7), intent(in) :: data +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = data%swigdata +call swigc_SpecFile_set_multimedia_data(farg1, farg2) +end subroutine + +function swigf_SpecFile_occupancy_number_from_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_occupancy_number_from_remarks(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_sample_measurements(self, sample_number) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: sample_number +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = sample_number +fresult = swigc_SpecFile_sample_measurements(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurement__SWIG_1(self, sample_number, det_name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: sample_number +character(len=*), intent(in) :: det_name +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = sample_number +call SWIGTM_fin_char_Sm_(det_name, farg3, farg3_temp) +fresult = swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurement__SWIG_2(self, sample_number, detector_number) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: sample_number +integer(C_INT), intent(in) :: detector_number +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = sample_number +farg3 = detector_number +fresult = swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_suggested_sum_energy_calibration(self, sample_numbers, detector_names) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +fresult = swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_sum_measurements(self, sample_numbers, detector_names, energy_cal) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: energy_cal +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +farg4 = energy_cal%swigdata +fresult = swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_memmorysize(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_memmorysize(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_gamma_channel_counts(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_channel_counts(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_num_gamma_channels(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_num_gamma_channels(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_keep_n_bin_spectra_only(self, nbin) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T), intent(in) :: nbin +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = nbin +fresult = swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_contained_neutron(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_contained_neutron(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_energy_cal_variants(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_energy_cal_variants(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_keep_energy_cal_variants(self, variants) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: variants +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = variants%swigdata +fresult = swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_keep_derived_data_variant(self, tokeep) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +integer(SpecFile_DerivedVariantToKeep), intent(in) :: tokeep +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = tokeep +fresult = swigc_SpecFile_keep_derived_data_variant(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_remove_detectors_data(self, dets_to_remove) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: dets_to_remove +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = dets_to_remove%swigdata +fresult = swigc_SpecFile_remove_detectors_data(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_remove_neutron_measurements(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_remove_neutron_measurements(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_background_sample_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_background_sample_number(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_generate_psuedo_uuid(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_generate_psuedo_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_SpecFile_reset(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_reset(farg1) +end subroutine + +function swigf_SpecFile_load_N42_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_pcf_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_pcf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_spc_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spc_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_chn_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_chn_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_iaea_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_iaea_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_binary_exploranium_file(self, file_name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: file_name +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(file_name, farg2, farg2_temp) +fresult = swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_micro_raider_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_micro_raider_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_txt_or_csv_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_cnf_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_cnf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_tracs_mps_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tracs_mps_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_aram_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_aram_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_spectroscopic_daily_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_amptek_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_amptek_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_ortec_listmode_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_lsrm_spe_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_tka_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tka_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_multiact_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_multiact_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_phd_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_phd_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_lzs_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lzs_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_radiacode_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_radiacode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_xml_scan_data_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_json_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_json_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_caen_gxml_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_caen_gxml_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_N42(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_N42_from_data__SWIG_0(self, data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: data +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_N42_from_data__SWIG_1(self, data, data_end) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(data_end, farg3, farg3_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_iaea_spc(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_iaea_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_binary_spc(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_binary_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_N42_document(self, document_node) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: document_node +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = document_node%swigdata +fresult = swigc_SpecFile_load_from_N42_document(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_micro_raider_from_data(self, data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: data +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_binary_exploranium(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_pcf(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_pcf(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_txt_or_csv(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_Gr135_txt(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_spectroscopic_daily_file(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_srpm210_csv(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_D3S_raw(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_D3S_raw(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_amptek_mca(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_amptek_mca(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_ortec_listmode(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_lsrm_spe(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_tka(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tka(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_multiact(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_multiact(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_phd(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_phd(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_lzs(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lzs(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_radiacode(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_radiacode_spectrogram(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_xml_scan_data(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_iaea(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_iaea(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_chn(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_chn(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_cnf(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_cnf(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_tracs_mps(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tracs_mps(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_aram(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_aram(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_json(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_json(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_caen_gxml(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_caen_gxml(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_cleanup_after_load__SWIG_0(self, flags) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: flags +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = flags +call swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_cleanup_after_load__SWIG_1(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) +end subroutine + +subroutine swigf_SpecFile_recalc_total_counts(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_recalc_total_counts(farg1) +end subroutine + +subroutine swigf_SpecFile_merge_neutron_meas_into_gamma_meas(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) +end subroutine + +subroutine swigf_SpecFile_rebin_measurement(self, cal, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = cal%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_rebin_all_measurements(self, cal) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = cal%swigdata +call swigc_SpecFile_rebin_all_measurements(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +call swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) +end subroutine + +function swigf_SpecFile_detector_names_to_numbers(self, det_names) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = det_names%swigdata +fresult = swigc_SpecFile_detector_names_to_numbers(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_SpecFile_write_to_file__SWIG_0(self, filename, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = format +call swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_write_to_file__SWIG_1(self, filename, sample_nums, det_nums, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write_to_file__SWIG_2(self, filename, sample_nums, det_nums, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +type(IntVector), intent(in) :: sample_nums +type(IntVector), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write_to_file__SWIG_3(self, filename, sample_nums, det_names, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write__SWIG_0(self, strm, sample_nums, det_nums, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write__SWIG_1(self, strm, sample_nums, det_names, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine + +function swigf_SpecFile_write_pcf(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_pcf(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_2006_N42(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2006_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_csv(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_txt(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_integer_chn__SWIG_0(self, ostr, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_integer_chn__SWIG_1(self, ostr, sample_nums, det_names) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_binary_spc(self, ostr, type, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(SpecFile_SpcBinaryType), intent(in) :: type +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 + +farg1 = self%swigdata +farg2 = ostr%swigdata +farg3 = type +farg4 = sample_nums%swigdata +farg5 = det_nums%swigdata +fresult = swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_ascii_spc(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_binary_exploranium_gr130v0(self, output) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_binary_exploranium_gr135v2(self, output) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_iaea_spe(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_cnf(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_tka(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function get_SpecFile_2012N42_VERSION() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +integer(C_INT) :: fresult + +fresult = swigc_SpecFile_2012N42_VERSION_get() +swig_result = fresult +end function + +function swigf_SpecFile_create_2012_N42_xml(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_create_2012_N42_xml(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_write_2012_N42(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2012_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_mutex(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__recursive_mutex) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_mutex(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurementAt(self, num) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: num +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = num +fresult = swigc_SpecFile_measurementAt(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_SpecFile_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(inout) :: self +type(SpecFile), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_SpecFile_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: remark_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_remark__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_remark__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_remark__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_nuclide__set(self, nuclide_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(nuclide_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_nuclide__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_nuclide__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_activity__set(self, activity_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: activity_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = activity_ +call swigc_DetectorAnalysisResult_activity__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_activity__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_activity__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_nuclide_type__set(self, nuclide_type_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_type_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(nuclide_type_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_nuclide_type__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_nuclide_type__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_id_confidence__set(self, id_confidence_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: id_confidence_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(id_confidence_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_id_confidence__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_id_confidence__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_distance__set(self, distance_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: distance_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = distance_ +call swigc_DetectorAnalysisResult_distance__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_distance__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_distance__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_dose_rate__set(self, dose_rate_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: dose_rate_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = dose_rate_ +call swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_dose_rate__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_dose_rate__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_real_time__set(self, real_time_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: real_time_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = real_time_ +call swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_real_time__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_real_time__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_detector__set(self, detector_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: detector_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(detector_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_detector__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_detector__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_detector__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_new_DetectorAnalysisResult() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DetectorAnalysisResult) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DetectorAnalysisResult() +self%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysisResult_reset(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DetectorAnalysisResult_reset(farg1) +end subroutine + +function swigf_DetectorAnalysisResult_isEmpty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_isEmpty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_DetectorAnalysisResult_release(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysisResult(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysisResult_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(inout) :: self +type(DetectorAnalysisResult), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysis_remarks__set(self, remarks_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = remarks_%swigdata +call swigc_DetectorAnalysis_remarks__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_remarks__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_remarks__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_algorithm_name__set(self, algorithm_name_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_name_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_name_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_name__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_name__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_algorithm_component_versions__set(self, algorithm_component_versions_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t), intent(in) :: algorithm_component_versions_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = algorithm_component_versions_%swigdata +call swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_component_versions__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_algorithm_creator__set(self, algorithm_creator_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_creator_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_creator_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_creator__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_creator__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_algorithm_description__set(self, algorithm_description_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_description_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_description__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_analysis_start_time__set(self, analysis_start_time_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: analysis_start_time_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = analysis_start_time_%swigdata +call swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_analysis_start_time__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_analysis_start_time__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_analysis_computation_duration__set(self, analysis_computation_duration_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT), intent(in) :: analysis_computation_duration_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = analysis_computation_duration_ +call swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_analysis_computation_duration__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysis_algorithm_result_description__set(self, algorithm_result_description_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_result_description_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_result_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_result_description__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_result_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_results__set(self, results_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t), intent(in) :: results_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = results_%swigdata +call swigc_DetectorAnalysis_results__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_results__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_results__get(farg1) +swig_result%swigdata = fresult +end function + +function swigf_new_DetectorAnalysis() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DetectorAnalysis) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DetectorAnalysis() +self%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_reset(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DetectorAnalysis_reset(farg1) +end subroutine + +function swigf_DetectorAnalysis_is_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(DetectorAnalysis), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_is_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_DetectorAnalysis_release(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysis(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysis_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(inout) :: self +type(DetectorAnalysis), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DetectorAnalysis_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_MultimediaData_remark__set(self, remark_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: remark_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) +call swigc_MultimediaData_remark__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_remark__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_remark__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_MultimediaData_descriptions__set(self, descriptions_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: descriptions_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(descriptions_, farg2, farg2_temp) +call swigc_MultimediaData_descriptions__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_descriptions__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_descriptions__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_MultimediaData_data__set(self, data_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = data_%swigdata +call swigc_MultimediaData_data__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_data__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_char_t) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_data__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MultimediaData_data_encoding__set(self, data_encoding_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +integer(MultimediaData_EncodingType), intent(in) :: data_encoding_ +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = data_encoding_ +call swigc_MultimediaData_data_encoding__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_data_encoding__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(MultimediaData_EncodingType) :: swig_result +class(MultimediaData), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_data_encoding__get(farg1) +swig_result = fresult +end function + +subroutine swigf_MultimediaData_capture_start_time__set(self, capture_start_time_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: capture_start_time_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = capture_start_time_%swigdata +call swigc_MultimediaData_capture_start_time__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_capture_start_time__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_capture_start_time__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MultimediaData_file_uri__set(self, file_uri_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: file_uri_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(file_uri_, farg2, farg2_temp) +call swigc_MultimediaData_file_uri__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_file_uri__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_file_uri__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_MultimediaData_mime_type__set(self, mime_type_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: mime_type_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(mime_type_, farg2, farg2_temp) +call swigc_MultimediaData_mime_type__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_mime_type__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_mime_type__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_new_MultimediaData() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MultimediaData) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_MultimediaData() +self%swigdata = fresult +end function + +subroutine swigf_MultimediaData_release(self) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_MultimediaData(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_MultimediaData_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(inout) :: self +type(MultimediaData), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_MultimediaData_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + + +end module diff --git a/bindings/swig/fortran/swig-gen.sh b/bindings/swig/fortran/swig-gen.sh new file mode 100644 index 0000000..03438a8 --- /dev/null +++ b/bindings/swig/fortran/swig-gen.sh @@ -0,0 +1,13 @@ +#!/usr/bin/bash +export SWIG_LIB=/usr/local/share/swig/4.2.0/ +#export SWIG_LIB=/mnt/c/Tools/swig-fortran/Lib + +swig -I../../../ -fortran -c++ -outcurrentdir -debug-classes ./SpecUtilsFortran.i + +gad_dev=/mnt/c/Projects/code/gadras.worktrees/feature/406-spectra-file-io-out-of-fortran +cpp_wrap_dest=$gad_dev/CGADFunc/FileIO/src +fortran_wrap_dest=$gad_dev/GADRASw/src/SpectraFile + +cp SpecUtilsFortran_wrap.cxx $cpp_wrap_dest +cp SpecUtilsWrap.f90 $fortran_wrap_dest +#swig -fortran -c++ -outcurrentdir -debug-classes ./SpecUtilsFortran.i \ No newline at end of file From aed541f7bad361378472871f1892f2553782ed8d Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Tue, 6 Aug 2024 12:00:28 -0600 Subject: [PATCH 004/100] add extension that accesses a count at a given channel --- bindings/swig/fortran/SpecUtilsFortran.i | 18 ++++++--- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 27 ++++++++++++-- bindings/swig/fortran/SpecUtilsWrap.f90 | 37 ++++++++++++++++--- 3 files changed, 67 insertions(+), 15 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index dfdc414..721a2c7 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -34,14 +34,20 @@ namespace std { %ignore descriptionText; %ignore operator=; -// %rename("mAt") SpecUtils::SpecFile::measurement(size_t num); // why doesn't this work? - %include "SpecUtils/SpecFile.h" +%extend SpecUtils::Measurement +{ + float gamma_count_at(int index) + { + return $self->gamma_counts()->at(index); + } +} - -%extend SpecUtils::SpecFile{ - std::shared_ptr measurementAt(int num){ +%extend SpecUtils::SpecFile +{ + std::shared_ptr measurement_at(int num) + { return $self->measurement(static_cast(num)); } -} \ No newline at end of file +} diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 248e8a3..34766ae 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -659,7 +659,10 @@ struct SWIG_null_deleter { #define SWIG_NO_NULL_DELETER_SWIG_POINTER_NEW #define SWIG_NO_NULL_DELETER_SWIG_POINTER_OWN -SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurementAt(SpecUtils::SpecFile *self,int num){ +SWIGINTERN float SpecUtils_Measurement_gamma_count_at(SpecUtils::Measurement *self,int index){ + return self->gamma_counts()->at(index); + } +SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int num){ return self->measurement(static_cast(num)); } extern "C" { @@ -3088,6 +3091,22 @@ SWIGEXPORT void _wrap_Measurement_set_info_from_2006_N42_spectrum_node(SwigClass } +SWIGEXPORT float _wrap_Measurement_gamma_count_at(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + result = (float)SpecUtils_Measurement_gamma_count_at(arg1,arg2); + fresult = (float)(result); + return fresult; +} + + SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; @@ -5814,16 +5833,16 @@ SWIGEXPORT SwigClassWrapper _wrap_SpecFile_mutex(SwigClassWrapper *farg1) { } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurementAt(SwigClassWrapper *farg1, int const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement_at(SwigClassWrapper *farg1, int const *farg2) { SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; int arg2 ; std::shared_ptr< SpecUtils::Measurement const > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::measurementAt(int)", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::measurement_at(int)", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; arg2 = (int)(*farg2); - result = SpecUtils_SpecFile_measurementAt(arg1,arg2); + result = SpecUtils_SpecFile_measurement_at(arg1,arg2); fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; return fresult; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 4c9baf4..4f5b6af 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -414,6 +414,7 @@ module specutilswrap procedure :: reset => swigf_Measurement_reset procedure :: rebin => swigf_Measurement_rebin procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node + procedure :: gamma_count_at => swigf_Measurement_gamma_count_at procedure :: release => swigf_Measurement_release procedure, private :: swigf_Measurement_op_assign__ generic :: assignment(=) => swigf_Measurement_op_assign__ @@ -650,7 +651,7 @@ module specutilswrap procedure :: create_2012_N42_xml => swigf_SpecFile_create_2012_N42_xml procedure :: write_2012_N42 => swigf_SpecFile_write_2012_N42 procedure :: mutex => swigf_SpecFile_mutex - procedure :: measurementAt => swigf_SpecFile_measurementAt + procedure :: measurement_at => swigf_SpecFile_measurement_at procedure, private :: swigf_SpecFile_op_assign__ generic :: measurement => swigf_SpecFile_measurement__SWIG_0, swigf_SpecFile_measurement__SWIG_1, & swigf_SpecFile_measurement__SWIG_2 @@ -2378,6 +2379,16 @@ subroutine swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) type(SwigClassWrapper), intent(in) :: farg2 end subroutine +function swigc_Measurement_gamma_count_at(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_count_at") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + subroutine swigc_delete_Measurement(farg1) & bind(C, name="_wrap_delete_Measurement") use, intrinsic :: ISO_C_BINDING @@ -4110,8 +4121,8 @@ function swigc_SpecFile_mutex(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_measurementAt(farg1, farg2) & -bind(C, name="_wrap_SpecFile_measurementAt") & +function swigc_SpecFile_measurement_at(farg1, farg2) & +bind(C, name="_wrap_SpecFile_measurement_at") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -7111,6 +7122,22 @@ subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) end subroutine +function swigf_Measurement_gamma_count_at(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: index +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = index +fresult = swigc_Measurement_gamma_count_at(farg1, farg2) +swig_result = fresult +end function + subroutine swigf_Measurement_release(self) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(inout) :: self @@ -9834,7 +9861,7 @@ function swigf_SpecFile_mutex(self) & swig_result%swigdata = fresult end function -function swigf_SpecFile_measurementAt(self, num) & +function swigf_SpecFile_measurement_at(self, num) & result(swig_result) use, intrinsic :: ISO_C_BINDING type(Measurement) :: swig_result @@ -9846,7 +9873,7 @@ function swigf_SpecFile_measurementAt(self, num) & farg1 = self%swigdata farg2 = num -fresult = swigc_SpecFile_measurementAt(farg1, farg2) +fresult = swigc_SpecFile_measurement_at(farg1, farg2) swig_result%swigdata = fresult end function From aca0c470b7845fb16014b50a0e42cc45b283c1a3 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Tue, 6 Aug 2024 12:05:53 -0600 Subject: [PATCH 005/100] make the *_at extensions 1-based, since calling from fortran --- bindings/swig/fortran/SpecUtilsFortran.i | 10 +++++++--- bindings/swig/fortran/SpecUtilsFortran_wrap.cxx | 6 +++--- bindings/swig/fortran/SpecUtilsWrap.f90 | 6 +++--- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 721a2c7..293a5de 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -38,16 +38,20 @@ namespace std { %extend SpecUtils::Measurement { + /// Return the count at a given index. + /// @param index is 1-based float gamma_count_at(int index) { - return $self->gamma_counts()->at(index); + return $self->gamma_counts()->at(index-1); } } %extend SpecUtils::SpecFile { - std::shared_ptr measurement_at(int num) + /// Return the measurement at a given index. + /// @param index is 1-based + std::shared_ptr measurement_at(int index) { - return $self->measurement(static_cast(num)); + return $self->measurement(static_cast(index-1)); } } diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 34766ae..5ad1881 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -660,10 +660,10 @@ struct SWIG_null_deleter { #define SWIG_NO_NULL_DELETER_SWIG_POINTER_OWN SWIGINTERN float SpecUtils_Measurement_gamma_count_at(SpecUtils::Measurement *self,int index){ - return self->gamma_counts()->at(index); + return self->gamma_counts()->at(index-1); } -SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int num){ - return self->measurement(static_cast(num)); +SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ + return self->measurement(static_cast(index-1)); } extern "C" { SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_0() { diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 4f5b6af..18ade8e 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -9861,18 +9861,18 @@ function swigf_SpecFile_mutex(self) & swig_result%swigdata = fresult end function -function swigf_SpecFile_measurement_at(self, num) & +function swigf_SpecFile_measurement_at(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING type(Measurement) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: num +integer(C_INT), intent(in) :: index type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = num +farg2 = index fresult = swigc_SpecFile_measurement_at(farg1, farg2) swig_result%swigdata = fresult end function From 4b8bdc94d453cf79b894a4078d63ea313f13eb90 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 8 Aug 2024 10:45:34 -0600 Subject: [PATCH 006/100] enable testing at the topmost cmakefile * Then you can run ctest in the same dir you build in * Also update version in unit_tests --- CMakeLists.txt | 4 +++- unit_tests/CMakeLists.txt | 4 +--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2076597..0da2fd3 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ if(POLICY CMP0091) cmake_policy(SET CMP0091 NEW) # For CMake 3.15 and newer, enable use of CMAKE_MSVC_RUNTIME_LIBRARY, without requiring CMake 3.15 endif() -cmake_minimum_required(VERSION 3.1...3.22) +cmake_minimum_required(VERSION 3.1...3.29) if(${CMAKE_VERSION} VERSION_LESS 3.12) cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) @@ -10,6 +10,8 @@ endif() project( SpecUtils VERSION 1.0.0 ) +enable_testing() + option( SpecUtils_ENABLE_D3_CHART "Enables exporting of the D3 chart format" ON ) option( SpecUtils_D3_SUPPORT_FILE_STATIC "Compiles the JS and CSS files into memory, rather than reading files on disk; disable to allow changing JS/CSS without having to recompile" ON ) option( SpecUtils_ENABLE_URI_SPECTRA "Enables encoding/decoding spectra to URIs (for, ex, QR-codes) - requires linking to zlib" OFF ) diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 08fe2a2..fed46a4 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -1,9 +1,7 @@ cmake_policy(SET CMP0048 NEW) project(SpecUtilsTests VERSION 1) -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) - -enable_testing() +cmake_minimum_required(VERSION VERSION 3.1...3.29 FATAL_ERROR) option( ADD_TEST_SPEC_DIR "Base Directory containing other directories that have valid spectrum files for test opening" "" ) set( testdir "${CMAKE_CURRENT_SOURCE_DIR}" ) From aefc329477d65cbe78a38bc527c31b2618c269e9 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 8 Aug 2024 11:46:23 -0600 Subject: [PATCH 007/100] cherry pick boost test removal The beauty of doctest is you just have to include one header file. --- SpecUtils/SpecFile.h | 1 - regression_test/regression_test.cpp | 410 +- unit_tests/CMakeLists.txt | 36 +- unit_tests/doctest.h | 7106 ++++++++++++++++++ unit_tests/test_cubic_spline.cpp | 48 +- unit_tests/test_energy_calibration.cpp | 136 +- unit_tests/test_filesystem_functions.cpp | 492 +- unit_tests/test_iso_time_string.cpp | 87 +- unit_tests/test_rebin_by_lower_energy.cpp | 25 +- unit_tests/test_safe_get_line.cpp | 26 +- unit_tests/test_spec_file_open.cpp | 47 +- unit_tests/test_split_to_floats_and_ints.cpp | 317 +- unit_tests/test_string_functions.cpp | 404 +- unit_tests/test_time_from_string.cpp | 104 +- unit_tests/test_uri_spectrum.cpp | 828 +- unit_tests/test_utf8_limit_str_size.cpp | 86 +- unit_tests/test_utf8_str_len.cpp | 14 +- 17 files changed, 8770 insertions(+), 1397 deletions(-) create mode 100644 unit_tests/doctest.h diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 59153bd..e3e3995 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -38,7 +38,6 @@ Shortcommings that wcjohns should address: - Many of the N24 fields possible are not checked for - comments for multiple different tags, ... - - Neutron measurements should have their own live and real time - Neutron counts are typically merged into a gamma detectors Measurement if a reasonable pairing can be made. When and if this is done needs to be clearly specified, and either stopped of facilities added to keep neutron det. info. diff --git a/regression_test/regression_test.cpp b/regression_test/regression_test.cpp index 454ab65..fbdb400 100644 --- a/regression_test/regression_test.cpp +++ b/regression_test/regression_test.cpp @@ -29,12 +29,11 @@ #include #include #include +#include +#include #include #include -#include -#include - #include "SpecUtils/SpecFile.h" #include "SpecUtils/DateTime.h" #include "SpecUtils/ParseUtils.h" @@ -46,8 +45,6 @@ #endif using namespace std; -using boost::filesystem::path; -namespace po = boost::program_options; //g_truth_n42_dirname: name of the sub-directory that truth N42 files will be // stored in. @@ -67,15 +64,15 @@ const string g_parse_time_filename = "parsetimes.txt"; //open_spec_file(): uses the OS X 'open' command to open the spectrum file // with InterSpec running on localport:8080. -void open_spec_file( const path &p ); +void open_spec_file( const std::string &p ); //open_spec_file_in_textmate(): : uses the OS X 'open' command to open the // spectrum file in textmate -void open_spec_file_in_textmate( const path &p ); +void open_spec_file_in_textmate( const std::string &p ); //open_directory(): uses OS X 'open' command to open a finder window for the // specified directory; if a file is passed in, its parent directory is opened. -void open_directory( const path &p ); +void open_directory( const std::string &p ); //handle_no_truth_files(): interactively creates truth files, based on prompting // user what actions should be taken (so they can decide it a truth file should @@ -115,7 +112,7 @@ void check_equality_operator( const string basedir ); // back in and pass the 'equal_enough(...)' test, otherwise wont add truth n42 // file. Will add resulting added file (and possibly directory) to GIT. // Returns true if the truth N42 file was created. -bool add_truth_n42( const SpecUtils::SpecFile &m, const path &p, const bool force ); +bool add_truth_n42( const SpecUtils::SpecFile &m, const std::string &p, const bool force ); //check_parse_time(): compares the parse times of files with truth n42 files // against previous parse times. Parses the file 10 times and takes the @@ -133,17 +130,17 @@ void print_one_line_summary( const SpecUtils::Measurement &info, std::ostream &o //candidate_test_files(): return all candidate files, regardless if they have a // matching truth_n42. -vector candidate_test_files( const string basedir ); +vector candidate_test_files( const string basedir ); //candidates_with_truth_n42_files(): returns only candidate files that have // truth information as well. -vector candidates_with_truth_n42_files( const string basedir ); +vector candidates_with_truth_n42_files( const string basedir ); //truth_n42_files(): return all truth_n42 files. -vector truth_n42_files( const string basedir ); +vector truth_n42_files( const string basedir ); //candidates_without_truth_n42_files(): return files that do not have truthfiles -vector candidates_without_truth_n42_files( const string basedir ); +vector candidates_without_truth_n42_files( const string basedir ); int main( int argc, char **argv ) @@ -157,45 +154,122 @@ int main( int argc, char **argv ) #else string test_base_directory = "Z:\\wcjohns\\rad_ana\\InterSpec\\testing\\SpectrumFileFormats\\file_format_test_spectra"; #endif - - po::options_description desc("Allowed options"); - - desc.add_options() - ( "help,h", "produce help message") - ( "batch,b", - po::value(&g_automated_mode)->default_value(false), - "Run in non-interactive automated test mode.") - ( "basedir,d", - po::value(&test_base_directory)->default_value(test_base_directory), - "Directory where the test files are located.") - ( "subdir,s", - po::value(&g_sub_test_dir)->default_value(""), - "Sub-directory in 'basedir' of files to test.") - ( "action,a", - po::value< vector >(), - "Action to perform. Either 'n42test', 'regression' (or equivalently 'test')," - " 'addfiles', 'timing', or 'equality'. If blank defaults to 'test' if in automated mode" - ", or 'n42test', 'addfiles', 'test', 'timing', 'equality' otherwise." ) - ; - - po::variables_map vm; + g_automated_mode = false; + g_sub_test_dir = ""; + vector actions; + + // Do a very minimal command-line argument parser try { - po::store( po::parse_command_line( argc, argv, desc ), vm ); - po::notify( vm ); + for( int i = 1; i < argc; ++i ) + { + const string arg = argv[i]; + + auto is_short_opt = []( const string &arg, const char test ) -> bool { + return ((arg.size() > 1) && ((arg[0] == '-') || (arg[0] == '/')) + && (arg[1] == test) && ((arg.size() == 2) || (arg[2] == '=')) ); + }; + + auto is_long_opt = []( const string &arg, const string &test ) -> bool { + return (((arg.size() >= (2+test.size())) + && (arg[0] == '-') && (arg[1] == '-') + && (arg.substr(2,test.size()) == test) + && ((arg.size() == (2+test.size())) + || (arg[2+test.size()] == '='))) + || ((arg.size() >= (1+test.size())) //Windows specify option using '/' character instead of '--' + && (arg[0] == '/') + && SpecUtils::iequals_ascii(arg.substr(1,test.size()), test) //For Windows, allow to be case insensitive + && ((arg.size() == (1+test.size())) + || (arg[1+test.size()] == '='))) + ); + }; + + auto get_arg_str_val = [&i,argv,argc,arg]() -> string { + const auto pos = arg.find("="); + if( pos != string::npos ) + return arg.substr(pos+1); + if( (i+1) >= argc ) + throw runtime_error( "No value specified for argument '" + arg + "'" ); + string val = SpecUtils::trim_copy( argv[i+1] ); + assert( !SpecUtils::istarts_with(val, "-") ); + + i += 1; //advance the argument position, so we dont try and interpret this value as an argument + + cout << "Arg value: '" << val << "'" << endl; + + return val; + };//auto get_arg_str_val() + + auto get_arg_bool_val = [=]() -> bool { + using SpecUtils::iequals_ascii; + const string val = get_arg_str_val(); + if( iequals_ascii(val,"0") || iequals_ascii(val,"false") || iequals_ascii(val,"no") ) + return false; + else if( iequals_ascii(val,"1") || iequals_ascii(val,"true") || iequals_ascii(val,"yes") ) + return true; + + throw runtime_error( "Invalid boolean value '" + val + "'" ); + return false; + };//get_arg_bool_val(...) + + + if( (arg == "-h") || (arg == "--help") ) + { + cout << "Available options:\n" + "\thelp,h\t" + "produce help message\n" + "\tbatch,b\t" + "Run in non-interactive automated test mode.\n" + "\tbasedir,d\t" + "Directory where the test files are located.\n" + "\tsubdir,s\t" + "Sub-directory in 'basedir' of files to test.\n" + "action,a\t" + "Action to perform. Either 'n42test', 'regression' (or equivalently 'test'),\n" + "\t\t'addfiles', 'timing', or 'equality'. If blank defaults to 'test' if in\n" + "\t\tautomated mode, or 'n42test', 'addfiles', 'test', 'timing', 'equality' otherwise." + << endl; + + return EXIT_SUCCESS; + }else if( is_long_opt(arg, "batch") || is_short_opt(arg, 'b') ) + { + g_automated_mode = get_arg_bool_val(); + }else if( is_long_opt(arg, "basedir") || is_short_opt(arg, 'd') ) + { + test_base_directory = get_arg_str_val(); + }else if( is_long_opt(arg, "subdir") || is_short_opt(arg, 's') ) + { + g_sub_test_dir = get_arg_str_val(); + }else if( is_long_opt(arg, "action") || is_short_opt(arg, 'a') ) + { + string arg = get_arg_str_val(); + + // We'll allow specifying a CSV list of values, like `--action=A,b,c,d` + vector vals; + SpecUtils::split( vals, arg, "," ); + actions.insert( end(actions), begin(vals), end(vals) ); + + // Or user could do something like `--action A b c d` + while( (i+1) < argc ) + { + if( (argv[i+1][0] == '-') || (argv[i+1][0] == '/') ) + break; + + actions.push_back( argv[i+1] ); + i += 1; + }//while( (i+1) < argc ) + }else + { + throw runtime_error( "Unknown arg '" + arg + "'" ); + } + }//for( int i = 1; i < argc; ++i ) }catch( std::exception &e ) { - cerr << "Invalid command line argument\n\t" << e.what() << endl; + cerr << "Error parsing command line arguments: " << e.what() << endl; return EXIT_FAILURE; - } + }//try / catch to parse command line options - if( vm.count( "help" ) ) - { - cout << desc << "\n"; - return EXIT_SUCCESS; - } - if( !SpecUtils::is_directory( test_base_directory ) ) { @@ -226,24 +300,13 @@ int main( int argc, char **argv ) << "' subdirectory\n"; }//if( !g_sub_test_dir.empty() ) - vector actions; - - if( vm.count("action") ) - actions = vm["action"].as< vector >(); if( actions.empty() ) { if( g_automated_mode ) - { actions.push_back( "test" ); - }else - { - actions.push_back( "addfiles" ); - actions.push_back( "test" ); - actions.push_back( "timing" ); - actions.push_back( "n42test" ); - actions.push_back( "equality" ); - } + else + actions = vector{ "addfiles", "test", "timing", "n42test", "equality" }; }//if( vm.count("action") ) / else for( string action : actions ) @@ -271,55 +334,54 @@ int main( int argc, char **argv ) -void open_spec_file( const path &p ) +void open_spec_file( const std::string &p ) { const string command = "open http://localhost:8080/?specfilename=" - + url_encode( p.string() ); + + url_encode( p ); system( command.c_str() ); //The following wine comand crashes Peak Easy, but would be nice. -// command = "wine '/Users/wcjohns/Desktop/triage_spectra/PeakEasy 4.74/PeakEasy 4.74.exe' '" + path.string() + "' &" +// command = "wine '/Users/wcjohns/Desktop/triage_spectra/PeakEasy 4.74/PeakEasy 4.74.exe' '" + path + "' &" // system( command.c_str() ); }//void open_spec_file( const path &p ) -void open_spec_file_in_textmate( const path &p ) +void open_spec_file_in_textmate( const std::string &p ) { //const string command = "open -a TextMate '" + p.string() + "'"; - const string command = "/usr/local/bin/code '" + p.string() + "'"; + const string command = "/usr/local/bin/code '" + p + "'"; system( command.c_str() ); -}//void open_spec_file_in_textmate( const path &p ) +}//void open_spec_file_in_textmate( const std::string &p ) -void open_directory( const path &p ) +void open_directory( const std::string &p ) { string command = "open '"; - if( !boost::filesystem::is_regular_file(p) ) - command += p.string() + "'"; + if( !SpecUtils::is_file(p) ) + command += p + "'"; else - command += p.parent_path().string() + "'"; + command += SpecUtils::parent_path(p) + "'"; system( command.c_str() ); -}//void open_directory( const path &p ) +}//void open_directory( const std::string &p ) void check_parse_time( const string basedir ) { const int ntimes_parse = 10; - map cpu_parse_times, wall_parse_times; - const vector with_truth = candidates_with_truth_n42_files( basedir ); + map cpu_parse_times, wall_parse_times; + const vector with_truth = candidates_with_truth_n42_files( basedir ); const SpecUtils::time_point_t start_time = std::chrono::time_point_cast(std::chrono::system_clock::now()); - for( const path &fpath : with_truth ) + for( const std::string &fpath : with_truth ) { - const string filename = fpath.string(); - const string extention = fpath.extension().string(); + const string extention = SpecUtils::file_extension(fpath); for( int i = 0; i < ntimes_parse; ++i ) { @@ -328,7 +390,7 @@ void check_parse_time( const string basedir ) const double orig_wall_time = SpecUtils::get_wall_time(); const double orig_cpu_time = SpecUtils::get_cpu_time(); - const bool parsed = info.load_file( filename, SpecUtils::ParserType::Auto, extention ); + const bool parsed = info.load_file( fpath, SpecUtils::ParserType::Auto, extention ); const double final_cpu_time = SpecUtils::get_cpu_time(); const double final_wall_time = SpecUtils::get_wall_time(); @@ -337,7 +399,7 @@ void check_parse_time( const string basedir ) { double cpu_dt = final_cpu_time - orig_cpu_time; double wall_dt = final_wall_time - orig_wall_time; - const map::const_iterator pos = cpu_parse_times.find( fpath ); + const map::const_iterator pos = cpu_parse_times.find( fpath ); if( pos != cpu_parse_times.end() && (pos->second < cpu_dt) ) { cpu_dt = pos->second; @@ -348,10 +410,10 @@ void check_parse_time( const string basedir ) wall_parse_times[fpath] = wall_dt; }//if( parsed && orig_cpu_time > 0.0 && final_cpu_time > 0.0 ) }//for( int i = 0; i < ntimes_parse; ++i ) - }//for( const path &fpath : with_truth ) + }//for( const string &fpath : with_truth ) string prevtimestr; - map previous_cpu_parse_times, previous_wall_parse_times; + map previous_cpu_parse_times, previous_wall_parse_times; const string timingname = SpecUtils::append_path( basedir, g_parse_time_filename ); @@ -394,7 +456,7 @@ void check_parse_time( const string basedir ) bool previous_had_all = true; cout << "Previous parse time: " << prevtimestr << endl; - for( map::iterator i = cpu_parse_times.begin(); + for( map::iterator i = cpu_parse_times.begin(); i != cpu_parse_times.end(); ++i ) { const double cputime = i->second; @@ -403,13 +465,14 @@ void check_parse_time( const string basedir ) current_cpu_total += cputime; current_wall_total +=walltime; - string name = i->first.filename().string(); + + string name = SpecUtils::filename(i->first); if( name.size() > 30 ) name = name.substr( 0, 27 ) + "..."; cout << std::setw(31) << std::left << name << ": {cpu: " << setprecision(6) << std::fixed << cputime << ", wall: " << setprecision(6) << walltime << "}" - << ", size: " << (boost::filesystem::file_size(i->first) / 1024) << " kb\n"; + << ", size: " << (SpecUtils::file_size(i->first) / 1024) << " kb\n"; if( previous_cpu_parse_times.count(i->first) ) { @@ -451,10 +514,10 @@ void check_parse_time( const string basedir ) if( file.is_open() ) { file << SpecUtils::to_extended_iso_string( start_time ) << endl; - for( map::iterator i = cpu_parse_times.begin(); + for( map::iterator i = cpu_parse_times.begin(); i != cpu_parse_times.end(); ++i ) { - file << i->first.string() << endl << i->second + file << i->first << endl << i->second << " " << wall_parse_times[i->first] << endl; } @@ -485,19 +548,19 @@ void check_files_with_truth_n42( const string basedir ) int failed_truth_parsed = 0, initial_with_truth = 0, passed_tests = 0; int failed_tests = 0, updated_truths = 0, truths_failed_to_update = 0; - const vector with_truth = candidates_with_truth_n42_files( basedir ); + const vector with_truth = candidates_with_truth_n42_files( basedir ); - map parse_times; + map parse_times; for( size_t file_index = 0; file_index < with_truth.size(); ++file_index ) { - const path &fpath = with_truth[file_index]; + const string &fpath = with_truth[file_index]; ++initial; - const string filename = fpath.filename().string(); - const string originalpath = fpath.string(); - const string originalext = fpath.extension().string(); + const string filename = SpecUtils::filename(fpath); + const string originalpath = fpath; + const string originalext = SpecUtils::file_extension(fpath); //A little hack to only look at certain files when debugging; insert part of the filename @@ -538,10 +601,10 @@ void check_files_with_truth_n42( const string basedir ) ++initial_parsed; - const path tpath = fpath.parent_path() / g_truth_n42_dirname - / (filename + ".n42"); - if( !boost::filesystem::is_regular_file(tpath) ) + const string tpath = SpecUtils::append_path( SpecUtils::append_path( SpecUtils::parent_path(fpath), g_truth_n42_dirname ), (filename + ".n42") ); + + if( !SpecUtils::is_file(tpath) ) { cerr << "Fatal error: " << fpath << " doesnt have truth file at " << tpath << "\n\n"; @@ -549,12 +612,12 @@ void check_files_with_truth_n42( const string basedir ) } SpecUtils::SpecFile truth; - const bool truthstat = truth.load_file( tpath.string().c_str(), SpecUtils::ParserType::N42_2012, "" ); + const bool truthstat = truth.load_file( tpath, SpecUtils::ParserType::N42_2012, "" ); if( !truthstat ) { ++failed_truth_parsed; - cerr << "Failed to parse truth file " << tpath << "\n\tskipping.\n\n"; + cerr << "Failed to parse truth file '" << tpath << "'\n\tskipping.\n\n"; continue; } @@ -670,7 +733,7 @@ void check_files_with_truth_n42( const string basedir ) }//while( action != 'i' && action != 'u' ) }//try / catch - }//for( const path &path : with_truth ) + }//for( const string &path : with_truth ) cout << "Of the " << initial << " initial test files " << initial_parsed << " were parsable (" << failed_original_parsed << " failed).\n" @@ -691,18 +754,18 @@ void check_serialization_to_n42( const string basedir ) size_t ninitial = 0, nOrigFileFailParse = 0, nFailToSerialize = 0, nSerializedFileFailParse = 0, npassed = 0, nfailed = 0; - vector failedcompare; - const path tempdir = SpecUtils::temp_dir(); - const vector with_truth = candidates_with_truth_n42_files( basedir ); - for( const path &fpath : with_truth ) + vector failedcompare; + const string tempdir = SpecUtils::temp_dir(); + const vector with_truth = candidates_with_truth_n42_files( basedir ); + for( const string &fpath : with_truth ) { ++ninitial; - const string filename = fpath.filename().string(); - const string originalpath = fpath.string(); - const string originalext = fpath.extension().string(); + const string filename = SpecUtils::filename(fpath); + const string originalpath = fpath; + const string originalext = SpecUtils::file_extension(fpath); - SpecUtils::SpecFile info; + SpecUtils::SpecFile info; bool status = info.load_file( originalpath, SpecUtils::ParserType::Auto, originalext ); @@ -715,7 +778,7 @@ void check_serialization_to_n42( const string basedir ) }//if( !status ) - const string tempname = SpecUtils::temp_file_name( filename, tempdir.string().c_str() ); + const string tempname = SpecUtils::temp_file_name( filename, tempdir ); {//Begin codeblock to serialize to temporary file ofstream output( tempname.c_str() ); @@ -778,7 +841,7 @@ void check_serialization_to_n42( const string basedir ) }//try / catch SpecUtils::remove_file( tempname.c_str() ); - }//for( const path &fpath : with_truth ) + }//for( const string &fpath : with_truth ) cout << "N42 Serialization Test Results:\n" @@ -795,8 +858,8 @@ void check_serialization_to_n42( const string basedir ) if( failedcompare.size() ) { cout << "Files failing comparison:\n"; - for( const path &p : failedcompare ) - cout << "\t" << p << endl; + for( const string &p : failedcompare ) + cout << "\t'" << p << "'" << endl; cout << endl << endl; } @@ -819,19 +882,19 @@ void check_equality_operator( const string basedir ) size_t ninitial = 0, nOrigFileFailParse = 0, npassed = 0, nfailed = 0; - vector failedcompare; + vector failedcompare; // We'll only test on files with a truth-level N42 file to make sure we only // check files known to be good spectrum files. - const vector with_truth = candidates_with_truth_n42_files( basedir ); + const vector with_truth = candidates_with_truth_n42_files( basedir ); - for( const path &fpath : with_truth ) + for( const string &fpath : with_truth ) { ++ninitial; - const string filename = fpath.filename().string(); - const string originalpath = fpath.string(); - const string originalext = fpath.extension().string(); + const string filename = SpecUtils::filename(fpath); + const string originalpath = fpath; + const string originalext = SpecUtils::file_extension(fpath); SpecUtils::SpecFile info; @@ -861,7 +924,7 @@ void check_equality_operator( const string basedir ) << " failed with error:\n\t" << error_msg << "\n" << "\t(LHS is original parse, RHS is assigned copy)\n\n"; }//try / catch - }//for( const path &fpath : with_truth ) + }//for( const string &fpath : with_truth ) cout << "Equality Operator Test Results:\n" @@ -874,7 +937,7 @@ void check_equality_operator( const string basedir ) if( failedcompare.size() ) { cout << "Files failing operator= comparison:\n"; - for( const path &p : failedcompare ) + for( const string &p : failedcompare ) cout << "\t" << p << endl; cout << endl << endl; } @@ -892,60 +955,57 @@ void check_equality_operator( const string basedir ) }//void check_equality_operator( const string basedir ) -bool add_truth_n42( const SpecUtils::SpecFile &info, const path &p, +bool add_truth_n42( const SpecUtils::SpecFile &info, const string &p, const bool force ) { - const path parentdir = p.parent_path(); - const path truthdir = parentdir / g_truth_n42_dirname; - const path truth_n42 = truthdir / (p.filename().string() + ".n42"); - path old_n42; - const bool prevexist = boost::filesystem::is_regular_file( truth_n42 ); + const string parentdir = SpecUtils::parent_path(p); + const string truthdir = SpecUtils::append_path(parentdir, g_truth_n42_dirname); + const string truth_n42 = SpecUtils::append_path(truthdir, (SpecUtils::filename(p) + ".n42")); + string old_n42; + const bool prevexist = SpecUtils::is_file( truth_n42 ); if( !force && prevexist ) { cerr << "File " << truth_n42 << " already exits, not re-creating\n"; return false; }if( prevexist ) { - old_n42 = truth_n42.string() + ".prev"; - boost::filesystem::rename( truth_n42, old_n42 ); + old_n42 = truth_n42 + ".prev"; + SpecUtils::rename_file( truth_n42, old_n42 ); } try { - if( !boost::filesystem::is_directory( truthdir ) ) + if( !SpecUtils::is_directory( truthdir ) ) { try { - boost::filesystem::create_directory( truthdir ); - const string command = "git add '" + truthdir.string() + "'"; + SpecUtils::create_directory( truthdir ); + const string command = "git add '" + truthdir + "'"; const int val = system( command.c_str() ); if( val != 0 ) cerr << "\n\nThere may have been an issue adding " << truthdir << " to the GIT repository. Return code " << val << "\n"; }catch( std::exception &e ) { - throw runtime_error( "Couldnt create directory " - + truthdir.string() + ", so skipping file" ); + throw runtime_error( "Couldnt create directory " + truthdir + ", so skipping file" ); } - }//if( !boost::filesystem::is_directory( truthdir ) ) + }//if( !SpecUtils::is_directory( truthdir ) ) {//begin write file ofstream output( truth_n42.c_str() ); if( !output ) - throw runtime_error( "Couldnt create file " + truth_n42.string() - + ", so skipping file" ); + throw runtime_error( "Couldnt create file " + truth_n42 + ", so skipping file" ); const bool status = info.write_2012_N42( output ); if( !status ) - throw runtime_error( "Failed to write to file " - + truth_n42.string() + ", so skipping file" ); + throw runtime_error( "Failed to write to file " + truth_n42 + ", so skipping file" ); }//end write files SpecUtils::SpecFile reloadedinfo; const bool reloadstatus - = reloadedinfo.load_file( truth_n42.string().c_str(), SpecUtils::ParserType::N42_2012, "" ); + = reloadedinfo.load_file( truth_n42, SpecUtils::ParserType::N42_2012, "" ); if( !reloadstatus ) throw runtime_error( "Failed to read in written n42 file" ); @@ -974,9 +1034,9 @@ bool add_truth_n42( const SpecUtils::SpecFile &info, const path &p, }//try / catch for equal_enoughs if( !old_n42.empty() ) - try{ boost::filesystem::remove( old_n42 ); }catch(...){} + SpecUtils::remove_file( old_n42 ); - const string command = "git add '" + truth_n42.string() + "'"; + const string command = "git add '" + truth_n42 + "'"; const int rval = system( command.c_str() ); if( rval != 0 ) cerr << "\n\nThere may have been an issue adding " << truth_n42 @@ -987,18 +1047,18 @@ bool add_truth_n42( const SpecUtils::SpecFile &info, const path &p, }catch( std::exception &e ) { cerr << e.what() << "\n\tskipping writing file\n"; - if( !force && boost::filesystem::is_regular_file( truth_n42 ) ) + if( !force && SpecUtils::is_file( truth_n42 ) ) { - try{ boost::filesystem::remove( truth_n42 ); }catch(...){} + SpecUtils::remove_file( truth_n42 ); if( !old_n42.empty() ) - try{ boost::filesystem::rename( old_n42, truth_n42 ); }catch(...){} + SpecUtils::rename_file( old_n42, truth_n42 ); }//if( a new file was written ) return false; }//try / catch return true; -}//void add_truth_n42( SpecUtils::SpecFile &info, path &p ) +}//void add_truth_n42( SpecUtils::SpecFile &info, string &p ) @@ -1009,12 +1069,12 @@ void handle_no_truth_files( const string basedir ) cout << "\nFound " << no_truth.size() << " files without truth N42 files\n\n"; - for( const auto &path : no_truth ) + for( const string &path : no_truth ) { - const string filenamestr = path.string(); - const string extention = path.extension().string(); + const string filenamestr = path; + const string extention = SpecUtils::file_extension(path); - SpecUtils::SpecFile info; + SpecUtils::SpecFile info; const bool status = info.load_file( filenamestr, SpecUtils::ParserType::Auto, extention ); if( !status ) @@ -1065,7 +1125,7 @@ void handle_no_truth_files( const string basedir ) if( action == 'i' ) ++nignored; - }//for( const path &path : no_truth ) + }//for( const string &path : no_truth ) cout << "\n\nResults of trying to add truth N42 files:\n" @@ -1175,16 +1235,16 @@ string url_encode( const string &value ) -vector candidate_test_files( const string basedir ) +vector candidate_test_files( const string basedir ) { - vector filenames; + vector filenames; const vector allfiles = SpecUtils::recursive_ls( basedir ); for( const string &filepath : allfiles ) { const string filename = SpecUtils::filename(filepath); - const string parentdir = path(filepath).parent_path().filename().string(); + const string parentdir = SpecUtils::filename( SpecUtils::parent_path(filepath) ); if( filename != "source.txt" && filename != g_parse_time_filename @@ -1198,37 +1258,37 @@ vector candidate_test_files( const string basedir ) -vector candidates_with_truth_n42_files( const string basedir ) +vector candidates_with_truth_n42_files( const string basedir ) { - vector results; - const vector truthfiles = truth_n42_files( basedir ); - const vector candidates = candidate_test_files( basedir ); + vector results; + const vector truthfiles = truth_n42_files( basedir ); + const vector candidates = candidate_test_files( basedir ); - for( const path &cand : candidates ) + for( const string &cand : candidates ) { - const string filename = cand.filename().string() + ".n42"; - const path testpath = cand.parent_path() / g_truth_n42_dirname / filename; - const vector::const_iterator pos - = find( truthfiles.begin(), truthfiles.end(), testpath ); + const string filename = SpecUtils::filename(cand) + ".n42"; + + const string testpath = SpecUtils::append_path( SpecUtils::append_path(SpecUtils::parent_path(cand), g_truth_n42_dirname), filename ); + const vector::const_iterator pos = find( begin(truthfiles), end(truthfiles), testpath ); if( pos != truthfiles.end() ) results.push_back( cand ); - }//for( const path &cand : candidates ) + }//for( const string &cand : candidates ) return results; -}//vector candidates_with_truth_n42_files( const string basedir ) +}//vector candidates_with_truth_n42_files( const string basedir ) -vector truth_n42_files( const string basedir ) +vector truth_n42_files( const string basedir ) { - vector filenames; + vector filenames; const vector allfiles = SpecUtils::recursive_ls( basedir ); for( const string &filestr : allfiles ) { - const string filename = path(filestr).filename().string(); - const string parentdir = path(filestr).parent_path().filename().string(); + const string filename = SpecUtils::filename(filestr); + const string parentdir = SpecUtils::filename(SpecUtils::parent_path(filestr)); if( filename != "source.txt" && filename != g_parse_time_filename @@ -1238,26 +1298,26 @@ vector truth_n42_files( const string basedir ) }//for( const path &filename : allfiles ) return filenames; -}//vector truth_n42_files( const string basedir ) +}//vector truth_n42_files( const string basedir ) -vector candidates_without_truth_n42_files( const string basedir ) +vector candidates_without_truth_n42_files( const string basedir ) { - vector results; - const vector truthfiles = truth_n42_files( basedir ); - const vector candidates = candidate_test_files( basedir ); + vector results; + const vector truthfiles = truth_n42_files( basedir ); + const vector candidates = candidate_test_files( basedir ); - for( const path &cand : candidates ) + for( const string &cand : candidates ) { - const string filename = cand.filename().string() + ".n42"; - const path testpath = cand.parent_path() / g_truth_n42_dirname / filename; - const vector::const_iterator pos - = find( truthfiles.begin(), truthfiles.end(), testpath ); + const string filename = SpecUtils::filename(cand) + ".n42"; + const string parent_path = SpecUtils::parent_path(cand); + const string testpath = SpecUtils::append_path( SpecUtils::append_path(parent_path, g_truth_n42_dirname), filename ); + const vector::const_iterator pos = find( begin(truthfiles), end(truthfiles), testpath ); if( pos == truthfiles.end() ) results.push_back( cand ); - }//for( const path &cand : candidates ) + }//for( const string &cand : candidates ) return results; -}//vector candidates_without_truth_n42_files( const string basedir ) +}//vector candidates_without_truth_n42_files( const string basedir ) diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index fed46a4..0abc930 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -20,20 +20,24 @@ if( BUILD_AS_LOCAL_SERVER AND (CMAKE_GENERATOR STREQUAL "Xcode") ) endif( BUILD_AS_LOCAL_SERVER AND (CMAKE_GENERATOR STREQUAL "Xcode") ) -find_package( Boost REQUIRED COMPONENTS program_options date_time system filesystem unit_test_framework ) +find_package( Boost REQUIRED COMPONENTS program_options date_time system filesystem ) if( NOT Boost_FOUND ) message(FATAL_ERROR "Couldnt Find Boost") endif( NOT Boost_FOUND ) -#set( BOOST_LINK_LIBS ${Boost_LIBRARIES} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_DATE_TIME_LIBRARY} ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ) - # Set some command line arguments that all/most of the tests will use set( COMMON_TEST_ARGS --log_level=test_suite --report_level=detailed --catch_system_errors=yes ) set( DATA_DIR_ARGS --indir=\\"${CMAKE_CURRENT_SOURCE_DIR}/test_data\\" ) + +if( CMAKE_GENERATOR STREQUAL "Xcode" ) + list( APPEND COMMON_TEST_ARGS --no-colors=1 ) +endif( CMAKE_GENERATOR STREQUAL "Xcode" ) +message( "Args: ${COMMON_TEST_ARGS}") + add_executable( test_energy_calibration test_energy_calibration.cpp ) -target_link_libraries( test_energy_calibration PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_energy_calibration PRIVATE SpecUtils ) set_target_properties( test_energy_calibration PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestEnergyCalibration COMMAND $ ${COMMON_TEST_ARGS} -- ${DATA_DIR_ARGS} @@ -41,7 +45,7 @@ add_test( NAME TestEnergyCalibration add_executable( test_spec_file_open test_spec_file_open.cpp ) -target_link_libraries( test_spec_file_open PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_spec_file_open PRIVATE SpecUtils ) set_target_properties( test_spec_file_open PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) FILE(GLOB children RELATIVE ${ADD_TEST_SPEC_DIR} ${ADD_TEST_SPEC_DIR}/*) FOREACH(child ${children}) @@ -60,7 +64,7 @@ ENDFOREACH() add_executable( test_iso_time_string test_iso_time_string.cpp ) -target_link_libraries( test_iso_time_string PRIVATE SpecUtils Boost::unit_test_framework Boost::date_time) +target_link_libraries( test_iso_time_string PRIVATE SpecUtils Boost::date_time) set_target_properties( test_iso_time_string PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestIsoTimeString @@ -69,7 +73,7 @@ add_test( ) add_executable( test_safe_get_line test_safe_get_line.cpp ) -target_link_libraries( test_safe_get_line PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_safe_get_line PRIVATE SpecUtils ) set_target_properties( test_safe_get_line PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestSafeGetLine @@ -79,7 +83,7 @@ add_test( add_executable( test_time_from_string test_time_from_string.cpp ) -target_link_libraries( test_time_from_string PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_time_from_string PRIVATE SpecUtils ) set_target_properties( test_time_from_string PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestTimeFromString @@ -89,7 +93,7 @@ add_test( add_executable( test_string_functions test_string_functions.cpp ) -target_link_libraries( test_string_functions PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_string_functions PRIVATE SpecUtils ) set_target_properties( test_string_functions PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestUtilityStringFunctions @@ -99,7 +103,7 @@ add_test( add_executable( test_split_to_floats_and_ints test_split_to_floats_and_ints.cpp ) -target_link_libraries( test_split_to_floats_and_ints PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_split_to_floats_and_ints PRIVATE SpecUtils ) set_target_properties( test_split_to_floats_and_ints PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestSplitToFloats @@ -109,7 +113,7 @@ add_test( add_executable( test_utf8_limit_str_size test_utf8_limit_str_size.cpp ) -target_link_libraries( test_utf8_limit_str_size PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_utf8_limit_str_size PRIVATE SpecUtils ) set_target_properties( test_utf8_limit_str_size PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestUtf8LimitStrSize @@ -119,7 +123,7 @@ add_test( add_executable( test_utf8_str_len test_utf8_str_len.cpp ) -target_link_libraries( test_utf8_str_len PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_utf8_str_len PRIVATE SpecUtils ) set_target_properties( test_utf8_str_len PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestUtf8StrLen @@ -128,7 +132,7 @@ add_test( ) add_executable( test_cubic_spline test_cubic_spline.cpp ) -target_link_libraries( test_cubic_spline PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_cubic_spline PRIVATE SpecUtils ) set_target_properties( test_cubic_spline PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestCubicSpline @@ -138,7 +142,7 @@ add_test( add_executable( test_filesystem_functions test_filesystem_functions.cpp ) -target_link_libraries( test_filesystem_functions PRIVATE SpecUtils Boost::unit_test_framework Boost::filesystem ) +target_link_libraries( test_filesystem_functions PRIVATE SpecUtils Boost::filesystem ) set_target_properties( test_filesystem_functions PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME testUtilityFilesystemFunctions @@ -146,7 +150,7 @@ add_test( ) add_executable( test_rebin_by_lower_energy test_rebin_by_lower_energy.cpp ) -target_link_libraries( test_rebin_by_lower_energy PRIVATE SpecUtils Boost::unit_test_framework ) +target_link_libraries( test_rebin_by_lower_energy PRIVATE SpecUtils ) set_target_properties( test_rebin_by_lower_energy PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME TestRebinByLowerEnergy @@ -155,7 +159,7 @@ add_test( if( SpecUtils_ENABLE_URI_SPECTRA ) add_executable( test_uri_spectrum test_uri_spectrum.cpp ) - target_link_libraries( test_uri_spectrum PRIVATE SpecUtils Boost::unit_test_framework ) + target_link_libraries( test_uri_spectrum PRIVATE SpecUtils ) set_target_properties( test_uri_spectrum PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( NAME test_uri_spectrum diff --git a/unit_tests/doctest.h b/unit_tests/doctest.h new file mode 100644 index 0000000..5c754cd --- /dev/null +++ b/unit_tests/doctest.h @@ -0,0 +1,7106 @@ +// ====================================================================== lgtm [cpp/missing-header-guard] +// == DO NOT MODIFY THIS FILE BY HAND - IT IS AUTO GENERATED BY CMAKE! == +// ====================================================================== +// +// doctest.h - the lightest feature-rich C++ single-header testing framework for unit tests and TDD +// +// Copyright (c) 2016-2023 Viktor Kirilov +// +// Distributed under the MIT Software License +// See accompanying file LICENSE.txt or copy at +// https://opensource.org/licenses/MIT +// +// The documentation can be found at the library's page: +// https://github.com/doctest/doctest/blob/master/doc/markdown/readme.md +// +// ================================================================================================= +// ================================================================================================= +// ================================================================================================= +// +// The library is heavily influenced by Catch - https://github.com/catchorg/Catch2 +// which uses the Boost Software License - Version 1.0 +// see here - https://github.com/catchorg/Catch2/blob/master/LICENSE.txt +// +// The concept of subcases (sections in Catch) and expression decomposition are from there. +// Some parts of the code are taken directly: +// - stringification - the detection of "ostream& operator<<(ostream&, const T&)" and StringMaker<> +// - the Approx() helper class for floating point comparison +// - colors in the console +// - breaking into a debugger +// - signal / SEH handling +// - timer +// - XmlWriter class - thanks to Phil Nash for allowing the direct reuse (AKA copy/paste) +// +// The expression decomposing templates are taken from lest - https://github.com/martinmoene/lest +// which uses the Boost Software License - Version 1.0 +// see here - https://github.com/martinmoene/lest/blob/master/LICENSE.txt +// +// ================================================================================================= +// ================================================================================================= +// ================================================================================================= + +#ifndef DOCTEST_LIBRARY_INCLUDED +#define DOCTEST_LIBRARY_INCLUDED + +// ================================================================================================= +// == VERSION ====================================================================================== +// ================================================================================================= + +#define DOCTEST_VERSION_MAJOR 2 +#define DOCTEST_VERSION_MINOR 4 +#define DOCTEST_VERSION_PATCH 11 + +// util we need here +#define DOCTEST_TOSTR_IMPL(x) #x +#define DOCTEST_TOSTR(x) DOCTEST_TOSTR_IMPL(x) + +#define DOCTEST_VERSION_STR \ + DOCTEST_TOSTR(DOCTEST_VERSION_MAJOR) "." \ + DOCTEST_TOSTR(DOCTEST_VERSION_MINOR) "." \ + DOCTEST_TOSTR(DOCTEST_VERSION_PATCH) + +#define DOCTEST_VERSION \ + (DOCTEST_VERSION_MAJOR * 10000 + DOCTEST_VERSION_MINOR * 100 + DOCTEST_VERSION_PATCH) + +// ================================================================================================= +// == COMPILER VERSION ============================================================================= +// ================================================================================================= + +// ideas for the version stuff are taken from here: https://github.com/cxxstuff/cxx_detect + +#ifdef _MSC_VER +#define DOCTEST_CPLUSPLUS _MSVC_LANG +#else +#define DOCTEST_CPLUSPLUS __cplusplus +#endif + +#define DOCTEST_COMPILER(MAJOR, MINOR, PATCH) ((MAJOR)*10000000 + (MINOR)*100000 + (PATCH)) + +// GCC/Clang and GCC/MSVC are mutually exclusive, but Clang/MSVC are not because of clang-cl... +#if defined(_MSC_VER) && defined(_MSC_FULL_VER) +#if _MSC_VER == _MSC_FULL_VER / 10000 +#define DOCTEST_MSVC DOCTEST_COMPILER(_MSC_VER / 100, _MSC_VER % 100, _MSC_FULL_VER % 10000) +#else // MSVC +#define DOCTEST_MSVC \ + DOCTEST_COMPILER(_MSC_VER / 100, (_MSC_FULL_VER / 100000) % 100, _MSC_FULL_VER % 100000) +#endif // MSVC +#endif // MSVC +#if defined(__clang__) && defined(__clang_minor__) && defined(__clang_patchlevel__) +#define DOCTEST_CLANG DOCTEST_COMPILER(__clang_major__, __clang_minor__, __clang_patchlevel__) +#elif defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) && \ + !defined(__INTEL_COMPILER) +#define DOCTEST_GCC DOCTEST_COMPILER(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) +#endif // GCC +#if defined(__INTEL_COMPILER) +#define DOCTEST_ICC DOCTEST_COMPILER(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0) +#endif // ICC + +#ifndef DOCTEST_MSVC +#define DOCTEST_MSVC 0 +#endif // DOCTEST_MSVC +#ifndef DOCTEST_CLANG +#define DOCTEST_CLANG 0 +#endif // DOCTEST_CLANG +#ifndef DOCTEST_GCC +#define DOCTEST_GCC 0 +#endif // DOCTEST_GCC +#ifndef DOCTEST_ICC +#define DOCTEST_ICC 0 +#endif // DOCTEST_ICC + +// ================================================================================================= +// == COMPILER WARNINGS HELPERS ==================================================================== +// ================================================================================================= + +#if DOCTEST_CLANG && !DOCTEST_ICC +#define DOCTEST_PRAGMA_TO_STR(x) _Pragma(#x) +#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH _Pragma("clang diagnostic push") +#define DOCTEST_CLANG_SUPPRESS_WARNING(w) DOCTEST_PRAGMA_TO_STR(clang diagnostic ignored w) +#define DOCTEST_CLANG_SUPPRESS_WARNING_POP _Pragma("clang diagnostic pop") +#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w) \ + DOCTEST_CLANG_SUPPRESS_WARNING_PUSH DOCTEST_CLANG_SUPPRESS_WARNING(w) +#else // DOCTEST_CLANG +#define DOCTEST_CLANG_SUPPRESS_WARNING_PUSH +#define DOCTEST_CLANG_SUPPRESS_WARNING(w) +#define DOCTEST_CLANG_SUPPRESS_WARNING_POP +#define DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH(w) +#endif // DOCTEST_CLANG + +#if DOCTEST_GCC +#define DOCTEST_PRAGMA_TO_STR(x) _Pragma(#x) +#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH _Pragma("GCC diagnostic push") +#define DOCTEST_GCC_SUPPRESS_WARNING(w) DOCTEST_PRAGMA_TO_STR(GCC diagnostic ignored w) +#define DOCTEST_GCC_SUPPRESS_WARNING_POP _Pragma("GCC diagnostic pop") +#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w) \ + DOCTEST_GCC_SUPPRESS_WARNING_PUSH DOCTEST_GCC_SUPPRESS_WARNING(w) +#else // DOCTEST_GCC +#define DOCTEST_GCC_SUPPRESS_WARNING_PUSH +#define DOCTEST_GCC_SUPPRESS_WARNING(w) +#define DOCTEST_GCC_SUPPRESS_WARNING_POP +#define DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH(w) +#endif // DOCTEST_GCC + +#if DOCTEST_MSVC +#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH __pragma(warning(push)) +#define DOCTEST_MSVC_SUPPRESS_WARNING(w) __pragma(warning(disable : w)) +#define DOCTEST_MSVC_SUPPRESS_WARNING_POP __pragma(warning(pop)) +#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w) \ + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH DOCTEST_MSVC_SUPPRESS_WARNING(w) +#else // DOCTEST_MSVC +#define DOCTEST_MSVC_SUPPRESS_WARNING_PUSH +#define DOCTEST_MSVC_SUPPRESS_WARNING(w) +#define DOCTEST_MSVC_SUPPRESS_WARNING_POP +#define DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(w) +#endif // DOCTEST_MSVC + +// ================================================================================================= +// == COMPILER WARNINGS ============================================================================ +// ================================================================================================= + +// both the header and the implementation suppress all of these, +// so it only makes sense to aggregate them like so +#define DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH \ + DOCTEST_CLANG_SUPPRESS_WARNING_PUSH \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wunknown-pragmas") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wweak-vtables") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wpadded") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-prototypes") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat") \ + DOCTEST_CLANG_SUPPRESS_WARNING("-Wc++98-compat-pedantic") \ + \ + DOCTEST_GCC_SUPPRESS_WARNING_PUSH \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wunknown-pragmas") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wpragmas") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Weffc++") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-overflow") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wstrict-aliasing") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-declarations") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wuseless-cast") \ + DOCTEST_GCC_SUPPRESS_WARNING("-Wnoexcept") \ + \ + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH \ + /* these 4 also disabled globally via cmake: */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4514) /* unreferenced inline function has been removed */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4571) /* SEH related */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4710) /* function not inlined */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4711) /* function selected for inline expansion*/ \ + /* common ones */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4616) /* invalid compiler warning */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4619) /* invalid compiler warning */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4996) /* The compiler encountered a deprecated declaration */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4706) /* assignment within conditional expression */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4512) /* 'class' : assignment operator could not be generated */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4127) /* conditional expression is constant */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4820) /* padding */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4625) /* copy constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4626) /* assignment operator was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5027) /* move assignment operator implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5026) /* move constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4640) /* construction of local static object not thread-safe */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5045) /* Spectre mitigation for memory load */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5264) /* 'variable-name': 'const' variable is not used */ \ + /* static analysis */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26439) /* Function may not throw. Declare it 'noexcept' */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26495) /* Always initialize a member variable */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26451) /* Arithmetic overflow ... */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26444) /* Avoid unnamed objects with custom ctor and dtor... */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(26812) /* Prefer 'enum class' over 'enum' */ + +#define DOCTEST_SUPPRESS_COMMON_WARNINGS_POP \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP \ + DOCTEST_GCC_SUPPRESS_WARNING_POP \ + DOCTEST_MSVC_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH + +DOCTEST_CLANG_SUPPRESS_WARNING_PUSH +DOCTEST_CLANG_SUPPRESS_WARNING("-Wnon-virtual-dtor") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wdeprecated") + +DOCTEST_GCC_SUPPRESS_WARNING_PUSH +DOCTEST_GCC_SUPPRESS_WARNING("-Wctor-dtor-privacy") +DOCTEST_GCC_SUPPRESS_WARNING("-Wnon-virtual-dtor") +DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-promo") + +DOCTEST_MSVC_SUPPRESS_WARNING_PUSH +DOCTEST_MSVC_SUPPRESS_WARNING(4623) // default constructor was implicitly defined as deleted + +#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN \ + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH \ + DOCTEST_MSVC_SUPPRESS_WARNING(4548) /* before comma no effect; expected side - effect */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4265) /* virtual functions, but destructor is not virtual */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4986) /* exception specification does not match previous */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4350) /* 'member1' called instead of 'member2' */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4668) /* not defined as a preprocessor macro */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4365) /* signed/unsigned mismatch */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4774) /* format string not a string literal */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4820) /* padding */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4625) /* copy constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4626) /* assignment operator was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5027) /* move assignment operator implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5026) /* move constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4623) /* default constructor was implicitly deleted */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5039) /* pointer to pot. throwing function passed to extern C */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5045) /* Spectre mitigation for memory load */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5105) /* macro producing 'defined' has undefined behavior */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(4738) /* storing float result in memory, loss of performance */ \ + DOCTEST_MSVC_SUPPRESS_WARNING(5262) /* implicit fall-through */ + +#define DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END DOCTEST_MSVC_SUPPRESS_WARNING_POP + +// ================================================================================================= +// == FEATURE DETECTION ============================================================================ +// ================================================================================================= + +// general compiler feature support table: https://en.cppreference.com/w/cpp/compiler_support +// MSVC C++11 feature support table: https://msdn.microsoft.com/en-us/library/hh567368.aspx +// GCC C++11 feature support table: https://gcc.gnu.org/projects/cxx-status.html +// MSVC version table: +// https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B#Internal_version_numbering +// MSVC++ 14.3 (17) _MSC_VER == 1930 (Visual Studio 2022) +// MSVC++ 14.2 (16) _MSC_VER == 1920 (Visual Studio 2019) +// MSVC++ 14.1 (15) _MSC_VER == 1910 (Visual Studio 2017) +// MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015) +// MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013) +// MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012) +// MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010) +// MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008) +// MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005) + +// Universal Windows Platform support +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +#define DOCTEST_CONFIG_NO_WINDOWS_SEH +#endif // WINAPI_FAMILY +#if DOCTEST_MSVC && !defined(DOCTEST_CONFIG_WINDOWS_SEH) +#define DOCTEST_CONFIG_WINDOWS_SEH +#endif // MSVC +#if defined(DOCTEST_CONFIG_NO_WINDOWS_SEH) && defined(DOCTEST_CONFIG_WINDOWS_SEH) +#undef DOCTEST_CONFIG_WINDOWS_SEH +#endif // DOCTEST_CONFIG_NO_WINDOWS_SEH + +#if !defined(_WIN32) && !defined(__QNX__) && !defined(DOCTEST_CONFIG_POSIX_SIGNALS) && \ + !defined(__EMSCRIPTEN__) && !defined(__wasi__) +#define DOCTEST_CONFIG_POSIX_SIGNALS +#endif // _WIN32 +#if defined(DOCTEST_CONFIG_NO_POSIX_SIGNALS) && defined(DOCTEST_CONFIG_POSIX_SIGNALS) +#undef DOCTEST_CONFIG_POSIX_SIGNALS +#endif // DOCTEST_CONFIG_NO_POSIX_SIGNALS + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS +#if !defined(__cpp_exceptions) && !defined(__EXCEPTIONS) && !defined(_CPPUNWIND) \ + || defined(__wasi__) +#define DOCTEST_CONFIG_NO_EXCEPTIONS +#endif // no exceptions +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS +#define DOCTEST_CONFIG_NO_EXCEPTIONS +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS + +#if defined(DOCTEST_CONFIG_NO_EXCEPTIONS) && !defined(DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS) +#define DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS && !DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS + +#ifdef __wasi__ +#define DOCTEST_CONFIG_NO_MULTITHREADING +#endif + +#if defined(DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN) && !defined(DOCTEST_CONFIG_IMPLEMENT) +#define DOCTEST_CONFIG_IMPLEMENT +#endif // DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN + +#if defined(_WIN32) || defined(__CYGWIN__) +#if DOCTEST_MSVC +#define DOCTEST_SYMBOL_EXPORT __declspec(dllexport) +#define DOCTEST_SYMBOL_IMPORT __declspec(dllimport) +#else // MSVC +#define DOCTEST_SYMBOL_EXPORT __attribute__((dllexport)) +#define DOCTEST_SYMBOL_IMPORT __attribute__((dllimport)) +#endif // MSVC +#else // _WIN32 +#define DOCTEST_SYMBOL_EXPORT __attribute__((visibility("default"))) +#define DOCTEST_SYMBOL_IMPORT +#endif // _WIN32 + +#ifdef DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL +#ifdef DOCTEST_CONFIG_IMPLEMENT +#define DOCTEST_INTERFACE DOCTEST_SYMBOL_EXPORT +#else // DOCTEST_CONFIG_IMPLEMENT +#define DOCTEST_INTERFACE DOCTEST_SYMBOL_IMPORT +#endif // DOCTEST_CONFIG_IMPLEMENT +#else // DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL +#define DOCTEST_INTERFACE +#endif // DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL + +// needed for extern template instantiations +// see https://github.com/fmtlib/fmt/issues/2228 +#if DOCTEST_MSVC +#define DOCTEST_INTERFACE_DECL +#define DOCTEST_INTERFACE_DEF DOCTEST_INTERFACE +#else // DOCTEST_MSVC +#define DOCTEST_INTERFACE_DECL DOCTEST_INTERFACE +#define DOCTEST_INTERFACE_DEF +#endif // DOCTEST_MSVC + +#define DOCTEST_EMPTY + +#if DOCTEST_MSVC +#define DOCTEST_NOINLINE __declspec(noinline) +#define DOCTEST_UNUSED +#define DOCTEST_ALIGNMENT(x) +#elif DOCTEST_CLANG && DOCTEST_CLANG < DOCTEST_COMPILER(3, 5, 0) +#define DOCTEST_NOINLINE +#define DOCTEST_UNUSED +#define DOCTEST_ALIGNMENT(x) +#else +#define DOCTEST_NOINLINE __attribute__((noinline)) +#define DOCTEST_UNUSED __attribute__((unused)) +#define DOCTEST_ALIGNMENT(x) __attribute__((aligned(x))) +#endif + +#ifdef DOCTEST_CONFIG_NO_CONTRADICTING_INLINE +#define DOCTEST_INLINE_NOINLINE inline +#else +#define DOCTEST_INLINE_NOINLINE inline DOCTEST_NOINLINE +#endif + +#ifndef DOCTEST_NORETURN +#if DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_NORETURN +#else // DOCTEST_MSVC +#define DOCTEST_NORETURN [[noreturn]] +#endif // DOCTEST_MSVC +#endif // DOCTEST_NORETURN + +#ifndef DOCTEST_NOEXCEPT +#if DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_NOEXCEPT +#else // DOCTEST_MSVC +#define DOCTEST_NOEXCEPT noexcept +#endif // DOCTEST_MSVC +#endif // DOCTEST_NOEXCEPT + +#ifndef DOCTEST_CONSTEXPR +#if DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_CONSTEXPR const +#define DOCTEST_CONSTEXPR_FUNC inline +#else // DOCTEST_MSVC +#define DOCTEST_CONSTEXPR constexpr +#define DOCTEST_CONSTEXPR_FUNC constexpr +#endif // DOCTEST_MSVC +#endif // DOCTEST_CONSTEXPR + +#ifndef DOCTEST_NO_SANITIZE_INTEGER +#if DOCTEST_CLANG >= DOCTEST_COMPILER(3, 7, 0) +#define DOCTEST_NO_SANITIZE_INTEGER __attribute__((no_sanitize("integer"))) +#else +#define DOCTEST_NO_SANITIZE_INTEGER +#endif +#endif // DOCTEST_NO_SANITIZE_INTEGER + +// ================================================================================================= +// == FEATURE DETECTION END ======================================================================== +// ================================================================================================= + +#define DOCTEST_DECLARE_INTERFACE(name) \ + virtual ~name(); \ + name() = default; \ + name(const name&) = delete; \ + name(name&&) = delete; \ + name& operator=(const name&) = delete; \ + name& operator=(name&&) = delete; + +#define DOCTEST_DEFINE_INTERFACE(name) \ + name::~name() = default; + +// internal macros for string concatenation and anonymous variable name generation +#define DOCTEST_CAT_IMPL(s1, s2) s1##s2 +#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2) +#ifdef __COUNTER__ // not standard and may be missing for some compilers +#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__) +#else // __COUNTER__ +#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __LINE__) +#endif // __COUNTER__ + +#ifndef DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE +#define DOCTEST_REF_WRAP(x) x& +#else // DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE +#define DOCTEST_REF_WRAP(x) x +#endif // DOCTEST_CONFIG_ASSERTION_PARAMETERS_BY_VALUE + +// not using __APPLE__ because... this is how Catch does it +#ifdef __MAC_OS_X_VERSION_MIN_REQUIRED +#define DOCTEST_PLATFORM_MAC +#elif defined(__IPHONE_OS_VERSION_MIN_REQUIRED) +#define DOCTEST_PLATFORM_IPHONE +#elif defined(_WIN32) +#define DOCTEST_PLATFORM_WINDOWS +#elif defined(__wasi__) +#define DOCTEST_PLATFORM_WASI +#else // DOCTEST_PLATFORM +#define DOCTEST_PLATFORM_LINUX +#endif // DOCTEST_PLATFORM + +namespace doctest { namespace detail { + static DOCTEST_CONSTEXPR int consume(const int*, int) noexcept { return 0; } +}} + +#define DOCTEST_GLOBAL_NO_WARNINGS(var, ...) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wglobal-constructors") \ + static const int var = doctest::detail::consume(&var, __VA_ARGS__); \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP + +#ifndef DOCTEST_BREAK_INTO_DEBUGGER +// should probably take a look at https://github.com/scottt/debugbreak +#ifdef DOCTEST_PLATFORM_LINUX +#if defined(__GNUC__) && (defined(__i386) || defined(__x86_64)) +// Break at the location of the failing check if possible +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler) +#else +#include +#define DOCTEST_BREAK_INTO_DEBUGGER() raise(SIGTRAP) +#endif +#elif defined(DOCTEST_PLATFORM_MAC) +#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) || defined(__i386) +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler) +#elif defined(__ppc__) || defined(__ppc64__) +// https://www.cocoawithlove.com/2008/03/break-into-debugger.html +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("li r0, 20\nsc\nnop\nli r0, 37\nli r4, 2\nsc\nnop\n": : : "memory","r0","r3","r4") // NOLINT(hicpp-no-assembler) +#else +#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("brk #0"); // NOLINT(hicpp-no-assembler) +#endif +#elif DOCTEST_MSVC +#define DOCTEST_BREAK_INTO_DEBUGGER() __debugbreak() +#elif defined(__MINGW32__) +DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wredundant-decls") +extern "C" __declspec(dllimport) void __stdcall DebugBreak(); +DOCTEST_GCC_SUPPRESS_WARNING_POP +#define DOCTEST_BREAK_INTO_DEBUGGER() ::DebugBreak() +#else // linux +#define DOCTEST_BREAK_INTO_DEBUGGER() (static_cast(0)) +#endif // linux +#endif // DOCTEST_BREAK_INTO_DEBUGGER + +// this is kept here for backwards compatibility since the config option was changed +#ifdef DOCTEST_CONFIG_USE_IOSFWD +#ifndef DOCTEST_CONFIG_USE_STD_HEADERS +#define DOCTEST_CONFIG_USE_STD_HEADERS +#endif +#endif // DOCTEST_CONFIG_USE_IOSFWD + +// for clang - always include ciso646 (which drags some std stuff) because +// we want to check if we are using libc++ with the _LIBCPP_VERSION macro in +// which case we don't want to forward declare stuff from std - for reference: +// https://github.com/doctest/doctest/issues/126 +// https://github.com/doctest/doctest/issues/356 +#if DOCTEST_CLANG +#include +#endif // clang + +#ifdef _LIBCPP_VERSION +#ifndef DOCTEST_CONFIG_USE_STD_HEADERS +#define DOCTEST_CONFIG_USE_STD_HEADERS +#endif +#endif // _LIBCPP_VERSION + +#ifdef DOCTEST_CONFIG_USE_STD_HEADERS +#ifndef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#define DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN +#include +#include +#include +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END +#else // DOCTEST_CONFIG_USE_STD_HEADERS + +// Forward declaring 'X' in namespace std is not permitted by the C++ Standard. +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4643) + +namespace std { // NOLINT(cert-dcl58-cpp) +typedef decltype(nullptr) nullptr_t; // NOLINT(modernize-use-using) +typedef decltype(sizeof(void*)) size_t; // NOLINT(modernize-use-using) +template +struct char_traits; +template <> +struct char_traits; +template +class basic_ostream; // NOLINT(fuchsia-virtual-inheritance) +typedef basic_ostream> ostream; // NOLINT(modernize-use-using) +template +// NOLINTNEXTLINE +basic_ostream& operator<<(basic_ostream&, const char*); +template +class basic_istream; +typedef basic_istream> istream; // NOLINT(modernize-use-using) +template +class tuple; +#if DOCTEST_MSVC >= DOCTEST_COMPILER(19, 20, 0) +// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183 +template +class allocator; +template +class basic_string; +using string = basic_string, allocator>; +#endif // VS 2019 +} // namespace std + +DOCTEST_MSVC_SUPPRESS_WARNING_POP + +#endif // DOCTEST_CONFIG_USE_STD_HEADERS + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#include +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + +namespace doctest { + +using std::size_t; + +DOCTEST_INTERFACE extern bool is_running_in_test; + +#ifndef DOCTEST_CONFIG_STRING_SIZE_TYPE +#define DOCTEST_CONFIG_STRING_SIZE_TYPE unsigned +#endif + +// A 24 byte string class (can be as small as 17 for x64 and 13 for x86) that can hold strings with length +// of up to 23 chars on the stack before going on the heap - the last byte of the buffer is used for: +// - "is small" bit - the highest bit - if "0" then it is small - otherwise its "1" (128) +// - if small - capacity left before going on the heap - using the lowest 5 bits +// - if small - 2 bits are left unused - the second and third highest ones +// - if small - acts as a null terminator if strlen() is 23 (24 including the null terminator) +// and the "is small" bit remains "0" ("as well as the capacity left") so its OK +// Idea taken from this lecture about the string implementation of facebook/folly - fbstring +// https://www.youtube.com/watch?v=kPR8h4-qZdk +// TODO: +// - optimizations - like not deleting memory unnecessarily in operator= and etc. +// - resize/reserve/clear +// - replace +// - back/front +// - iterator stuff +// - find & friends +// - push_back/pop_back +// - assign/insert/erase +// - relational operators as free functions - taking const char* as one of the params +class DOCTEST_INTERFACE String +{ +public: + using size_type = DOCTEST_CONFIG_STRING_SIZE_TYPE; + +private: + static DOCTEST_CONSTEXPR size_type len = 24; //!OCLINT avoid private static members + static DOCTEST_CONSTEXPR size_type last = len - 1; //!OCLINT avoid private static members + + struct view // len should be more than sizeof(view) - because of the final byte for flags + { + char* ptr; + size_type size; + size_type capacity; + }; + + union + { + char buf[len]; // NOLINT(*-avoid-c-arrays) + view data; + }; + + char* allocate(size_type sz); + + bool isOnStack() const noexcept { return (buf[last] & 128) == 0; } + void setOnHeap() noexcept; + void setLast(size_type in = last) noexcept; + void setSize(size_type sz) noexcept; + + void copy(const String& other); + +public: + static DOCTEST_CONSTEXPR size_type npos = static_cast(-1); + + String() noexcept; + ~String(); + + // cppcheck-suppress noExplicitConstructor + String(const char* in); + String(const char* in, size_type in_size); + + String(std::istream& in, size_type in_size); + + String(const String& other); + String& operator=(const String& other); + + String& operator+=(const String& other); + + String(String&& other) noexcept; + String& operator=(String&& other) noexcept; + + char operator[](size_type i) const; + char& operator[](size_type i); + + // the only functions I'm willing to leave in the interface - available for inlining + const char* c_str() const { return const_cast(this)->c_str(); } // NOLINT + char* c_str() { + if (isOnStack()) { + return reinterpret_cast(buf); + } + return data.ptr; + } + + size_type size() const; + size_type capacity() const; + + String substr(size_type pos, size_type cnt = npos) &&; + String substr(size_type pos, size_type cnt = npos) const &; + + size_type find(char ch, size_type pos = 0) const; + size_type rfind(char ch, size_type pos = npos) const; + + int compare(const char* other, bool no_case = false) const; + int compare(const String& other, bool no_case = false) const; + +friend DOCTEST_INTERFACE std::ostream& operator<<(std::ostream& s, const String& in); +}; + +DOCTEST_INTERFACE String operator+(const String& lhs, const String& rhs); + +DOCTEST_INTERFACE bool operator==(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator!=(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator<(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator>(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator<=(const String& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator>=(const String& lhs, const String& rhs); + +class DOCTEST_INTERFACE Contains { +public: + explicit Contains(const String& string); + + bool checkWith(const String& other) const; + + String string; +}; + +DOCTEST_INTERFACE String toString(const Contains& in); + +DOCTEST_INTERFACE bool operator==(const String& lhs, const Contains& rhs); +DOCTEST_INTERFACE bool operator==(const Contains& lhs, const String& rhs); +DOCTEST_INTERFACE bool operator!=(const String& lhs, const Contains& rhs); +DOCTEST_INTERFACE bool operator!=(const Contains& lhs, const String& rhs); + +namespace Color { + enum Enum + { + None = 0, + White, + Red, + Green, + Blue, + Cyan, + Yellow, + Grey, + + Bright = 0x10, + + BrightRed = Bright | Red, + BrightGreen = Bright | Green, + LightGrey = Bright | Grey, + BrightWhite = Bright | White + }; + + DOCTEST_INTERFACE std::ostream& operator<<(std::ostream& s, Color::Enum code); +} // namespace Color + +namespace assertType { + enum Enum + { + // macro traits + + is_warn = 1, + is_check = 2 * is_warn, + is_require = 2 * is_check, + + is_normal = 2 * is_require, + is_throws = 2 * is_normal, + is_throws_as = 2 * is_throws, + is_throws_with = 2 * is_throws_as, + is_nothrow = 2 * is_throws_with, + + is_false = 2 * is_nothrow, + is_unary = 2 * is_false, // not checked anywhere - used just to distinguish the types + + is_eq = 2 * is_unary, + is_ne = 2 * is_eq, + + is_lt = 2 * is_ne, + is_gt = 2 * is_lt, + + is_ge = 2 * is_gt, + is_le = 2 * is_ge, + + // macro types + + DT_WARN = is_normal | is_warn, + DT_CHECK = is_normal | is_check, + DT_REQUIRE = is_normal | is_require, + + DT_WARN_FALSE = is_normal | is_false | is_warn, + DT_CHECK_FALSE = is_normal | is_false | is_check, + DT_REQUIRE_FALSE = is_normal | is_false | is_require, + + DT_WARN_THROWS = is_throws | is_warn, + DT_CHECK_THROWS = is_throws | is_check, + DT_REQUIRE_THROWS = is_throws | is_require, + + DT_WARN_THROWS_AS = is_throws_as | is_warn, + DT_CHECK_THROWS_AS = is_throws_as | is_check, + DT_REQUIRE_THROWS_AS = is_throws_as | is_require, + + DT_WARN_THROWS_WITH = is_throws_with | is_warn, + DT_CHECK_THROWS_WITH = is_throws_with | is_check, + DT_REQUIRE_THROWS_WITH = is_throws_with | is_require, + + DT_WARN_THROWS_WITH_AS = is_throws_with | is_throws_as | is_warn, + DT_CHECK_THROWS_WITH_AS = is_throws_with | is_throws_as | is_check, + DT_REQUIRE_THROWS_WITH_AS = is_throws_with | is_throws_as | is_require, + + DT_WARN_NOTHROW = is_nothrow | is_warn, + DT_CHECK_NOTHROW = is_nothrow | is_check, + DT_REQUIRE_NOTHROW = is_nothrow | is_require, + + DT_WARN_EQ = is_normal | is_eq | is_warn, + DT_CHECK_EQ = is_normal | is_eq | is_check, + DT_REQUIRE_EQ = is_normal | is_eq | is_require, + + DT_WARN_NE = is_normal | is_ne | is_warn, + DT_CHECK_NE = is_normal | is_ne | is_check, + DT_REQUIRE_NE = is_normal | is_ne | is_require, + + DT_WARN_GT = is_normal | is_gt | is_warn, + DT_CHECK_GT = is_normal | is_gt | is_check, + DT_REQUIRE_GT = is_normal | is_gt | is_require, + + DT_WARN_LT = is_normal | is_lt | is_warn, + DT_CHECK_LT = is_normal | is_lt | is_check, + DT_REQUIRE_LT = is_normal | is_lt | is_require, + + DT_WARN_GE = is_normal | is_ge | is_warn, + DT_CHECK_GE = is_normal | is_ge | is_check, + DT_REQUIRE_GE = is_normal | is_ge | is_require, + + DT_WARN_LE = is_normal | is_le | is_warn, + DT_CHECK_LE = is_normal | is_le | is_check, + DT_REQUIRE_LE = is_normal | is_le | is_require, + + DT_WARN_UNARY = is_normal | is_unary | is_warn, + DT_CHECK_UNARY = is_normal | is_unary | is_check, + DT_REQUIRE_UNARY = is_normal | is_unary | is_require, + + DT_WARN_UNARY_FALSE = is_normal | is_false | is_unary | is_warn, + DT_CHECK_UNARY_FALSE = is_normal | is_false | is_unary | is_check, + DT_REQUIRE_UNARY_FALSE = is_normal | is_false | is_unary | is_require, + }; +} // namespace assertType + +DOCTEST_INTERFACE const char* assertString(assertType::Enum at); +DOCTEST_INTERFACE const char* failureString(assertType::Enum at); +DOCTEST_INTERFACE const char* skipPathFromFilename(const char* file); + +struct DOCTEST_INTERFACE TestCaseData +{ + String m_file; // the file in which the test was registered (using String - see #350) + unsigned m_line; // the line where the test was registered + const char* m_name; // name of the test case + const char* m_test_suite; // the test suite in which the test was added + const char* m_description; + bool m_skip; + bool m_no_breaks; + bool m_no_output; + bool m_may_fail; + bool m_should_fail; + int m_expected_failures; + double m_timeout; +}; + +struct DOCTEST_INTERFACE AssertData +{ + // common - for all asserts + const TestCaseData* m_test_case; + assertType::Enum m_at; + const char* m_file; + int m_line; + const char* m_expr; + bool m_failed; + + // exception-related - for all asserts + bool m_threw; + String m_exception; + + // for normal asserts + String m_decomp; + + // for specific exception-related asserts + bool m_threw_as; + const char* m_exception_type; + + class DOCTEST_INTERFACE StringContains { + private: + Contains content; + bool isContains; + + public: + StringContains(const String& str) : content(str), isContains(false) { } + StringContains(Contains cntn) : content(static_cast(cntn)), isContains(true) { } + + bool check(const String& str) { return isContains ? (content == str) : (content.string == str); } + + operator const String&() const { return content.string; } + + const char* c_str() const { return content.string.c_str(); } + } m_exception_string; + + AssertData(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const StringContains& exception_string); +}; + +struct DOCTEST_INTERFACE MessageData +{ + String m_string; + const char* m_file; + int m_line; + assertType::Enum m_severity; +}; + +struct DOCTEST_INTERFACE SubcaseSignature +{ + String m_name; + const char* m_file; + int m_line; + + bool operator==(const SubcaseSignature& other) const; + bool operator<(const SubcaseSignature& other) const; +}; + +struct DOCTEST_INTERFACE IContextScope +{ + DOCTEST_DECLARE_INTERFACE(IContextScope) + virtual void stringify(std::ostream*) const = 0; +}; + +namespace detail { + struct DOCTEST_INTERFACE TestCase; +} // namespace detail + +struct ContextOptions //!OCLINT too many fields +{ + std::ostream* cout = nullptr; // stdout stream + String binary_name; // the test binary name + + const detail::TestCase* currentTest = nullptr; + + // == parameters from the command line + String out; // output filename + String order_by; // how tests should be ordered + unsigned rand_seed; // the seed for rand ordering + + unsigned first; // the first (matching) test to be executed + unsigned last; // the last (matching) test to be executed + + int abort_after; // stop tests after this many failed assertions + int subcase_filter_levels; // apply the subcase filters for the first N levels + + bool success; // include successful assertions in output + bool case_sensitive; // if filtering should be case sensitive + bool exit; // if the program should be exited after the tests are ran/whatever + bool duration; // print the time duration of each test case + bool minimal; // minimal console output (only test failures) + bool quiet; // no console output + bool no_throw; // to skip exceptions-related assertion macros + bool no_exitcode; // if the framework should return 0 as the exitcode + bool no_run; // to not run the tests at all (can be done with an "*" exclude) + bool no_intro; // to not print the intro of the framework + bool no_version; // to not print the version of the framework + bool no_colors; // if output to the console should be colorized + bool force_colors; // forces the use of colors even when a tty cannot be detected + bool no_breaks; // to not break into the debugger + bool no_skip; // don't skip test cases which are marked to be skipped + bool gnu_file_line; // if line numbers should be surrounded with :x: and not (x): + bool no_path_in_filenames; // if the path to files should be removed from the output + bool no_line_numbers; // if source code line numbers should be omitted from the output + bool no_debug_output; // no output in the debug console when a debugger is attached + bool no_skipped_summary; // don't print "skipped" in the summary !!! UNDOCUMENTED !!! + bool no_time_in_output; // omit any time/timestamps from output !!! UNDOCUMENTED !!! + + bool help; // to print the help + bool version; // to print the version + bool count; // if only the count of matching tests is to be retrieved + bool list_test_cases; // to list all tests matching the filters + bool list_test_suites; // to list all suites matching the filters + bool list_reporters; // lists all registered reporters +}; + +namespace detail { + namespace types { +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + using namespace std; +#else + template + struct enable_if { }; + + template + struct enable_if { using type = T; }; + + struct true_type { static DOCTEST_CONSTEXPR bool value = true; }; + struct false_type { static DOCTEST_CONSTEXPR bool value = false; }; + + template struct remove_reference { using type = T; }; + template struct remove_reference { using type = T; }; + template struct remove_reference { using type = T; }; + + template struct is_rvalue_reference : false_type { }; + template struct is_rvalue_reference : true_type { }; + + template struct remove_const { using type = T; }; + template struct remove_const { using type = T; }; + + // Compiler intrinsics + template struct is_enum { static DOCTEST_CONSTEXPR bool value = __is_enum(T); }; + template struct underlying_type { using type = __underlying_type(T); }; + + template struct is_pointer : false_type { }; + template struct is_pointer : true_type { }; + + template struct is_array : false_type { }; + // NOLINTNEXTLINE(*-avoid-c-arrays) + template struct is_array : true_type { }; +#endif + } + + // + template + T&& declval(); + + template + DOCTEST_CONSTEXPR_FUNC T&& forward(typename types::remove_reference::type& t) DOCTEST_NOEXCEPT { + return static_cast(t); + } + + template + DOCTEST_CONSTEXPR_FUNC T&& forward(typename types::remove_reference::type&& t) DOCTEST_NOEXCEPT { + return static_cast(t); + } + + template + struct deferred_false : types::false_type { }; + +// MSVS 2015 :( +#if !DOCTEST_CLANG && defined(_MSC_VER) && _MSC_VER <= 1900 + template + struct has_global_insertion_operator : types::false_type { }; + + template + struct has_global_insertion_operator(), declval()), void())> : types::true_type { }; + + template + struct has_insertion_operator { static DOCTEST_CONSTEXPR bool value = has_global_insertion_operator::value; }; + + template + struct insert_hack; + + template + struct insert_hack { + static void insert(std::ostream& os, const T& t) { ::operator<<(os, t); } + }; + + template + struct insert_hack { + static void insert(std::ostream& os, const T& t) { operator<<(os, t); } + }; + + template + using insert_hack_t = insert_hack::value>; +#else + template + struct has_insertion_operator : types::false_type { }; +#endif + + template + struct has_insertion_operator(), declval()), void())> : types::true_type { }; + + template + struct should_stringify_as_underlying_type { + static DOCTEST_CONSTEXPR bool value = detail::types::is_enum::value && !doctest::detail::has_insertion_operator::value; + }; + + DOCTEST_INTERFACE std::ostream* tlssPush(); + DOCTEST_INTERFACE String tlssPop(); + + template + struct StringMakerBase { + template + static String convert(const DOCTEST_REF_WRAP(T)) { +#ifdef DOCTEST_CONFIG_REQUIRE_STRINGIFICATION_FOR_ALL_USED_TYPES + static_assert(deferred_false::value, "No stringification detected for type T. See string conversion manual"); +#endif + return "{?}"; + } + }; + + template + struct filldata; + + template + void filloss(std::ostream* stream, const T& in) { + filldata::fill(stream, in); + } + + template + void filloss(std::ostream* stream, const T (&in)[N]) { // NOLINT(*-avoid-c-arrays) + // T[N], T(&)[N], T(&&)[N] have same behaviour. + // Hence remove reference. + filloss::type>(stream, in); + } + + template + String toStream(const T& in) { + std::ostream* stream = tlssPush(); + filloss(stream, in); + return tlssPop(); + } + + template <> + struct StringMakerBase { + template + static String convert(const DOCTEST_REF_WRAP(T) in) { + return toStream(in); + } + }; +} // namespace detail + +template +struct StringMaker : public detail::StringMakerBase< + detail::has_insertion_operator::value || detail::types::is_pointer::value || detail::types::is_array::value> +{}; + +#ifndef DOCTEST_STRINGIFY +#ifdef DOCTEST_CONFIG_DOUBLE_STRINGIFY +#define DOCTEST_STRINGIFY(...) toString(toString(__VA_ARGS__)) +#else +#define DOCTEST_STRINGIFY(...) toString(__VA_ARGS__) +#endif +#endif + +template +String toString() { +#if DOCTEST_CLANG == 0 && DOCTEST_GCC == 0 && DOCTEST_ICC == 0 + String ret = __FUNCSIG__; // class doctest::String __cdecl doctest::toString(void) + String::size_type beginPos = ret.find('<'); + return ret.substr(beginPos + 1, ret.size() - beginPos - static_cast(sizeof(">(void)"))); +#else + String ret = __PRETTY_FUNCTION__; // doctest::String toString() [with T = TYPE] + String::size_type begin = ret.find('=') + 2; + return ret.substr(begin, ret.size() - begin - 1); +#endif +} + +template ::value, bool>::type = true> +String toString(const DOCTEST_REF_WRAP(T) value) { + return StringMaker::convert(value); +} + +#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +DOCTEST_INTERFACE String toString(const char* in); +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + +#if DOCTEST_MSVC >= DOCTEST_COMPILER(19, 20, 0) +// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183 +DOCTEST_INTERFACE String toString(const std::string& in); +#endif // VS 2019 + +DOCTEST_INTERFACE String toString(String in); + +DOCTEST_INTERFACE String toString(std::nullptr_t); + +DOCTEST_INTERFACE String toString(bool in); + +DOCTEST_INTERFACE String toString(float in); +DOCTEST_INTERFACE String toString(double in); +DOCTEST_INTERFACE String toString(double long in); + +DOCTEST_INTERFACE String toString(char in); +DOCTEST_INTERFACE String toString(char signed in); +DOCTEST_INTERFACE String toString(char unsigned in); +DOCTEST_INTERFACE String toString(short in); +DOCTEST_INTERFACE String toString(short unsigned in); +DOCTEST_INTERFACE String toString(signed in); +DOCTEST_INTERFACE String toString(unsigned in); +DOCTEST_INTERFACE String toString(long in); +DOCTEST_INTERFACE String toString(long unsigned in); +DOCTEST_INTERFACE String toString(long long in); +DOCTEST_INTERFACE String toString(long long unsigned in); + +template ::value, bool>::type = true> +String toString(const DOCTEST_REF_WRAP(T) value) { + using UT = typename detail::types::underlying_type::type; + return (DOCTEST_STRINGIFY(static_cast(value))); +} + +namespace detail { + template + struct filldata + { + static void fill(std::ostream* stream, const T& in) { +#if defined(_MSC_VER) && _MSC_VER <= 1900 + insert_hack_t::insert(*stream, in); +#else + operator<<(*stream, in); +#endif + } + }; + +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4866) +// NOLINTBEGIN(*-avoid-c-arrays) + template + struct filldata { + static void fill(std::ostream* stream, const T(&in)[N]) { + *stream << "["; + for (size_t i = 0; i < N; i++) { + if (i != 0) { *stream << ", "; } + *stream << (DOCTEST_STRINGIFY(in[i])); + } + *stream << "]"; + } + }; +// NOLINTEND(*-avoid-c-arrays) +DOCTEST_MSVC_SUPPRESS_WARNING_POP + + // Specialized since we don't want the terminating null byte! +// NOLINTBEGIN(*-avoid-c-arrays) + template + struct filldata { + static void fill(std::ostream* stream, const char (&in)[N]) { + *stream << String(in, in[N - 1] ? N : N - 1); + } // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks) + }; +// NOLINTEND(*-avoid-c-arrays) + + template <> + struct filldata { + static void fill(std::ostream* stream, const void* in); + }; + + template + struct filldata { +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4180) + static void fill(std::ostream* stream, const T* in) { +DOCTEST_MSVC_SUPPRESS_WARNING_POP +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wmicrosoft-cast") + filldata::fill(stream, +#if DOCTEST_GCC == 0 || DOCTEST_GCC >= DOCTEST_COMPILER(4, 9, 0) + reinterpret_cast(in) +#else + *reinterpret_cast(&in) +#endif + ); +DOCTEST_CLANG_SUPPRESS_WARNING_POP + } + }; +} + +struct DOCTEST_INTERFACE Approx +{ + Approx(double value); + + Approx operator()(double value) const; + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + template + explicit Approx(const T& value, + typename detail::types::enable_if::value>::type* = + static_cast(nullptr)) { + *this = static_cast(value); + } +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + Approx& epsilon(double newEpsilon); + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + template + typename std::enable_if::value, Approx&>::type epsilon( + const T& newEpsilon) { + m_epsilon = static_cast(newEpsilon); + return *this; + } +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + Approx& scale(double newScale); + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + template + typename std::enable_if::value, Approx&>::type scale( + const T& newScale) { + m_scale = static_cast(newScale); + return *this; + } +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + // clang-format off + DOCTEST_INTERFACE friend bool operator==(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator==(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator!=(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator!=(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator<=(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator<=(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator>=(double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator>=(const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator< (double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator< (const Approx & lhs, double rhs); + DOCTEST_INTERFACE friend bool operator> (double lhs, const Approx & rhs); + DOCTEST_INTERFACE friend bool operator> (const Approx & lhs, double rhs); + +#ifdef DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS +#define DOCTEST_APPROX_PREFIX \ + template friend typename std::enable_if::value, bool>::type + + DOCTEST_APPROX_PREFIX operator==(const T& lhs, const Approx& rhs) { return operator==(static_cast(lhs), rhs); } + DOCTEST_APPROX_PREFIX operator==(const Approx& lhs, const T& rhs) { return operator==(rhs, lhs); } + DOCTEST_APPROX_PREFIX operator!=(const T& lhs, const Approx& rhs) { return !operator==(lhs, rhs); } + DOCTEST_APPROX_PREFIX operator!=(const Approx& lhs, const T& rhs) { return !operator==(rhs, lhs); } + DOCTEST_APPROX_PREFIX operator<=(const T& lhs, const Approx& rhs) { return static_cast(lhs) < rhs.m_value || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator<=(const Approx& lhs, const T& rhs) { return lhs.m_value < static_cast(rhs) || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator>=(const T& lhs, const Approx& rhs) { return static_cast(lhs) > rhs.m_value || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator>=(const Approx& lhs, const T& rhs) { return lhs.m_value > static_cast(rhs) || lhs == rhs; } + DOCTEST_APPROX_PREFIX operator< (const T& lhs, const Approx& rhs) { return static_cast(lhs) < rhs.m_value && lhs != rhs; } + DOCTEST_APPROX_PREFIX operator< (const Approx& lhs, const T& rhs) { return lhs.m_value < static_cast(rhs) && lhs != rhs; } + DOCTEST_APPROX_PREFIX operator> (const T& lhs, const Approx& rhs) { return static_cast(lhs) > rhs.m_value && lhs != rhs; } + DOCTEST_APPROX_PREFIX operator> (const Approx& lhs, const T& rhs) { return lhs.m_value > static_cast(rhs) && lhs != rhs; } +#undef DOCTEST_APPROX_PREFIX +#endif // DOCTEST_CONFIG_INCLUDE_TYPE_TRAITS + + // clang-format on + + double m_epsilon; + double m_scale; + double m_value; +}; + +DOCTEST_INTERFACE String toString(const Approx& in); + +DOCTEST_INTERFACE const ContextOptions* getContextOptions(); + +template +struct DOCTEST_INTERFACE_DECL IsNaN +{ + F value; bool flipped; + IsNaN(F f, bool flip = false) : value(f), flipped(flip) { } + IsNaN operator!() const { return { value, !flipped }; } + operator bool() const; +}; +#ifndef __MINGW32__ +extern template struct DOCTEST_INTERFACE_DECL IsNaN; +extern template struct DOCTEST_INTERFACE_DECL IsNaN; +extern template struct DOCTEST_INTERFACE_DECL IsNaN; +#endif +DOCTEST_INTERFACE String toString(IsNaN in); +DOCTEST_INTERFACE String toString(IsNaN in); +DOCTEST_INTERFACE String toString(IsNaN in); + +#ifndef DOCTEST_CONFIG_DISABLE + +namespace detail { + // clang-format off +#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + template struct decay_array { using type = T; }; + template struct decay_array { using type = T*; }; + template struct decay_array { using type = T*; }; + + template struct not_char_pointer { static DOCTEST_CONSTEXPR int value = 1; }; + template<> struct not_char_pointer { static DOCTEST_CONSTEXPR int value = 0; }; + template<> struct not_char_pointer { static DOCTEST_CONSTEXPR int value = 0; }; + + template struct can_use_op : public not_char_pointer::type> {}; +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + // clang-format on + + struct DOCTEST_INTERFACE TestFailureException + { + }; + + DOCTEST_INTERFACE bool checkIfShouldThrow(assertType::Enum at); + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + DOCTEST_NORETURN +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + DOCTEST_INTERFACE void throwException(); + + struct DOCTEST_INTERFACE Subcase + { + SubcaseSignature m_signature; + bool m_entered = false; + + Subcase(const String& name, const char* file, int line); + Subcase(const Subcase&) = delete; + Subcase(Subcase&&) = delete; + Subcase& operator=(const Subcase&) = delete; + Subcase& operator=(Subcase&&) = delete; + ~Subcase(); + + operator bool() const; + + private: + bool checkFilters(); + }; + + template + String stringifyBinaryExpr(const DOCTEST_REF_WRAP(L) lhs, const char* op, + const DOCTEST_REF_WRAP(R) rhs) { + return (DOCTEST_STRINGIFY(lhs)) + op + (DOCTEST_STRINGIFY(rhs)); + } + +#if DOCTEST_CLANG && DOCTEST_CLANG < DOCTEST_COMPILER(3, 6, 0) +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-comparison") +#endif + +// This will check if there is any way it could find a operator like member or friend and uses it. +// If not it doesn't find the operator or if the operator at global scope is defined after +// this template, the template won't be instantiated due to SFINAE. Once the template is not +// instantiated it can look for global operator using normal conversions. +#ifdef __NVCC__ +#define SFINAE_OP(ret,op) ret +#else +#define SFINAE_OP(ret,op) decltype((void)(doctest::detail::declval() op doctest::detail::declval()),ret{}) +#endif + +#define DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(op, op_str, op_macro) \ + template \ + DOCTEST_NOINLINE SFINAE_OP(Result,op) operator op(R&& rhs) { \ + bool res = op_macro(doctest::detail::forward(lhs), doctest::detail::forward(rhs)); \ + if(m_at & assertType::is_false) \ + res = !res; \ + if(!res || doctest::getContextOptions()->success) \ + return Result(res, stringifyBinaryExpr(lhs, op_str, rhs)); \ + return Result(res); \ + } + + // more checks could be added - like in Catch: + // https://github.com/catchorg/Catch2/pull/1480/files + // https://github.com/catchorg/Catch2/pull/1481/files +#define DOCTEST_FORBIT_EXPRESSION(rt, op) \ + template \ + rt& operator op(const R&) { \ + static_assert(deferred_false::value, \ + "Expression Too Complex Please Rewrite As Binary Comparison!"); \ + return *this; \ + } + + struct DOCTEST_INTERFACE Result // NOLINT(*-member-init) + { + bool m_passed; + String m_decomp; + + Result() = default; // TODO: Why do we need this? (To remove NOLINT) + Result(bool passed, const String& decomposition = String()); + + // forbidding some expressions based on this table: https://en.cppreference.com/w/cpp/language/operator_precedence + DOCTEST_FORBIT_EXPRESSION(Result, &) + DOCTEST_FORBIT_EXPRESSION(Result, ^) + DOCTEST_FORBIT_EXPRESSION(Result, |) + DOCTEST_FORBIT_EXPRESSION(Result, &&) + DOCTEST_FORBIT_EXPRESSION(Result, ||) + DOCTEST_FORBIT_EXPRESSION(Result, ==) + DOCTEST_FORBIT_EXPRESSION(Result, !=) + DOCTEST_FORBIT_EXPRESSION(Result, <) + DOCTEST_FORBIT_EXPRESSION(Result, >) + DOCTEST_FORBIT_EXPRESSION(Result, <=) + DOCTEST_FORBIT_EXPRESSION(Result, >=) + DOCTEST_FORBIT_EXPRESSION(Result, =) + DOCTEST_FORBIT_EXPRESSION(Result, +=) + DOCTEST_FORBIT_EXPRESSION(Result, -=) + DOCTEST_FORBIT_EXPRESSION(Result, *=) + DOCTEST_FORBIT_EXPRESSION(Result, /=) + DOCTEST_FORBIT_EXPRESSION(Result, %=) + DOCTEST_FORBIT_EXPRESSION(Result, <<=) + DOCTEST_FORBIT_EXPRESSION(Result, >>=) + DOCTEST_FORBIT_EXPRESSION(Result, &=) + DOCTEST_FORBIT_EXPRESSION(Result, ^=) + DOCTEST_FORBIT_EXPRESSION(Result, |=) + }; + +#ifndef DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + + DOCTEST_CLANG_SUPPRESS_WARNING_PUSH + DOCTEST_CLANG_SUPPRESS_WARNING("-Wsign-conversion") + DOCTEST_CLANG_SUPPRESS_WARNING("-Wsign-compare") + //DOCTEST_CLANG_SUPPRESS_WARNING("-Wdouble-promotion") + //DOCTEST_CLANG_SUPPRESS_WARNING("-Wconversion") + //DOCTEST_CLANG_SUPPRESS_WARNING("-Wfloat-equal") + + DOCTEST_GCC_SUPPRESS_WARNING_PUSH + DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-conversion") + DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-compare") + //DOCTEST_GCC_SUPPRESS_WARNING("-Wdouble-promotion") + //DOCTEST_GCC_SUPPRESS_WARNING("-Wconversion") + //DOCTEST_GCC_SUPPRESS_WARNING("-Wfloat-equal") + + DOCTEST_MSVC_SUPPRESS_WARNING_PUSH + // https://stackoverflow.com/questions/39479163 what's the difference between 4018 and 4389 + DOCTEST_MSVC_SUPPRESS_WARNING(4388) // signed/unsigned mismatch + DOCTEST_MSVC_SUPPRESS_WARNING(4389) // 'operator' : signed/unsigned mismatch + DOCTEST_MSVC_SUPPRESS_WARNING(4018) // 'expression' : signed/unsigned mismatch + //DOCTEST_MSVC_SUPPRESS_WARNING(4805) // 'operation' : unsafe mix of type 'type' and type 'type' in operation + +#endif // DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + + // clang-format off +#ifndef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_COMPARISON_RETURN_TYPE bool +#else // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_COMPARISON_RETURN_TYPE typename types::enable_if::value || can_use_op::value, bool>::type + inline bool eq(const char* lhs, const char* rhs) { return String(lhs) == String(rhs); } + inline bool ne(const char* lhs, const char* rhs) { return String(lhs) != String(rhs); } + inline bool lt(const char* lhs, const char* rhs) { return String(lhs) < String(rhs); } + inline bool gt(const char* lhs, const char* rhs) { return String(lhs) > String(rhs); } + inline bool le(const char* lhs, const char* rhs) { return String(lhs) <= String(rhs); } + inline bool ge(const char* lhs, const char* rhs) { return String(lhs) >= String(rhs); } +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + // clang-format on + +#define DOCTEST_RELATIONAL_OP(name, op) \ + template \ + DOCTEST_COMPARISON_RETURN_TYPE name(const DOCTEST_REF_WRAP(L) lhs, \ + const DOCTEST_REF_WRAP(R) rhs) { \ + return lhs op rhs; \ + } + + DOCTEST_RELATIONAL_OP(eq, ==) + DOCTEST_RELATIONAL_OP(ne, !=) + DOCTEST_RELATIONAL_OP(lt, <) + DOCTEST_RELATIONAL_OP(gt, >) + DOCTEST_RELATIONAL_OP(le, <=) + DOCTEST_RELATIONAL_OP(ge, >=) + +#ifndef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_CMP_EQ(l, r) l == r +#define DOCTEST_CMP_NE(l, r) l != r +#define DOCTEST_CMP_GT(l, r) l > r +#define DOCTEST_CMP_LT(l, r) l < r +#define DOCTEST_CMP_GE(l, r) l >= r +#define DOCTEST_CMP_LE(l, r) l <= r +#else // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +#define DOCTEST_CMP_EQ(l, r) eq(l, r) +#define DOCTEST_CMP_NE(l, r) ne(l, r) +#define DOCTEST_CMP_GT(l, r) gt(l, r) +#define DOCTEST_CMP_LT(l, r) lt(l, r) +#define DOCTEST_CMP_GE(l, r) ge(l, r) +#define DOCTEST_CMP_LE(l, r) le(l, r) +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + + template + // cppcheck-suppress copyCtorAndEqOperator + struct Expression_lhs + { + L lhs; + assertType::Enum m_at; + + explicit Expression_lhs(L&& in, assertType::Enum at) + : lhs(static_cast(in)) + , m_at(at) {} + + DOCTEST_NOINLINE operator Result() { +// this is needed only for MSVC 2015 +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4800) // 'int': forcing value to bool + bool res = static_cast(lhs); +DOCTEST_MSVC_SUPPRESS_WARNING_POP + if(m_at & assertType::is_false) { //!OCLINT bitwise operator in conditional + res = !res; + } + + if(!res || getContextOptions()->success) { + return { res, (DOCTEST_STRINGIFY(lhs)) }; + } + return { res }; + } + + /* This is required for user-defined conversions from Expression_lhs to L */ + operator L() const { return lhs; } + + // clang-format off + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(==, " == ", DOCTEST_CMP_EQ) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(!=, " != ", DOCTEST_CMP_NE) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(>, " > ", DOCTEST_CMP_GT) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(<, " < ", DOCTEST_CMP_LT) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(>=, " >= ", DOCTEST_CMP_GE) //!OCLINT bitwise operator in conditional + DOCTEST_DO_BINARY_EXPRESSION_COMPARISON(<=, " <= ", DOCTEST_CMP_LE) //!OCLINT bitwise operator in conditional + // clang-format on + + // forbidding some expressions based on this table: https://en.cppreference.com/w/cpp/language/operator_precedence + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, &) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ^) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, |) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, &&) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ||) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, =) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, +=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, -=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, *=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, /=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, %=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, <<=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, >>=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, &=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, ^=) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, |=) + // these 2 are unfortunate because they should be allowed - they have higher precedence over the comparisons, but the + // ExpressionDecomposer class uses the left shift operator to capture the left operand of the binary expression... + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, <<) + DOCTEST_FORBIT_EXPRESSION(Expression_lhs, >>) + }; + +#ifndef DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + + DOCTEST_CLANG_SUPPRESS_WARNING_POP + DOCTEST_MSVC_SUPPRESS_WARNING_POP + DOCTEST_GCC_SUPPRESS_WARNING_POP + +#endif // DOCTEST_CONFIG_NO_COMPARISON_WARNING_SUPPRESSION + +#if DOCTEST_CLANG && DOCTEST_CLANG < DOCTEST_COMPILER(3, 6, 0) +DOCTEST_CLANG_SUPPRESS_WARNING_POP +#endif + + struct DOCTEST_INTERFACE ExpressionDecomposer + { + assertType::Enum m_at; + + ExpressionDecomposer(assertType::Enum at); + + // The right operator for capturing expressions is "<=" instead of "<<" (based on the operator precedence table) + // but then there will be warnings from GCC about "-Wparentheses" and since "_Pragma()" is problematic this will stay for now... + // https://github.com/catchorg/Catch2/issues/870 + // https://github.com/catchorg/Catch2/issues/565 + template + Expression_lhs operator<<(L&& operand) { + return Expression_lhs(static_cast(operand), m_at); + } + + template ::value,void >::type* = nullptr> + Expression_lhs operator<<(const L &operand) { + return Expression_lhs(operand, m_at); + } + }; + + struct DOCTEST_INTERFACE TestSuite + { + const char* m_test_suite = nullptr; + const char* m_description = nullptr; + bool m_skip = false; + bool m_no_breaks = false; + bool m_no_output = false; + bool m_may_fail = false; + bool m_should_fail = false; + int m_expected_failures = 0; + double m_timeout = 0; + + TestSuite& operator*(const char* in); + + template + TestSuite& operator*(const T& in) { + in.fill(*this); + return *this; + } + }; + + using funcType = void (*)(); + + struct DOCTEST_INTERFACE TestCase : public TestCaseData + { + funcType m_test; // a function pointer to the test case + + String m_type; // for templated test cases - gets appended to the real name + int m_template_id; // an ID used to distinguish between the different versions of a templated test case + String m_full_name; // contains the name (only for templated test cases!) + the template type + + TestCase(funcType test, const char* file, unsigned line, const TestSuite& test_suite, + const String& type = String(), int template_id = -1); + + TestCase(const TestCase& other); + TestCase(TestCase&&) = delete; + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(26434) // hides a non-virtual function + TestCase& operator=(const TestCase& other); + DOCTEST_MSVC_SUPPRESS_WARNING_POP + + TestCase& operator=(TestCase&&) = delete; + + TestCase& operator*(const char* in); + + template + TestCase& operator*(const T& in) { + in.fill(*this); + return *this; + } + + bool operator<(const TestCase& other) const; + + ~TestCase() = default; + }; + + // forward declarations of functions used by the macros + DOCTEST_INTERFACE int regTest(const TestCase& tc); + DOCTEST_INTERFACE int setTestSuite(const TestSuite& ts); + DOCTEST_INTERFACE bool isDebuggerActive(); + + template + int instantiationHelper(const T&) { return 0; } + + namespace binaryAssertComparison { + enum Enum + { + eq = 0, + ne, + gt, + lt, + ge, + le + }; + } // namespace binaryAssertComparison + + // clang-format off + template struct RelationalComparator { bool operator()(const DOCTEST_REF_WRAP(L), const DOCTEST_REF_WRAP(R) ) const { return false; } }; + +#define DOCTEST_BINARY_RELATIONAL_OP(n, op) \ + template struct RelationalComparator { bool operator()(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) const { return op(lhs, rhs); } }; + // clang-format on + + DOCTEST_BINARY_RELATIONAL_OP(0, doctest::detail::eq) + DOCTEST_BINARY_RELATIONAL_OP(1, doctest::detail::ne) + DOCTEST_BINARY_RELATIONAL_OP(2, doctest::detail::gt) + DOCTEST_BINARY_RELATIONAL_OP(3, doctest::detail::lt) + DOCTEST_BINARY_RELATIONAL_OP(4, doctest::detail::ge) + DOCTEST_BINARY_RELATIONAL_OP(5, doctest::detail::le) + + struct DOCTEST_INTERFACE ResultBuilder : public AssertData + { + ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type = "", const String& exception_string = ""); + + ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const Contains& exception_string); + + void setResult(const Result& res); + + template + DOCTEST_NOINLINE bool binary_assert(const DOCTEST_REF_WRAP(L) lhs, + const DOCTEST_REF_WRAP(R) rhs) { + m_failed = !RelationalComparator()(lhs, rhs); + if (m_failed || getContextOptions()->success) { + m_decomp = stringifyBinaryExpr(lhs, ", ", rhs); + } + return !m_failed; + } + + template + DOCTEST_NOINLINE bool unary_assert(const DOCTEST_REF_WRAP(L) val) { + m_failed = !val; + + if (m_at & assertType::is_false) { //!OCLINT bitwise operator in conditional + m_failed = !m_failed; + } + + if (m_failed || getContextOptions()->success) { + m_decomp = (DOCTEST_STRINGIFY(val)); + } + + return !m_failed; + } + + void translateException(); + + bool log(); + void react() const; + }; + + namespace assertAction { + enum Enum + { + nothing = 0, + dbgbreak = 1, + shouldthrow = 2 + }; + } // namespace assertAction + + DOCTEST_INTERFACE void failed_out_of_a_testing_context(const AssertData& ad); + + DOCTEST_INTERFACE bool decomp_assert(assertType::Enum at, const char* file, int line, + const char* expr, const Result& result); + +#define DOCTEST_ASSERT_OUT_OF_TESTS(decomp) \ + do { \ + if(!is_running_in_test) { \ + if(failed) { \ + ResultBuilder rb(at, file, line, expr); \ + rb.m_failed = failed; \ + rb.m_decomp = decomp; \ + failed_out_of_a_testing_context(rb); \ + if(isDebuggerActive() && !getContextOptions()->no_breaks) \ + DOCTEST_BREAK_INTO_DEBUGGER(); \ + if(checkIfShouldThrow(at)) \ + throwException(); \ + } \ + return !failed; \ + } \ + } while(false) + +#define DOCTEST_ASSERT_IN_TESTS(decomp) \ + ResultBuilder rb(at, file, line, expr); \ + rb.m_failed = failed; \ + if(rb.m_failed || getContextOptions()->success) \ + rb.m_decomp = decomp; \ + if(rb.log()) \ + DOCTEST_BREAK_INTO_DEBUGGER(); \ + if(rb.m_failed && checkIfShouldThrow(at)) \ + throwException() + + template + DOCTEST_NOINLINE bool binary_assert(assertType::Enum at, const char* file, int line, + const char* expr, const DOCTEST_REF_WRAP(L) lhs, + const DOCTEST_REF_WRAP(R) rhs) { + bool failed = !RelationalComparator()(lhs, rhs); + + // ################################################################################### + // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT + // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED + // ################################################################################### + DOCTEST_ASSERT_OUT_OF_TESTS(stringifyBinaryExpr(lhs, ", ", rhs)); + DOCTEST_ASSERT_IN_TESTS(stringifyBinaryExpr(lhs, ", ", rhs)); + return !failed; + } + + template + DOCTEST_NOINLINE bool unary_assert(assertType::Enum at, const char* file, int line, + const char* expr, const DOCTEST_REF_WRAP(L) val) { + bool failed = !val; + + if(at & assertType::is_false) //!OCLINT bitwise operator in conditional + failed = !failed; + + // ################################################################################### + // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT + // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED + // ################################################################################### + DOCTEST_ASSERT_OUT_OF_TESTS((DOCTEST_STRINGIFY(val))); + DOCTEST_ASSERT_IN_TESTS((DOCTEST_STRINGIFY(val))); + return !failed; + } + + struct DOCTEST_INTERFACE IExceptionTranslator + { + DOCTEST_DECLARE_INTERFACE(IExceptionTranslator) + virtual bool translate(String&) const = 0; + }; + + template + class ExceptionTranslator : public IExceptionTranslator //!OCLINT destructor of virtual class + { + public: + explicit ExceptionTranslator(String (*translateFunction)(T)) + : m_translateFunction(translateFunction) {} + + bool translate(String& res) const override { +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + try { + throw; // lgtm [cpp/rethrow-no-exception] + // cppcheck-suppress catchExceptionByValue + } catch(const T& ex) { + res = m_translateFunction(ex); //!OCLINT parameter reassignment + return true; + } catch(...) {} //!OCLINT - empty catch statement +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + static_cast(res); // to silence -Wunused-parameter + return false; + } + + private: + String (*m_translateFunction)(T); + }; + + DOCTEST_INTERFACE void registerExceptionTranslatorImpl(const IExceptionTranslator* et); + + // ContextScope base class used to allow implementing methods of ContextScope + // that don't depend on the template parameter in doctest.cpp. + struct DOCTEST_INTERFACE ContextScopeBase : public IContextScope { + ContextScopeBase(const ContextScopeBase&) = delete; + + ContextScopeBase& operator=(const ContextScopeBase&) = delete; + ContextScopeBase& operator=(ContextScopeBase&&) = delete; + + ~ContextScopeBase() override = default; + + protected: + ContextScopeBase(); + ContextScopeBase(ContextScopeBase&& other) noexcept; + + void destroy(); + bool need_to_destroy{true}; + }; + + template class ContextScope : public ContextScopeBase + { + L lambda_; + + public: + explicit ContextScope(const L &lambda) : lambda_(lambda) {} + explicit ContextScope(L&& lambda) : lambda_(static_cast(lambda)) { } + + ContextScope(const ContextScope&) = delete; + ContextScope(ContextScope&&) noexcept = default; + + ContextScope& operator=(const ContextScope&) = delete; + ContextScope& operator=(ContextScope&&) = delete; + + void stringify(std::ostream* s) const override { lambda_(s); } + + ~ContextScope() override { + if (need_to_destroy) { + destroy(); + } + } + }; + + struct DOCTEST_INTERFACE MessageBuilder : public MessageData + { + std::ostream* m_stream; + bool logged = false; + + MessageBuilder(const char* file, int line, assertType::Enum severity); + + MessageBuilder(const MessageBuilder&) = delete; + MessageBuilder(MessageBuilder&&) = delete; + + MessageBuilder& operator=(const MessageBuilder&) = delete; + MessageBuilder& operator=(MessageBuilder&&) = delete; + + ~MessageBuilder(); + + // the preferred way of chaining parameters for stringification +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4866) + template + MessageBuilder& operator,(const T& in) { + *m_stream << (DOCTEST_STRINGIFY(in)); + return *this; + } +DOCTEST_MSVC_SUPPRESS_WARNING_POP + + // kept here just for backwards-compatibility - the comma operator should be preferred now + template + MessageBuilder& operator<<(const T& in) { return this->operator,(in); } + + // the `,` operator has the lowest operator precedence - if `<<` is used by the user then + // the `,` operator will be called last which is not what we want and thus the `*` operator + // is used first (has higher operator precedence compared to `<<`) so that we guarantee that + // an operator of the MessageBuilder class is called first before the rest of the parameters + template + MessageBuilder& operator*(const T& in) { return this->operator,(in); } + + bool log(); + void react(); + }; + + template + ContextScope MakeContextScope(const L &lambda) { + return ContextScope(lambda); + } +} // namespace detail + +#define DOCTEST_DEFINE_DECORATOR(name, type, def) \ + struct name \ + { \ + type data; \ + name(type in = def) \ + : data(in) {} \ + void fill(detail::TestCase& state) const { state.DOCTEST_CAT(m_, name) = data; } \ + void fill(detail::TestSuite& state) const { state.DOCTEST_CAT(m_, name) = data; } \ + } + +DOCTEST_DEFINE_DECORATOR(test_suite, const char*, ""); +DOCTEST_DEFINE_DECORATOR(description, const char*, ""); +DOCTEST_DEFINE_DECORATOR(skip, bool, true); +DOCTEST_DEFINE_DECORATOR(no_breaks, bool, true); +DOCTEST_DEFINE_DECORATOR(no_output, bool, true); +DOCTEST_DEFINE_DECORATOR(timeout, double, 0); +DOCTEST_DEFINE_DECORATOR(may_fail, bool, true); +DOCTEST_DEFINE_DECORATOR(should_fail, bool, true); +DOCTEST_DEFINE_DECORATOR(expected_failures, int, 0); + +template +int registerExceptionTranslator(String (*translateFunction)(T)) { + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wexit-time-destructors") + static detail::ExceptionTranslator exceptionTranslator(translateFunction); + DOCTEST_CLANG_SUPPRESS_WARNING_POP + detail::registerExceptionTranslatorImpl(&exceptionTranslator); + return 0; +} + +} // namespace doctest + +// in a separate namespace outside of doctest because the DOCTEST_TEST_SUITE macro +// introduces an anonymous namespace in which getCurrentTestSuite gets overridden +namespace doctest_detail_test_suite_ns { +DOCTEST_INTERFACE doctest::detail::TestSuite& getCurrentTestSuite(); +} // namespace doctest_detail_test_suite_ns + +namespace doctest { +#else // DOCTEST_CONFIG_DISABLE +template +int registerExceptionTranslator(String (*)(T)) { + return 0; +} +#endif // DOCTEST_CONFIG_DISABLE + +namespace detail { + using assert_handler = void (*)(const AssertData&); + struct ContextState; +} // namespace detail + +class DOCTEST_INTERFACE Context +{ + detail::ContextState* p; + + void parseArgs(int argc, const char* const* argv, bool withDefaults = false); + +public: + explicit Context(int argc = 0, const char* const* argv = nullptr); + + Context(const Context&) = delete; + Context(Context&&) = delete; + + Context& operator=(const Context&) = delete; + Context& operator=(Context&&) = delete; + + ~Context(); // NOLINT(performance-trivially-destructible) + + void applyCommandLine(int argc, const char* const* argv); + + void addFilter(const char* filter, const char* value); + void clearFilters(); + void setOption(const char* option, bool value); + void setOption(const char* option, int value); + void setOption(const char* option, const char* value); + + bool shouldExit(); + + void setAsDefaultForAssertsOutOfTestCases(); + + void setAssertHandler(detail::assert_handler ah); + + void setCout(std::ostream* out); + + int run(); +}; + +namespace TestCaseFailureReason { + enum Enum + { + None = 0, + AssertFailure = 1, // an assertion has failed in the test case + Exception = 2, // test case threw an exception + Crash = 4, // a crash... + TooManyFailedAsserts = 8, // the abort-after option + Timeout = 16, // see the timeout decorator + ShouldHaveFailedButDidnt = 32, // see the should_fail decorator + ShouldHaveFailedAndDid = 64, // see the should_fail decorator + DidntFailExactlyNumTimes = 128, // see the expected_failures decorator + FailedExactlyNumTimes = 256, // see the expected_failures decorator + CouldHaveFailedAndDid = 512 // see the may_fail decorator + }; +} // namespace TestCaseFailureReason + +struct DOCTEST_INTERFACE CurrentTestCaseStats +{ + int numAssertsCurrentTest; + int numAssertsFailedCurrentTest; + double seconds; + int failure_flags; // use TestCaseFailureReason::Enum + bool testCaseSuccess; +}; + +struct DOCTEST_INTERFACE TestCaseException +{ + String error_string; + bool is_crash; +}; + +struct DOCTEST_INTERFACE TestRunStats +{ + unsigned numTestCases; + unsigned numTestCasesPassingFilters; + unsigned numTestSuitesPassingFilters; + unsigned numTestCasesFailed; + int numAsserts; + int numAssertsFailed; +}; + +struct QueryData +{ + const TestRunStats* run_stats = nullptr; + const TestCaseData** data = nullptr; + unsigned num_data = 0; +}; + +struct DOCTEST_INTERFACE IReporter +{ + // The constructor has to accept "const ContextOptions&" as a single argument + // which has most of the options for the run + a pointer to the stdout stream + // Reporter(const ContextOptions& in) + + // called when a query should be reported (listing test cases, printing the version, etc.) + virtual void report_query(const QueryData&) = 0; + + // called when the whole test run starts + virtual void test_run_start() = 0; + // called when the whole test run ends (caching a pointer to the input doesn't make sense here) + virtual void test_run_end(const TestRunStats&) = 0; + + // called when a test case is started (safe to cache a pointer to the input) + virtual void test_case_start(const TestCaseData&) = 0; + // called when a test case is reentered because of unfinished subcases (safe to cache a pointer to the input) + virtual void test_case_reenter(const TestCaseData&) = 0; + // called when a test case has ended + virtual void test_case_end(const CurrentTestCaseStats&) = 0; + + // called when an exception is thrown from the test case (or it crashes) + virtual void test_case_exception(const TestCaseException&) = 0; + + // called whenever a subcase is entered (don't cache pointers to the input) + virtual void subcase_start(const SubcaseSignature&) = 0; + // called whenever a subcase is exited (don't cache pointers to the input) + virtual void subcase_end() = 0; + + // called for each assert (don't cache pointers to the input) + virtual void log_assert(const AssertData&) = 0; + // called for each message (don't cache pointers to the input) + virtual void log_message(const MessageData&) = 0; + + // called when a test case is skipped either because it doesn't pass the filters, has a skip decorator + // or isn't in the execution range (between first and last) (safe to cache a pointer to the input) + virtual void test_case_skipped(const TestCaseData&) = 0; + + DOCTEST_DECLARE_INTERFACE(IReporter) + + // can obtain all currently active contexts and stringify them if one wishes to do so + static int get_num_active_contexts(); + static const IContextScope* const* get_active_contexts(); + + // can iterate through contexts which have been stringified automatically in their destructors when an exception has been thrown + static int get_num_stringified_contexts(); + static const String* get_stringified_contexts(); +}; + +namespace detail { + using reporterCreatorFunc = IReporter* (*)(const ContextOptions&); + + DOCTEST_INTERFACE void registerReporterImpl(const char* name, int prio, reporterCreatorFunc c, bool isReporter); + + template + IReporter* reporterCreator(const ContextOptions& o) { + return new Reporter(o); + } +} // namespace detail + +template +int registerReporter(const char* name, int priority, bool isReporter) { + detail::registerReporterImpl(name, priority, detail::reporterCreator, isReporter); + return 0; +} +} // namespace doctest + +#ifdef DOCTEST_CONFIG_ASSERTS_RETURN_VALUES +#define DOCTEST_FUNC_EMPTY [] { return false; }() +#else +#define DOCTEST_FUNC_EMPTY (void)0 +#endif + +// if registering is not disabled +#ifndef DOCTEST_CONFIG_DISABLE + +#ifdef DOCTEST_CONFIG_ASSERTS_RETURN_VALUES +#define DOCTEST_FUNC_SCOPE_BEGIN [&] +#define DOCTEST_FUNC_SCOPE_END () +#define DOCTEST_FUNC_SCOPE_RET(v) return v +#else +#define DOCTEST_FUNC_SCOPE_BEGIN do +#define DOCTEST_FUNC_SCOPE_END while(false) +#define DOCTEST_FUNC_SCOPE_RET(v) (void)0 +#endif + +// common code in asserts - for convenience +#define DOCTEST_ASSERT_LOG_REACT_RETURN(b) \ + if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER(); \ + b.react(); \ + DOCTEST_FUNC_SCOPE_RET(!b.m_failed) + +#ifdef DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS +#define DOCTEST_WRAP_IN_TRY(x) x; +#else // DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS +#define DOCTEST_WRAP_IN_TRY(x) \ + try { \ + x; \ + } catch(...) { DOCTEST_RB.translateException(); } +#endif // DOCTEST_CONFIG_NO_TRY_CATCH_IN_ASSERTS + +#ifdef DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS +#define DOCTEST_CAST_TO_VOID(...) \ + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wuseless-cast") \ + static_cast(__VA_ARGS__); \ + DOCTEST_GCC_SUPPRESS_WARNING_POP +#else // DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS +#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__; +#endif // DOCTEST_CONFIG_VOID_CAST_EXPRESSIONS + +// registers the test by initializing a dummy var with a function +#define DOCTEST_REGISTER_FUNCTION(global_prefix, f, decorators) \ + global_prefix DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT */ \ + doctest::detail::regTest( \ + doctest::detail::TestCase( \ + f, __FILE__, __LINE__, \ + doctest_detail_test_suite_ns::getCurrentTestSuite()) * \ + decorators)) + +#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, decorators) \ + namespace { /* NOLINT */ \ + struct der : public base \ + { \ + void f(); \ + }; \ + static DOCTEST_INLINE_NOINLINE void func() { \ + der v; \ + v.f(); \ + } \ + DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, func, decorators) \ + } \ + DOCTEST_INLINE_NOINLINE void der::f() // NOLINT(misc-definitions-in-headers) + +#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, decorators) \ + static void f(); \ + DOCTEST_REGISTER_FUNCTION(DOCTEST_EMPTY, f, decorators) \ + static void f() + +#define DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(f, proxy, decorators) \ + static doctest::detail::funcType proxy() { return f; } \ + DOCTEST_REGISTER_FUNCTION(inline, proxy(), decorators) \ + static void f() + +// for registering tests +#define DOCTEST_TEST_CASE(decorators) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators) + +// for registering tests in classes - requires C++17 for inline variables! +#if DOCTEST_CPLUSPLUS >= 201703L +#define DOCTEST_TEST_CASE_CLASS(decorators) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION_IN_CLASS(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_PROXY_), \ + decorators) +#else // DOCTEST_TEST_CASE_CLASS +#define DOCTEST_TEST_CASE_CLASS(...) \ + TEST_CASES_CAN_BE_REGISTERED_IN_CLASSES_ONLY_IN_CPP17_MODE_OR_WITH_VS_2017_OR_NEWER +#endif // DOCTEST_TEST_CASE_CLASS + +// for registering tests with a fixture +#define DOCTEST_TEST_CASE_FIXTURE(c, decorators) \ + DOCTEST_IMPLEMENT_FIXTURE(DOCTEST_ANONYMOUS(DOCTEST_ANON_CLASS_), c, \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), decorators) + +// for converting types to strings without the header and demangling +#define DOCTEST_TYPE_TO_STRING_AS(str, ...) \ + namespace doctest { \ + template <> \ + inline String toString<__VA_ARGS__>() { \ + return str; \ + } \ + } \ + static_assert(true, "") + +#define DOCTEST_TYPE_TO_STRING(...) DOCTEST_TYPE_TO_STRING_AS(#__VA_ARGS__, __VA_ARGS__) + +#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, iter, func) \ + template \ + static void func(); \ + namespace { /* NOLINT */ \ + template \ + struct iter; \ + template \ + struct iter> \ + { \ + iter(const char* file, unsigned line, int index) { \ + doctest::detail::regTest(doctest::detail::TestCase(func, file, line, \ + doctest_detail_test_suite_ns::getCurrentTestSuite(), \ + doctest::toString(), \ + int(line) * 1000 + index) \ + * dec); \ + iter>(file, line, index + 1); \ + } \ + }; \ + template <> \ + struct iter> \ + { \ + iter(const char*, unsigned, int) {} \ + }; \ + } \ + template \ + static void func() + +#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(dec, T, id) \ + DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(id, ITERATOR), \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)) + +#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, anon, ...) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_CAT(anon, DUMMY), /* NOLINT(cert-err58-cpp, fuchsia-statically-constructed-objects) */ \ + doctest::detail::instantiationHelper( \ + DOCTEST_CAT(id, ITERATOR)<__VA_ARGS__>(__FILE__, __LINE__, 0))) + +#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), std::tuple<__VA_ARGS__>) \ + static_assert(true, "") + +#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(id, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__) \ + static_assert(true, "") + +#define DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, anon, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_DEFINE_IMPL(dec, T, DOCTEST_CAT(anon, ITERATOR), anon); \ + DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE_IMPL(anon, anon, std::tuple<__VA_ARGS__>) \ + template \ + static void anon() + +#define DOCTEST_TEST_CASE_TEMPLATE(dec, T, ...) \ + DOCTEST_TEST_CASE_TEMPLATE_IMPL(dec, T, DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_), __VA_ARGS__) + +// for subcases +#define DOCTEST_SUBCASE(name) \ + if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED = \ + doctest::detail::Subcase(name, __FILE__, __LINE__)) + +// for grouping tests in test suites by using code blocks +#define DOCTEST_TEST_SUITE_IMPL(decorators, ns_name) \ + namespace ns_name { namespace doctest_detail_test_suite_ns { \ + static DOCTEST_NOINLINE doctest::detail::TestSuite& getCurrentTestSuite() noexcept { \ + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4640) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wexit-time-destructors") \ + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wmissing-field-initializers") \ + static doctest::detail::TestSuite data{}; \ + static bool inited = false; \ + DOCTEST_MSVC_SUPPRESS_WARNING_POP \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP \ + DOCTEST_GCC_SUPPRESS_WARNING_POP \ + if(!inited) { \ + data* decorators; \ + inited = true; \ + } \ + return data; \ + } \ + } \ + } \ + namespace ns_name + +#define DOCTEST_TEST_SUITE(decorators) \ + DOCTEST_TEST_SUITE_IMPL(decorators, DOCTEST_ANONYMOUS(DOCTEST_ANON_SUITE_)) + +// for starting a testsuite block +#define DOCTEST_TEST_SUITE_BEGIN(decorators) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \ + doctest::detail::setTestSuite(doctest::detail::TestSuite() * decorators)) \ + static_assert(true, "") + +// for ending a testsuite block +#define DOCTEST_TEST_SUITE_END \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_VAR_), /* NOLINT(cert-err58-cpp) */ \ + doctest::detail::setTestSuite(doctest::detail::TestSuite() * "")) \ + using DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_) = int + +// for registering exception translators +#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(translatorName, signature) \ + inline doctest::String translatorName(signature); \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), /* NOLINT(cert-err58-cpp) */ \ + doctest::registerExceptionTranslator(translatorName)) \ + doctest::String translatorName(signature) + +#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) \ + DOCTEST_REGISTER_EXCEPTION_TRANSLATOR_IMPL(DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_), \ + signature) + +// for registering reporters +#define DOCTEST_REGISTER_REPORTER(name, priority, reporter) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \ + doctest::registerReporter(name, priority, true)) \ + static_assert(true, "") + +// for registering listeners +#define DOCTEST_REGISTER_LISTENER(name, priority, reporter) \ + DOCTEST_GLOBAL_NO_WARNINGS(DOCTEST_ANONYMOUS(DOCTEST_ANON_REPORTER_), /* NOLINT(cert-err58-cpp) */ \ + doctest::registerReporter(name, priority, false)) \ + static_assert(true, "") + +// clang-format off +// for logging - disabling formatting because it's important to have these on 2 separate lines - see PR #557 +#define DOCTEST_INFO(...) \ + DOCTEST_INFO_IMPL(DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_), \ + DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_OTHER_), \ + __VA_ARGS__) +// clang-format on + +#define DOCTEST_INFO_IMPL(mb_name, s_name, ...) \ + auto DOCTEST_ANONYMOUS(DOCTEST_CAPTURE_) = doctest::detail::MakeContextScope( \ + [&](std::ostream* s_name) { \ + doctest::detail::MessageBuilder mb_name(__FILE__, __LINE__, doctest::assertType::is_warn); \ + mb_name.m_stream = s_name; \ + mb_name * __VA_ARGS__; \ + }) + +#define DOCTEST_CAPTURE(x) DOCTEST_INFO(#x " := ", x) + +#define DOCTEST_ADD_AT_IMPL(type, file, line, mb, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::MessageBuilder mb(file, line, doctest::assertType::type); \ + mb * __VA_ARGS__; \ + if(mb.log()) \ + DOCTEST_BREAK_INTO_DEBUGGER(); \ + mb.react(); \ + } DOCTEST_FUNC_SCOPE_END + +// clang-format off +#define DOCTEST_ADD_MESSAGE_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_warn, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__) +#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_check, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__) +#define DOCTEST_ADD_FAIL_AT(file, line, ...) DOCTEST_ADD_AT_IMPL(is_require, file, line, DOCTEST_ANONYMOUS(DOCTEST_MESSAGE_), __VA_ARGS__) +// clang-format on + +#define DOCTEST_MESSAGE(...) DOCTEST_ADD_MESSAGE_AT(__FILE__, __LINE__, __VA_ARGS__) +#define DOCTEST_FAIL_CHECK(...) DOCTEST_ADD_FAIL_CHECK_AT(__FILE__, __LINE__, __VA_ARGS__) +#define DOCTEST_FAIL(...) DOCTEST_ADD_FAIL_AT(__FILE__, __LINE__, __VA_ARGS__) + +#define DOCTEST_TO_LVALUE(...) __VA_ARGS__ // Not removed to keep backwards compatibility. + +#ifndef DOCTEST_CONFIG_SUPER_FAST_ASSERTS + +#define DOCTEST_ASSERT_IMPLEMENT_2(assert_type, ...) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses") \ + /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult( \ + doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \ + << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */ \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB) \ + DOCTEST_CLANG_SUPPRESS_WARNING_POP + +#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__); \ + } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks) + +#define DOCTEST_BINARY_ASSERT(assert_type, comp, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + DOCTEST_WRAP_IN_TRY( \ + DOCTEST_RB.binary_assert( \ + __VA_ARGS__)) \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } DOCTEST_FUNC_SCOPE_END + +#define DOCTEST_UNARY_ASSERT(assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + DOCTEST_WRAP_IN_TRY(DOCTEST_RB.unary_assert(__VA_ARGS__)) \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } DOCTEST_FUNC_SCOPE_END + +#else // DOCTEST_CONFIG_SUPER_FAST_ASSERTS + +// necessary for _MESSAGE +#define DOCTEST_ASSERT_IMPLEMENT_2 DOCTEST_ASSERT_IMPLEMENT_1 + +#define DOCTEST_ASSERT_IMPLEMENT_1(assert_type, ...) \ + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses") \ + doctest::detail::decomp_assert( \ + doctest::assertType::assert_type, __FILE__, __LINE__, #__VA_ARGS__, \ + doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type) \ + << __VA_ARGS__) DOCTEST_CLANG_SUPPRESS_WARNING_POP + +#define DOCTEST_BINARY_ASSERT(assert_type, comparison, ...) \ + doctest::detail::binary_assert( \ + doctest::assertType::assert_type, __FILE__, __LINE__, #__VA_ARGS__, __VA_ARGS__) + +#define DOCTEST_UNARY_ASSERT(assert_type, ...) \ + doctest::detail::unary_assert(doctest::assertType::assert_type, __FILE__, __LINE__, \ + #__VA_ARGS__, __VA_ARGS__) + +#endif // DOCTEST_CONFIG_SUPER_FAST_ASSERTS + +#define DOCTEST_WARN(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN, __VA_ARGS__) +#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__) +#define DOCTEST_REQUIRE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE, __VA_ARGS__) +#define DOCTEST_WARN_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_WARN_FALSE, __VA_ARGS__) +#define DOCTEST_CHECK_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK_FALSE, __VA_ARGS__) +#define DOCTEST_REQUIRE_FALSE(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_REQUIRE_FALSE, __VA_ARGS__) + +// clang-format off +#define DOCTEST_WARN_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_WARN_FALSE, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_CHECK_FALSE, cond); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_ASSERT_IMPLEMENT_2(DT_REQUIRE_FALSE, cond); } DOCTEST_FUNC_SCOPE_END +// clang-format on + +#define DOCTEST_WARN_EQ(...) DOCTEST_BINARY_ASSERT(DT_WARN_EQ, eq, __VA_ARGS__) +#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__) +#define DOCTEST_REQUIRE_EQ(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_EQ, eq, __VA_ARGS__) +#define DOCTEST_WARN_NE(...) DOCTEST_BINARY_ASSERT(DT_WARN_NE, ne, __VA_ARGS__) +#define DOCTEST_CHECK_NE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_NE, ne, __VA_ARGS__) +#define DOCTEST_REQUIRE_NE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_NE, ne, __VA_ARGS__) +#define DOCTEST_WARN_GT(...) DOCTEST_BINARY_ASSERT(DT_WARN_GT, gt, __VA_ARGS__) +#define DOCTEST_CHECK_GT(...) DOCTEST_BINARY_ASSERT(DT_CHECK_GT, gt, __VA_ARGS__) +#define DOCTEST_REQUIRE_GT(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_GT, gt, __VA_ARGS__) +#define DOCTEST_WARN_LT(...) DOCTEST_BINARY_ASSERT(DT_WARN_LT, lt, __VA_ARGS__) +#define DOCTEST_CHECK_LT(...) DOCTEST_BINARY_ASSERT(DT_CHECK_LT, lt, __VA_ARGS__) +#define DOCTEST_REQUIRE_LT(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_LT, lt, __VA_ARGS__) +#define DOCTEST_WARN_GE(...) DOCTEST_BINARY_ASSERT(DT_WARN_GE, ge, __VA_ARGS__) +#define DOCTEST_CHECK_GE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_GE, ge, __VA_ARGS__) +#define DOCTEST_REQUIRE_GE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_GE, ge, __VA_ARGS__) +#define DOCTEST_WARN_LE(...) DOCTEST_BINARY_ASSERT(DT_WARN_LE, le, __VA_ARGS__) +#define DOCTEST_CHECK_LE(...) DOCTEST_BINARY_ASSERT(DT_CHECK_LE, le, __VA_ARGS__) +#define DOCTEST_REQUIRE_LE(...) DOCTEST_BINARY_ASSERT(DT_REQUIRE_LE, le, __VA_ARGS__) + +#define DOCTEST_WARN_UNARY(...) DOCTEST_UNARY_ASSERT(DT_WARN_UNARY, __VA_ARGS__) +#define DOCTEST_CHECK_UNARY(...) DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY, __VA_ARGS__) +#define DOCTEST_REQUIRE_UNARY(...) DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY, __VA_ARGS__) +#define DOCTEST_WARN_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_WARN_UNARY_FALSE, __VA_ARGS__) +#define DOCTEST_CHECK_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_CHECK_UNARY_FALSE, __VA_ARGS__) +#define DOCTEST_REQUIRE_UNARY_FALSE(...) DOCTEST_UNARY_ASSERT(DT_REQUIRE_UNARY_FALSE, __VA_ARGS__) + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + +#define DOCTEST_ASSERT_THROWS_AS(expr, assert_type, message, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + if(!doctest::getContextOptions()->no_throw) { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #expr, #__VA_ARGS__, message); \ + try { \ + DOCTEST_CAST_TO_VOID(expr) \ + } catch(const typename doctest::detail::types::remove_const< \ + typename doctest::detail::types::remove_reference<__VA_ARGS__>::type>::type&) {\ + DOCTEST_RB.translateException(); \ + DOCTEST_RB.m_threw_as = true; \ + } catch(...) { DOCTEST_RB.translateException(); } \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } else { /* NOLINT(*-else-after-return) */ \ + DOCTEST_FUNC_SCOPE_RET(false); \ + } \ + } DOCTEST_FUNC_SCOPE_END + +#define DOCTEST_ASSERT_THROWS_WITH(expr, expr_str, assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + if(!doctest::getContextOptions()->no_throw) { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, expr_str, "", __VA_ARGS__); \ + try { \ + DOCTEST_CAST_TO_VOID(expr) \ + } catch(...) { DOCTEST_RB.translateException(); } \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } else { /* NOLINT(*-else-after-return) */ \ + DOCTEST_FUNC_SCOPE_RET(false); \ + } \ + } DOCTEST_FUNC_SCOPE_END + +#define DOCTEST_ASSERT_NOTHROW(assert_type, ...) \ + DOCTEST_FUNC_SCOPE_BEGIN { \ + doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__, \ + __LINE__, #__VA_ARGS__); \ + try { \ + DOCTEST_CAST_TO_VOID(__VA_ARGS__) \ + } catch(...) { DOCTEST_RB.translateException(); } \ + DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB); \ + } DOCTEST_FUNC_SCOPE_END + +// clang-format off +#define DOCTEST_WARN_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_WARN_THROWS, "") +#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "") +#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_REQUIRE_THROWS, "") + +#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_AS, "", __VA_ARGS__) +#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_AS, "", __VA_ARGS__) +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_AS, "", __VA_ARGS__) + +#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_WARN_THROWS_WITH, __VA_ARGS__) +#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_CHECK_THROWS_WITH, __VA_ARGS__) +#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_ASSERT_THROWS_WITH(expr, #expr, DT_REQUIRE_THROWS_WITH, __VA_ARGS__) + +#define DOCTEST_WARN_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_WARN_THROWS_WITH_AS, message, __VA_ARGS__) +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_CHECK_THROWS_WITH_AS, message, __VA_ARGS__) +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, message, ...) DOCTEST_ASSERT_THROWS_AS(expr, DT_REQUIRE_THROWS_WITH_AS, message, __VA_ARGS__) + +#define DOCTEST_WARN_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_WARN_NOTHROW, __VA_ARGS__) +#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__) +#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_REQUIRE_NOTHROW, __VA_ARGS__) + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_AS(expr, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_WITH(expr, with); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_WARN_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_CHECK_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_SCOPE_BEGIN { DOCTEST_INFO(__VA_ARGS__); DOCTEST_REQUIRE_NOTHROW(expr); } DOCTEST_FUNC_SCOPE_END +// clang-format on + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +// ================================================================================================= +// == WHAT FOLLOWS IS VERSIONS OF THE MACROS THAT DO NOT DO ANY REGISTERING! == +// == THIS CAN BE ENABLED BY DEFINING DOCTEST_CONFIG_DISABLE GLOBALLY! == +// ================================================================================================= +#else // DOCTEST_CONFIG_DISABLE + +#define DOCTEST_IMPLEMENT_FIXTURE(der, base, func, name) \ + namespace /* NOLINT */ { \ + template \ + struct der : public base \ + { void f(); }; \ + } \ + template \ + inline void der::f() + +#define DOCTEST_CREATE_AND_REGISTER_FUNCTION(f, name) \ + template \ + static inline void f() + +// for registering tests +#define DOCTEST_TEST_CASE(name) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name) + +// for registering tests in classes +#define DOCTEST_TEST_CASE_CLASS(name) \ + DOCTEST_CREATE_AND_REGISTER_FUNCTION(DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name) + +// for registering tests with a fixture +#define DOCTEST_TEST_CASE_FIXTURE(x, name) \ + DOCTEST_IMPLEMENT_FIXTURE(DOCTEST_ANONYMOUS(DOCTEST_ANON_CLASS_), x, \ + DOCTEST_ANONYMOUS(DOCTEST_ANON_FUNC_), name) + +// for converting types to strings without the header and demangling +#define DOCTEST_TYPE_TO_STRING_AS(str, ...) static_assert(true, "") +#define DOCTEST_TYPE_TO_STRING(...) static_assert(true, "") + +// for typed tests +#define DOCTEST_TEST_CASE_TEMPLATE(name, type, ...) \ + template \ + inline void DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)() + +#define DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, type, id) \ + template \ + inline void DOCTEST_ANONYMOUS(DOCTEST_ANON_TMP_)() + +#define DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, ...) static_assert(true, "") +#define DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, ...) static_assert(true, "") + +// for subcases +#define DOCTEST_SUBCASE(name) + +// for a testsuite block +#define DOCTEST_TEST_SUITE(name) namespace // NOLINT + +// for starting a testsuite block +#define DOCTEST_TEST_SUITE_BEGIN(name) static_assert(true, "") + +// for ending a testsuite block +#define DOCTEST_TEST_SUITE_END using DOCTEST_ANONYMOUS(DOCTEST_ANON_FOR_SEMICOLON_) = int + +#define DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) \ + template \ + static inline doctest::String DOCTEST_ANONYMOUS(DOCTEST_ANON_TRANSLATOR_)(signature) + +#define DOCTEST_REGISTER_REPORTER(name, priority, reporter) +#define DOCTEST_REGISTER_LISTENER(name, priority, reporter) + +#define DOCTEST_INFO(...) (static_cast(0)) +#define DOCTEST_CAPTURE(x) (static_cast(0)) +#define DOCTEST_ADD_MESSAGE_AT(file, line, ...) (static_cast(0)) +#define DOCTEST_ADD_FAIL_CHECK_AT(file, line, ...) (static_cast(0)) +#define DOCTEST_ADD_FAIL_AT(file, line, ...) (static_cast(0)) +#define DOCTEST_MESSAGE(...) (static_cast(0)) +#define DOCTEST_FAIL_CHECK(...) (static_cast(0)) +#define DOCTEST_FAIL(...) (static_cast(0)) + +#if defined(DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED) \ + && defined(DOCTEST_CONFIG_ASSERTS_RETURN_VALUES) + +#define DOCTEST_WARN(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_CHECK(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_REQUIRE(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_WARN_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_CHECK_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_FALSE(...) [&] { return !(__VA_ARGS__); }() + +#define DOCTEST_WARN_MESSAGE(cond, ...) [&] { return cond; }() +#define DOCTEST_CHECK_MESSAGE(cond, ...) [&] { return cond; }() +#define DOCTEST_REQUIRE_MESSAGE(cond, ...) [&] { return cond; }() +#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }() +#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }() +#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) [&] { return !(cond); }() + +namespace doctest { +namespace detail { +#define DOCTEST_RELATIONAL_OP(name, op) \ + template \ + bool name(const DOCTEST_REF_WRAP(L) lhs, const DOCTEST_REF_WRAP(R) rhs) { return lhs op rhs; } + + DOCTEST_RELATIONAL_OP(eq, ==) + DOCTEST_RELATIONAL_OP(ne, !=) + DOCTEST_RELATIONAL_OP(lt, <) + DOCTEST_RELATIONAL_OP(gt, >) + DOCTEST_RELATIONAL_OP(le, <=) + DOCTEST_RELATIONAL_OP(ge, >=) +} // namespace detail +} // namespace doctest + +#define DOCTEST_WARN_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }() +#define DOCTEST_CHECK_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_EQ(...) [&] { return doctest::detail::eq(__VA_ARGS__); }() +#define DOCTEST_WARN_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }() +#define DOCTEST_CHECK_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_NE(...) [&] { return doctest::detail::ne(__VA_ARGS__); }() +#define DOCTEST_WARN_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }() +#define DOCTEST_CHECK_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_LT(...) [&] { return doctest::detail::lt(__VA_ARGS__); }() +#define DOCTEST_WARN_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }() +#define DOCTEST_CHECK_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_GT(...) [&] { return doctest::detail::gt(__VA_ARGS__); }() +#define DOCTEST_WARN_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }() +#define DOCTEST_CHECK_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_LE(...) [&] { return doctest::detail::le(__VA_ARGS__); }() +#define DOCTEST_WARN_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }() +#define DOCTEST_CHECK_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_GE(...) [&] { return doctest::detail::ge(__VA_ARGS__); }() +#define DOCTEST_WARN_UNARY(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_CHECK_UNARY(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_REQUIRE_UNARY(...) [&] { return __VA_ARGS__; }() +#define DOCTEST_WARN_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_CHECK_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }() +#define DOCTEST_REQUIRE_UNARY_FALSE(...) [&] { return !(__VA_ARGS__); }() + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + +#define DOCTEST_WARN_THROWS_WITH(expr, with, ...) [] { static_assert(false, "Exception translation is not available when doctest is disabled."); return false; }() +#define DOCTEST_CHECK_THROWS_WITH(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) + +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH(,,) + +#define DOCTEST_WARN_THROWS(...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_CHECK_THROWS(...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_REQUIRE_THROWS(...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_WARN_THROWS_AS(expr, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_CHECK_THROWS_AS(expr, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_WARN_NOTHROW(...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_CHECK_NOTHROW(...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_REQUIRE_NOTHROW(...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return false; } catch (...) { return true; } }() +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) [&] { try { expr; } catch (__VA_ARGS__) { return true; } catch (...) { } return false; }() +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) [&] { try { __VA_ARGS__; return true; } catch (...) { return false; } }() + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +#else // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED + +#define DOCTEST_WARN(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_FALSE(...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_EQ(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_EQ(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_EQ(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_NE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_NE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_NE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_GT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_GT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_GT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_LT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_LT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_LT(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_GE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_GE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_GE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_LE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_LE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_LE(...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_UNARY(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_UNARY(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_UNARY(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_UNARY_FALSE(...) DOCTEST_FUNC_EMPTY + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + +#define DOCTEST_WARN_THROWS(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_NOTHROW(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_FUNC_EMPTY + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_FUNC_EMPTY + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +#endif // DOCTEST_CONFIG_EVALUATE_ASSERTS_EVEN_WHEN_DISABLED + +#endif // DOCTEST_CONFIG_DISABLE + +#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS + +#ifdef DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS +#define DOCTEST_EXCEPTION_EMPTY_FUNC DOCTEST_FUNC_EMPTY +#else // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS +#define DOCTEST_EXCEPTION_EMPTY_FUNC [] { static_assert(false, "Exceptions are disabled! " \ + "Use DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS if you want to compile with exceptions disabled."); return false; }() + +#undef DOCTEST_REQUIRE +#undef DOCTEST_REQUIRE_FALSE +#undef DOCTEST_REQUIRE_MESSAGE +#undef DOCTEST_REQUIRE_FALSE_MESSAGE +#undef DOCTEST_REQUIRE_EQ +#undef DOCTEST_REQUIRE_NE +#undef DOCTEST_REQUIRE_GT +#undef DOCTEST_REQUIRE_LT +#undef DOCTEST_REQUIRE_GE +#undef DOCTEST_REQUIRE_LE +#undef DOCTEST_REQUIRE_UNARY +#undef DOCTEST_REQUIRE_UNARY_FALSE + +#define DOCTEST_REQUIRE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_FALSE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_MESSAGE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_FALSE_MESSAGE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_EQ DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_NE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_GT DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_LT DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_GE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_LE DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_UNARY DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_UNARY_FALSE DOCTEST_EXCEPTION_EMPTY_FUNC + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS_BUT_WITH_ALL_ASSERTS + +#define DOCTEST_WARN_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_AS(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_NOTHROW(...) DOCTEST_EXCEPTION_EMPTY_FUNC + +#define DOCTEST_WARN_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC +#define DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_EXCEPTION_EMPTY_FUNC + +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + +// clang-format off +// KEPT FOR BACKWARDS COMPATIBILITY - FORWARDING TO THE RIGHT MACROS +#define DOCTEST_FAST_WARN_EQ DOCTEST_WARN_EQ +#define DOCTEST_FAST_CHECK_EQ DOCTEST_CHECK_EQ +#define DOCTEST_FAST_REQUIRE_EQ DOCTEST_REQUIRE_EQ +#define DOCTEST_FAST_WARN_NE DOCTEST_WARN_NE +#define DOCTEST_FAST_CHECK_NE DOCTEST_CHECK_NE +#define DOCTEST_FAST_REQUIRE_NE DOCTEST_REQUIRE_NE +#define DOCTEST_FAST_WARN_GT DOCTEST_WARN_GT +#define DOCTEST_FAST_CHECK_GT DOCTEST_CHECK_GT +#define DOCTEST_FAST_REQUIRE_GT DOCTEST_REQUIRE_GT +#define DOCTEST_FAST_WARN_LT DOCTEST_WARN_LT +#define DOCTEST_FAST_CHECK_LT DOCTEST_CHECK_LT +#define DOCTEST_FAST_REQUIRE_LT DOCTEST_REQUIRE_LT +#define DOCTEST_FAST_WARN_GE DOCTEST_WARN_GE +#define DOCTEST_FAST_CHECK_GE DOCTEST_CHECK_GE +#define DOCTEST_FAST_REQUIRE_GE DOCTEST_REQUIRE_GE +#define DOCTEST_FAST_WARN_LE DOCTEST_WARN_LE +#define DOCTEST_FAST_CHECK_LE DOCTEST_CHECK_LE +#define DOCTEST_FAST_REQUIRE_LE DOCTEST_REQUIRE_LE + +#define DOCTEST_FAST_WARN_UNARY DOCTEST_WARN_UNARY +#define DOCTEST_FAST_CHECK_UNARY DOCTEST_CHECK_UNARY +#define DOCTEST_FAST_REQUIRE_UNARY DOCTEST_REQUIRE_UNARY +#define DOCTEST_FAST_WARN_UNARY_FALSE DOCTEST_WARN_UNARY_FALSE +#define DOCTEST_FAST_CHECK_UNARY_FALSE DOCTEST_CHECK_UNARY_FALSE +#define DOCTEST_FAST_REQUIRE_UNARY_FALSE DOCTEST_REQUIRE_UNARY_FALSE + +#define DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id,__VA_ARGS__) +// clang-format on + +// BDD style macros +// clang-format off +#define DOCTEST_SCENARIO(name) DOCTEST_TEST_CASE(" Scenario: " name) +#define DOCTEST_SCENARIO_CLASS(name) DOCTEST_TEST_CASE_CLASS(" Scenario: " name) +#define DOCTEST_SCENARIO_TEMPLATE(name, T, ...) DOCTEST_TEST_CASE_TEMPLATE(" Scenario: " name, T, __VA_ARGS__) +#define DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id) DOCTEST_TEST_CASE_TEMPLATE_DEFINE(" Scenario: " name, T, id) + +#define DOCTEST_GIVEN(name) DOCTEST_SUBCASE(" Given: " name) +#define DOCTEST_WHEN(name) DOCTEST_SUBCASE(" When: " name) +#define DOCTEST_AND_WHEN(name) DOCTEST_SUBCASE("And when: " name) +#define DOCTEST_THEN(name) DOCTEST_SUBCASE(" Then: " name) +#define DOCTEST_AND_THEN(name) DOCTEST_SUBCASE(" And: " name) +// clang-format on + +// == SHORT VERSIONS OF THE MACROS +#ifndef DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES + +#define TEST_CASE(name) DOCTEST_TEST_CASE(name) +#define TEST_CASE_CLASS(name) DOCTEST_TEST_CASE_CLASS(name) +#define TEST_CASE_FIXTURE(x, name) DOCTEST_TEST_CASE_FIXTURE(x, name) +#define TYPE_TO_STRING_AS(str, ...) DOCTEST_TYPE_TO_STRING_AS(str, __VA_ARGS__) +#define TYPE_TO_STRING(...) DOCTEST_TYPE_TO_STRING(__VA_ARGS__) +#define TEST_CASE_TEMPLATE(name, T, ...) DOCTEST_TEST_CASE_TEMPLATE(name, T, __VA_ARGS__) +#define TEST_CASE_TEMPLATE_DEFINE(name, T, id) DOCTEST_TEST_CASE_TEMPLATE_DEFINE(name, T, id) +#define TEST_CASE_TEMPLATE_INVOKE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INVOKE(id, __VA_ARGS__) +#define TEST_CASE_TEMPLATE_APPLY(id, ...) DOCTEST_TEST_CASE_TEMPLATE_APPLY(id, __VA_ARGS__) +#define SUBCASE(name) DOCTEST_SUBCASE(name) +#define TEST_SUITE(decorators) DOCTEST_TEST_SUITE(decorators) +#define TEST_SUITE_BEGIN(name) DOCTEST_TEST_SUITE_BEGIN(name) +#define TEST_SUITE_END DOCTEST_TEST_SUITE_END +#define REGISTER_EXCEPTION_TRANSLATOR(signature) DOCTEST_REGISTER_EXCEPTION_TRANSLATOR(signature) +#define REGISTER_REPORTER(name, priority, reporter) DOCTEST_REGISTER_REPORTER(name, priority, reporter) +#define REGISTER_LISTENER(name, priority, reporter) DOCTEST_REGISTER_LISTENER(name, priority, reporter) +#define INFO(...) DOCTEST_INFO(__VA_ARGS__) +#define CAPTURE(x) DOCTEST_CAPTURE(x) +#define ADD_MESSAGE_AT(file, line, ...) DOCTEST_ADD_MESSAGE_AT(file, line, __VA_ARGS__) +#define ADD_FAIL_CHECK_AT(file, line, ...) DOCTEST_ADD_FAIL_CHECK_AT(file, line, __VA_ARGS__) +#define ADD_FAIL_AT(file, line, ...) DOCTEST_ADD_FAIL_AT(file, line, __VA_ARGS__) +#define MESSAGE(...) DOCTEST_MESSAGE(__VA_ARGS__) +#define FAIL_CHECK(...) DOCTEST_FAIL_CHECK(__VA_ARGS__) +#define FAIL(...) DOCTEST_FAIL(__VA_ARGS__) +#define TO_LVALUE(...) DOCTEST_TO_LVALUE(__VA_ARGS__) + +#define WARN(...) DOCTEST_WARN(__VA_ARGS__) +#define WARN_FALSE(...) DOCTEST_WARN_FALSE(__VA_ARGS__) +#define WARN_THROWS(...) DOCTEST_WARN_THROWS(__VA_ARGS__) +#define WARN_THROWS_AS(expr, ...) DOCTEST_WARN_THROWS_AS(expr, __VA_ARGS__) +#define WARN_THROWS_WITH(expr, ...) DOCTEST_WARN_THROWS_WITH(expr, __VA_ARGS__) +#define WARN_THROWS_WITH_AS(expr, with, ...) DOCTEST_WARN_THROWS_WITH_AS(expr, with, __VA_ARGS__) +#define WARN_NOTHROW(...) DOCTEST_WARN_NOTHROW(__VA_ARGS__) +#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__) +#define CHECK_FALSE(...) DOCTEST_CHECK_FALSE(__VA_ARGS__) +#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__) +#define CHECK_THROWS_AS(expr, ...) DOCTEST_CHECK_THROWS_AS(expr, __VA_ARGS__) +#define CHECK_THROWS_WITH(expr, ...) DOCTEST_CHECK_THROWS_WITH(expr, __VA_ARGS__) +#define CHECK_THROWS_WITH_AS(expr, with, ...) DOCTEST_CHECK_THROWS_WITH_AS(expr, with, __VA_ARGS__) +#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__) +#define REQUIRE(...) DOCTEST_REQUIRE(__VA_ARGS__) +#define REQUIRE_FALSE(...) DOCTEST_REQUIRE_FALSE(__VA_ARGS__) +#define REQUIRE_THROWS(...) DOCTEST_REQUIRE_THROWS(__VA_ARGS__) +#define REQUIRE_THROWS_AS(expr, ...) DOCTEST_REQUIRE_THROWS_AS(expr, __VA_ARGS__) +#define REQUIRE_THROWS_WITH(expr, ...) DOCTEST_REQUIRE_THROWS_WITH(expr, __VA_ARGS__) +#define REQUIRE_THROWS_WITH_AS(expr, with, ...) DOCTEST_REQUIRE_THROWS_WITH_AS(expr, with, __VA_ARGS__) +#define REQUIRE_NOTHROW(...) DOCTEST_REQUIRE_NOTHROW(__VA_ARGS__) + +#define WARN_MESSAGE(cond, ...) DOCTEST_WARN_MESSAGE(cond, __VA_ARGS__) +#define WARN_FALSE_MESSAGE(cond, ...) DOCTEST_WARN_FALSE_MESSAGE(cond, __VA_ARGS__) +#define WARN_THROWS_MESSAGE(expr, ...) DOCTEST_WARN_THROWS_MESSAGE(expr, __VA_ARGS__) +#define WARN_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_WARN_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__) +#define WARN_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_WARN_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__) +#define WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_WARN_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__) +#define WARN_NOTHROW_MESSAGE(expr, ...) DOCTEST_WARN_NOTHROW_MESSAGE(expr, __VA_ARGS__) +#define CHECK_MESSAGE(cond, ...) DOCTEST_CHECK_MESSAGE(cond, __VA_ARGS__) +#define CHECK_FALSE_MESSAGE(cond, ...) DOCTEST_CHECK_FALSE_MESSAGE(cond, __VA_ARGS__) +#define CHECK_THROWS_MESSAGE(expr, ...) DOCTEST_CHECK_THROWS_MESSAGE(expr, __VA_ARGS__) +#define CHECK_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_CHECK_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__) +#define CHECK_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_CHECK_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__) +#define CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_CHECK_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__) +#define CHECK_NOTHROW_MESSAGE(expr, ...) DOCTEST_CHECK_NOTHROW_MESSAGE(expr, __VA_ARGS__) +#define REQUIRE_MESSAGE(cond, ...) DOCTEST_REQUIRE_MESSAGE(cond, __VA_ARGS__) +#define REQUIRE_FALSE_MESSAGE(cond, ...) DOCTEST_REQUIRE_FALSE_MESSAGE(cond, __VA_ARGS__) +#define REQUIRE_THROWS_MESSAGE(expr, ...) DOCTEST_REQUIRE_THROWS_MESSAGE(expr, __VA_ARGS__) +#define REQUIRE_THROWS_AS_MESSAGE(expr, ex, ...) DOCTEST_REQUIRE_THROWS_AS_MESSAGE(expr, ex, __VA_ARGS__) +#define REQUIRE_THROWS_WITH_MESSAGE(expr, with, ...) DOCTEST_REQUIRE_THROWS_WITH_MESSAGE(expr, with, __VA_ARGS__) +#define REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, ...) DOCTEST_REQUIRE_THROWS_WITH_AS_MESSAGE(expr, with, ex, __VA_ARGS__) +#define REQUIRE_NOTHROW_MESSAGE(expr, ...) DOCTEST_REQUIRE_NOTHROW_MESSAGE(expr, __VA_ARGS__) + +#define SCENARIO(name) DOCTEST_SCENARIO(name) +#define SCENARIO_CLASS(name) DOCTEST_SCENARIO_CLASS(name) +#define SCENARIO_TEMPLATE(name, T, ...) DOCTEST_SCENARIO_TEMPLATE(name, T, __VA_ARGS__) +#define SCENARIO_TEMPLATE_DEFINE(name, T, id) DOCTEST_SCENARIO_TEMPLATE_DEFINE(name, T, id) +#define GIVEN(name) DOCTEST_GIVEN(name) +#define WHEN(name) DOCTEST_WHEN(name) +#define AND_WHEN(name) DOCTEST_AND_WHEN(name) +#define THEN(name) DOCTEST_THEN(name) +#define AND_THEN(name) DOCTEST_AND_THEN(name) + +#define WARN_EQ(...) DOCTEST_WARN_EQ(__VA_ARGS__) +#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__) +#define REQUIRE_EQ(...) DOCTEST_REQUIRE_EQ(__VA_ARGS__) +#define WARN_NE(...) DOCTEST_WARN_NE(__VA_ARGS__) +#define CHECK_NE(...) DOCTEST_CHECK_NE(__VA_ARGS__) +#define REQUIRE_NE(...) DOCTEST_REQUIRE_NE(__VA_ARGS__) +#define WARN_GT(...) DOCTEST_WARN_GT(__VA_ARGS__) +#define CHECK_GT(...) DOCTEST_CHECK_GT(__VA_ARGS__) +#define REQUIRE_GT(...) DOCTEST_REQUIRE_GT(__VA_ARGS__) +#define WARN_LT(...) DOCTEST_WARN_LT(__VA_ARGS__) +#define CHECK_LT(...) DOCTEST_CHECK_LT(__VA_ARGS__) +#define REQUIRE_LT(...) DOCTEST_REQUIRE_LT(__VA_ARGS__) +#define WARN_GE(...) DOCTEST_WARN_GE(__VA_ARGS__) +#define CHECK_GE(...) DOCTEST_CHECK_GE(__VA_ARGS__) +#define REQUIRE_GE(...) DOCTEST_REQUIRE_GE(__VA_ARGS__) +#define WARN_LE(...) DOCTEST_WARN_LE(__VA_ARGS__) +#define CHECK_LE(...) DOCTEST_CHECK_LE(__VA_ARGS__) +#define REQUIRE_LE(...) DOCTEST_REQUIRE_LE(__VA_ARGS__) +#define WARN_UNARY(...) DOCTEST_WARN_UNARY(__VA_ARGS__) +#define CHECK_UNARY(...) DOCTEST_CHECK_UNARY(__VA_ARGS__) +#define REQUIRE_UNARY(...) DOCTEST_REQUIRE_UNARY(__VA_ARGS__) +#define WARN_UNARY_FALSE(...) DOCTEST_WARN_UNARY_FALSE(__VA_ARGS__) +#define CHECK_UNARY_FALSE(...) DOCTEST_CHECK_UNARY_FALSE(__VA_ARGS__) +#define REQUIRE_UNARY_FALSE(...) DOCTEST_REQUIRE_UNARY_FALSE(__VA_ARGS__) + +// KEPT FOR BACKWARDS COMPATIBILITY +#define FAST_WARN_EQ(...) DOCTEST_FAST_WARN_EQ(__VA_ARGS__) +#define FAST_CHECK_EQ(...) DOCTEST_FAST_CHECK_EQ(__VA_ARGS__) +#define FAST_REQUIRE_EQ(...) DOCTEST_FAST_REQUIRE_EQ(__VA_ARGS__) +#define FAST_WARN_NE(...) DOCTEST_FAST_WARN_NE(__VA_ARGS__) +#define FAST_CHECK_NE(...) DOCTEST_FAST_CHECK_NE(__VA_ARGS__) +#define FAST_REQUIRE_NE(...) DOCTEST_FAST_REQUIRE_NE(__VA_ARGS__) +#define FAST_WARN_GT(...) DOCTEST_FAST_WARN_GT(__VA_ARGS__) +#define FAST_CHECK_GT(...) DOCTEST_FAST_CHECK_GT(__VA_ARGS__) +#define FAST_REQUIRE_GT(...) DOCTEST_FAST_REQUIRE_GT(__VA_ARGS__) +#define FAST_WARN_LT(...) DOCTEST_FAST_WARN_LT(__VA_ARGS__) +#define FAST_CHECK_LT(...) DOCTEST_FAST_CHECK_LT(__VA_ARGS__) +#define FAST_REQUIRE_LT(...) DOCTEST_FAST_REQUIRE_LT(__VA_ARGS__) +#define FAST_WARN_GE(...) DOCTEST_FAST_WARN_GE(__VA_ARGS__) +#define FAST_CHECK_GE(...) DOCTEST_FAST_CHECK_GE(__VA_ARGS__) +#define FAST_REQUIRE_GE(...) DOCTEST_FAST_REQUIRE_GE(__VA_ARGS__) +#define FAST_WARN_LE(...) DOCTEST_FAST_WARN_LE(__VA_ARGS__) +#define FAST_CHECK_LE(...) DOCTEST_FAST_CHECK_LE(__VA_ARGS__) +#define FAST_REQUIRE_LE(...) DOCTEST_FAST_REQUIRE_LE(__VA_ARGS__) + +#define FAST_WARN_UNARY(...) DOCTEST_FAST_WARN_UNARY(__VA_ARGS__) +#define FAST_CHECK_UNARY(...) DOCTEST_FAST_CHECK_UNARY(__VA_ARGS__) +#define FAST_REQUIRE_UNARY(...) DOCTEST_FAST_REQUIRE_UNARY(__VA_ARGS__) +#define FAST_WARN_UNARY_FALSE(...) DOCTEST_FAST_WARN_UNARY_FALSE(__VA_ARGS__) +#define FAST_CHECK_UNARY_FALSE(...) DOCTEST_FAST_CHECK_UNARY_FALSE(__VA_ARGS__) +#define FAST_REQUIRE_UNARY_FALSE(...) DOCTEST_FAST_REQUIRE_UNARY_FALSE(__VA_ARGS__) + +#define TEST_CASE_TEMPLATE_INSTANTIATE(id, ...) DOCTEST_TEST_CASE_TEMPLATE_INSTANTIATE(id, __VA_ARGS__) + +#endif // DOCTEST_CONFIG_NO_SHORT_MACRO_NAMES + +#ifndef DOCTEST_CONFIG_DISABLE + +// this is here to clear the 'current test suite' for the current translation unit - at the top +DOCTEST_TEST_SUITE_END(); + +#endif // DOCTEST_CONFIG_DISABLE + +DOCTEST_CLANG_SUPPRESS_WARNING_POP +DOCTEST_MSVC_SUPPRESS_WARNING_POP +DOCTEST_GCC_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_POP + +#endif // DOCTEST_LIBRARY_INCLUDED + +#ifndef DOCTEST_SINGLE_HEADER +#define DOCTEST_SINGLE_HEADER +#endif // DOCTEST_SINGLE_HEADER + +#if defined(DOCTEST_CONFIG_IMPLEMENT) || !defined(DOCTEST_SINGLE_HEADER) + +#ifndef DOCTEST_SINGLE_HEADER +#include "doctest_fwd.h" +#endif // DOCTEST_SINGLE_HEADER + +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wunused-macros") + +#ifndef DOCTEST_LIBRARY_IMPLEMENTATION +#define DOCTEST_LIBRARY_IMPLEMENTATION + +DOCTEST_CLANG_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_PUSH + +DOCTEST_CLANG_SUPPRESS_WARNING_PUSH +DOCTEST_CLANG_SUPPRESS_WARNING("-Wglobal-constructors") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wexit-time-destructors") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wsign-conversion") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wshorten-64-to-32") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-variable-declarations") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wswitch") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wswitch-enum") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wcovered-switch-default") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-noreturn") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wdisabled-macro-expansion") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-braces") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wmissing-field-initializers") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wunused-member-function") +DOCTEST_CLANG_SUPPRESS_WARNING("-Wnonportable-system-include-path") + +DOCTEST_GCC_SUPPRESS_WARNING_PUSH +DOCTEST_GCC_SUPPRESS_WARNING("-Wconversion") +DOCTEST_GCC_SUPPRESS_WARNING("-Wsign-conversion") +DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-field-initializers") +DOCTEST_GCC_SUPPRESS_WARNING("-Wmissing-braces") +DOCTEST_GCC_SUPPRESS_WARNING("-Wswitch") +DOCTEST_GCC_SUPPRESS_WARNING("-Wswitch-enum") +DOCTEST_GCC_SUPPRESS_WARNING("-Wswitch-default") +DOCTEST_GCC_SUPPRESS_WARNING("-Wunsafe-loop-optimizations") +DOCTEST_GCC_SUPPRESS_WARNING("-Wold-style-cast") +DOCTEST_GCC_SUPPRESS_WARNING("-Wunused-function") +DOCTEST_GCC_SUPPRESS_WARNING("-Wmultiple-inheritance") +DOCTEST_GCC_SUPPRESS_WARNING("-Wsuggest-attribute") + +DOCTEST_MSVC_SUPPRESS_WARNING_PUSH +DOCTEST_MSVC_SUPPRESS_WARNING(4267) // 'var' : conversion from 'x' to 'y', possible loss of data +DOCTEST_MSVC_SUPPRESS_WARNING(4530) // C++ exception handler used, but unwind semantics not enabled +DOCTEST_MSVC_SUPPRESS_WARNING(4577) // 'noexcept' used with no exception handling mode specified +DOCTEST_MSVC_SUPPRESS_WARNING(4774) // format string expected in argument is not a string literal +DOCTEST_MSVC_SUPPRESS_WARNING(4365) // conversion from 'int' to 'unsigned', signed/unsigned mismatch +DOCTEST_MSVC_SUPPRESS_WARNING(5039) // pointer to potentially throwing function passed to extern C +DOCTEST_MSVC_SUPPRESS_WARNING(4800) // forcing value to bool 'true' or 'false' (performance warning) +DOCTEST_MSVC_SUPPRESS_WARNING(5245) // unreferenced function with internal linkage has been removed + +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_BEGIN + +// required includes - will go only in one translation unit! +#include +#include +#include +// borland (Embarcadero) compiler requires math.h and not cmath - https://github.com/doctest/doctest/pull/37 +#ifdef __BORLANDC__ +#include +#endif // __BORLANDC__ +#include +#include +#include +#include +#include +#include +#include +#include +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM +#include +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM +#include +#include +#include +#ifndef DOCTEST_CONFIG_NO_MULTITHREADING +#include +#include +#define DOCTEST_DECLARE_MUTEX(name) std::mutex name; +#define DOCTEST_DECLARE_STATIC_MUTEX(name) static DOCTEST_DECLARE_MUTEX(name) +#define DOCTEST_LOCK_MUTEX(name) std::lock_guard DOCTEST_ANONYMOUS(DOCTEST_ANON_LOCK_)(name); +#else // DOCTEST_CONFIG_NO_MULTITHREADING +#define DOCTEST_DECLARE_MUTEX(name) +#define DOCTEST_DECLARE_STATIC_MUTEX(name) +#define DOCTEST_LOCK_MUTEX(name) +#endif // DOCTEST_CONFIG_NO_MULTITHREADING +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef DOCTEST_PLATFORM_MAC +#include +#include +#include +#endif // DOCTEST_PLATFORM_MAC + +#ifdef DOCTEST_PLATFORM_WINDOWS + +// defines for a leaner windows.h +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN +#define DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN +#endif // WIN32_LEAN_AND_MEAN +#ifndef NOMINMAX +#define NOMINMAX +#define DOCTEST_UNDEF_NOMINMAX +#endif // NOMINMAX + +// not sure what AfxWin.h is for - here I do what Catch does +#ifdef __AFXDLL +#include +#else +#include +#endif +#include + +#else // DOCTEST_PLATFORM_WINDOWS + +#include +#include + +#endif // DOCTEST_PLATFORM_WINDOWS + +// this is a fix for https://github.com/doctest/doctest/issues/348 +// https://mail.gnome.org/archives/xml/2012-January/msg00000.html +#if !defined(HAVE_UNISTD_H) && !defined(STDOUT_FILENO) +#define STDOUT_FILENO fileno(stdout) +#endif // HAVE_UNISTD_H + +DOCTEST_MAKE_STD_HEADERS_CLEAN_FROM_WARNINGS_ON_WALL_END + +// counts the number of elements in a C array +#define DOCTEST_COUNTOF(x) (sizeof(x) / sizeof(x[0])) + +#ifdef DOCTEST_CONFIG_DISABLE +#define DOCTEST_BRANCH_ON_DISABLED(if_disabled, if_not_disabled) if_disabled +#else // DOCTEST_CONFIG_DISABLE +#define DOCTEST_BRANCH_ON_DISABLED(if_disabled, if_not_disabled) if_not_disabled +#endif // DOCTEST_CONFIG_DISABLE + +#ifndef DOCTEST_CONFIG_OPTIONS_PREFIX +#define DOCTEST_CONFIG_OPTIONS_PREFIX "dt-" +#endif + +#ifndef DOCTEST_THREAD_LOCAL +#if defined(DOCTEST_CONFIG_NO_MULTITHREADING) || DOCTEST_MSVC && (DOCTEST_MSVC < DOCTEST_COMPILER(19, 0, 0)) +#define DOCTEST_THREAD_LOCAL +#else // DOCTEST_MSVC +#define DOCTEST_THREAD_LOCAL thread_local +#endif // DOCTEST_MSVC +#endif // DOCTEST_THREAD_LOCAL + +#ifndef DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES +#define DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES 32 +#endif + +#ifndef DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE +#define DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE 64 +#endif + +#ifdef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS +#define DOCTEST_OPTIONS_PREFIX_DISPLAY DOCTEST_CONFIG_OPTIONS_PREFIX +#else +#define DOCTEST_OPTIONS_PREFIX_DISPLAY "" +#endif + +#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) +#define DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS +#endif + +#ifndef DOCTEST_CDECL +#define DOCTEST_CDECL __cdecl +#endif + +namespace doctest { + +bool is_running_in_test = false; + +namespace { + using namespace detail; + + template + DOCTEST_NORETURN void throw_exception(Ex const& e) { +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + throw e; +#else // DOCTEST_CONFIG_NO_EXCEPTIONS +#ifdef DOCTEST_CONFIG_HANDLE_EXCEPTION + DOCTEST_CONFIG_HANDLE_EXCEPTION(e); +#else // DOCTEST_CONFIG_HANDLE_EXCEPTION +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + std::cerr << "doctest will terminate because it needed to throw an exception.\n" + << "The message was: " << e.what() << '\n'; +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM +#endif // DOCTEST_CONFIG_HANDLE_EXCEPTION + std::terminate(); +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + } + +#ifndef DOCTEST_INTERNAL_ERROR +#define DOCTEST_INTERNAL_ERROR(msg) \ + throw_exception(std::logic_error( \ + __FILE__ ":" DOCTEST_TOSTR(__LINE__) ": Internal doctest error: " msg)) +#endif // DOCTEST_INTERNAL_ERROR + + // case insensitive strcmp + int stricmp(const char* a, const char* b) { + for(;; a++, b++) { + const int d = tolower(*a) - tolower(*b); + if(d != 0 || !*a) + return d; + } + } + + struct Endianness + { + enum Arch + { + Big, + Little + }; + + static Arch which() { + int x = 1; + // casting any data pointer to char* is allowed + auto ptr = reinterpret_cast(&x); + if(*ptr) + return Little; + return Big; + } + }; +} // namespace + +namespace detail { + DOCTEST_THREAD_LOCAL class + { + std::vector stack; + std::stringstream ss; + + public: + std::ostream* push() { + stack.push_back(ss.tellp()); + return &ss; + } + + String pop() { + if (stack.empty()) + DOCTEST_INTERNAL_ERROR("TLSS was empty when trying to pop!"); + + std::streampos pos = stack.back(); + stack.pop_back(); + unsigned sz = static_cast(ss.tellp() - pos); + ss.rdbuf()->pubseekpos(pos, std::ios::in | std::ios::out); + return String(ss, sz); + } + } g_oss; + + std::ostream* tlssPush() { + return g_oss.push(); + } + + String tlssPop() { + return g_oss.pop(); + } + +#ifndef DOCTEST_CONFIG_DISABLE + +namespace timer_large_integer +{ + +#if defined(DOCTEST_PLATFORM_WINDOWS) + using type = ULONGLONG; +#else // DOCTEST_PLATFORM_WINDOWS + using type = std::uint64_t; +#endif // DOCTEST_PLATFORM_WINDOWS +} + +using ticks_t = timer_large_integer::type; + +#ifdef DOCTEST_CONFIG_GETCURRENTTICKS + ticks_t getCurrentTicks() { return DOCTEST_CONFIG_GETCURRENTTICKS(); } +#elif defined(DOCTEST_PLATFORM_WINDOWS) + ticks_t getCurrentTicks() { + static LARGE_INTEGER hz = { {0} }, hzo = { {0} }; + if(!hz.QuadPart) { + QueryPerformanceFrequency(&hz); + QueryPerformanceCounter(&hzo); + } + LARGE_INTEGER t; + QueryPerformanceCounter(&t); + return ((t.QuadPart - hzo.QuadPart) * LONGLONG(1000000)) / hz.QuadPart; + } +#else // DOCTEST_PLATFORM_WINDOWS + ticks_t getCurrentTicks() { + timeval t; + gettimeofday(&t, nullptr); + return static_cast(t.tv_sec) * 1000000 + static_cast(t.tv_usec); + } +#endif // DOCTEST_PLATFORM_WINDOWS + + struct Timer + { + void start() { m_ticks = getCurrentTicks(); } + unsigned int getElapsedMicroseconds() const { + return static_cast(getCurrentTicks() - m_ticks); + } + //unsigned int getElapsedMilliseconds() const { + // return static_cast(getElapsedMicroseconds() / 1000); + //} + double getElapsedSeconds() const { return static_cast(getCurrentTicks() - m_ticks) / 1000000.0; } + + private: + ticks_t m_ticks = 0; + }; + +#ifdef DOCTEST_CONFIG_NO_MULTITHREADING + template + using Atomic = T; +#else // DOCTEST_CONFIG_NO_MULTITHREADING + template + using Atomic = std::atomic; +#endif // DOCTEST_CONFIG_NO_MULTITHREADING + +#if defined(DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS) || defined(DOCTEST_CONFIG_NO_MULTITHREADING) + template + using MultiLaneAtomic = Atomic; +#else // DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS + // Provides a multilane implementation of an atomic variable that supports add, sub, load, + // store. Instead of using a single atomic variable, this splits up into multiple ones, + // each sitting on a separate cache line. The goal is to provide a speedup when most + // operations are modifying. It achieves this with two properties: + // + // * Multiple atomics are used, so chance of congestion from the same atomic is reduced. + // * Each atomic sits on a separate cache line, so false sharing is reduced. + // + // The disadvantage is that there is a small overhead due to the use of TLS, and load/store + // is slower because all atomics have to be accessed. + template + class MultiLaneAtomic + { + struct CacheLineAlignedAtomic + { + Atomic atomic{}; + char padding[DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE - sizeof(Atomic)]; + }; + CacheLineAlignedAtomic m_atomics[DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES]; + + static_assert(sizeof(CacheLineAlignedAtomic) == DOCTEST_MULTI_LANE_ATOMICS_CACHE_LINE_SIZE, + "guarantee one atomic takes exactly one cache line"); + + public: + T operator++() DOCTEST_NOEXCEPT { return fetch_add(1) + 1; } + + T operator++(int) DOCTEST_NOEXCEPT { return fetch_add(1); } + + T fetch_add(T arg, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT { + return myAtomic().fetch_add(arg, order); + } + + T fetch_sub(T arg, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT { + return myAtomic().fetch_sub(arg, order); + } + + operator T() const DOCTEST_NOEXCEPT { return load(); } + + T load(std::memory_order order = std::memory_order_seq_cst) const DOCTEST_NOEXCEPT { + auto result = T(); + for(auto const& c : m_atomics) { + result += c.atomic.load(order); + } + return result; + } + + T operator=(T desired) DOCTEST_NOEXCEPT { // lgtm [cpp/assignment-does-not-return-this] + store(desired); + return desired; + } + + void store(T desired, std::memory_order order = std::memory_order_seq_cst) DOCTEST_NOEXCEPT { + // first value becomes desired", all others become 0. + for(auto& c : m_atomics) { + c.atomic.store(desired, order); + desired = {}; + } + } + + private: + // Each thread has a different atomic that it operates on. If more than NumLanes threads + // use this, some will use the same atomic. So performance will degrade a bit, but still + // everything will work. + // + // The logic here is a bit tricky. The call should be as fast as possible, so that there + // is minimal to no overhead in determining the correct atomic for the current thread. + // + // 1. A global static counter laneCounter counts continuously up. + // 2. Each successive thread will use modulo operation of that counter so it gets an atomic + // assigned in a round-robin fashion. + // 3. This tlsLaneIdx is stored in the thread local data, so it is directly available with + // little overhead. + Atomic& myAtomic() DOCTEST_NOEXCEPT { + static Atomic laneCounter; + DOCTEST_THREAD_LOCAL size_t tlsLaneIdx = + laneCounter++ % DOCTEST_MULTI_LANE_ATOMICS_THREAD_LANES; + + return m_atomics[tlsLaneIdx].atomic; + } + }; +#endif // DOCTEST_CONFIG_NO_MULTI_LANE_ATOMICS + + // this holds both parameters from the command line and runtime data for tests + struct ContextState : ContextOptions, TestRunStats, CurrentTestCaseStats + { + MultiLaneAtomic numAssertsCurrentTest_atomic; + MultiLaneAtomic numAssertsFailedCurrentTest_atomic; + + std::vector> filters = decltype(filters)(9); // 9 different filters + + std::vector reporters_currently_used; + + assert_handler ah = nullptr; + + Timer timer; + + std::vector stringifiedContexts; // logging from INFO() due to an exception + + // stuff for subcases + bool reachedLeaf; + std::vector subcaseStack; + std::vector nextSubcaseStack; + std::unordered_set fullyTraversedSubcases; + size_t currentSubcaseDepth; + Atomic shouldLogCurrentException; + + void resetRunData() { + numTestCases = 0; + numTestCasesPassingFilters = 0; + numTestSuitesPassingFilters = 0; + numTestCasesFailed = 0; + numAsserts = 0; + numAssertsFailed = 0; + numAssertsCurrentTest = 0; + numAssertsFailedCurrentTest = 0; + } + + void finalizeTestCaseData() { + seconds = timer.getElapsedSeconds(); + + // update the non-atomic counters + numAsserts += numAssertsCurrentTest_atomic; + numAssertsFailed += numAssertsFailedCurrentTest_atomic; + numAssertsCurrentTest = numAssertsCurrentTest_atomic; + numAssertsFailedCurrentTest = numAssertsFailedCurrentTest_atomic; + + if(numAssertsFailedCurrentTest) + failure_flags |= TestCaseFailureReason::AssertFailure; + + if(Approx(currentTest->m_timeout).epsilon(DBL_EPSILON) != 0 && + Approx(seconds).epsilon(DBL_EPSILON) > currentTest->m_timeout) + failure_flags |= TestCaseFailureReason::Timeout; + + if(currentTest->m_should_fail) { + if(failure_flags) { + failure_flags |= TestCaseFailureReason::ShouldHaveFailedAndDid; + } else { + failure_flags |= TestCaseFailureReason::ShouldHaveFailedButDidnt; + } + } else if(failure_flags && currentTest->m_may_fail) { + failure_flags |= TestCaseFailureReason::CouldHaveFailedAndDid; + } else if(currentTest->m_expected_failures > 0) { + if(numAssertsFailedCurrentTest == currentTest->m_expected_failures) { + failure_flags |= TestCaseFailureReason::FailedExactlyNumTimes; + } else { + failure_flags |= TestCaseFailureReason::DidntFailExactlyNumTimes; + } + } + + bool ok_to_fail = (TestCaseFailureReason::ShouldHaveFailedAndDid & failure_flags) || + (TestCaseFailureReason::CouldHaveFailedAndDid & failure_flags) || + (TestCaseFailureReason::FailedExactlyNumTimes & failure_flags); + + // if any subcase has failed - the whole test case has failed + testCaseSuccess = !(failure_flags && !ok_to_fail); + if(!testCaseSuccess) + numTestCasesFailed++; + } + }; + + ContextState* g_cs = nullptr; + + // used to avoid locks for the debug output + // TODO: figure out if this is indeed necessary/correct - seems like either there still + // could be a race or that there wouldn't be a race even if using the context directly + DOCTEST_THREAD_LOCAL bool g_no_colors; + +#endif // DOCTEST_CONFIG_DISABLE +} // namespace detail + +char* String::allocate(size_type sz) { + if (sz <= last) { + buf[sz] = '\0'; + setLast(last - sz); + return buf; + } else { + setOnHeap(); + data.size = sz; + data.capacity = data.size + 1; + data.ptr = new char[data.capacity]; + data.ptr[sz] = '\0'; + return data.ptr; + } +} + +void String::setOnHeap() noexcept { *reinterpret_cast(&buf[last]) = 128; } +void String::setLast(size_type in) noexcept { buf[last] = char(in); } +void String::setSize(size_type sz) noexcept { + if (isOnStack()) { buf[sz] = '\0'; setLast(last - sz); } + else { data.ptr[sz] = '\0'; data.size = sz; } +} + +void String::copy(const String& other) { + if(other.isOnStack()) { + memcpy(buf, other.buf, len); + } else { + memcpy(allocate(other.data.size), other.data.ptr, other.data.size); + } +} + +String::String() noexcept { + buf[0] = '\0'; + setLast(); +} + +String::~String() { + if(!isOnStack()) + delete[] data.ptr; +} // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks) + +String::String(const char* in) + : String(in, strlen(in)) {} + +String::String(const char* in, size_type in_size) { + memcpy(allocate(in_size), in, in_size); +} + +String::String(std::istream& in, size_type in_size) { + in.read(allocate(in_size), in_size); +} + +String::String(const String& other) { copy(other); } + +String& String::operator=(const String& other) { + if(this != &other) { + if(!isOnStack()) + delete[] data.ptr; + + copy(other); + } + + return *this; +} + +String& String::operator+=(const String& other) { + const size_type my_old_size = size(); + const size_type other_size = other.size(); + const size_type total_size = my_old_size + other_size; + if(isOnStack()) { + if(total_size < len) { + // append to the current stack space + memcpy(buf + my_old_size, other.c_str(), other_size + 1); + // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) + setLast(last - total_size); + } else { + // alloc new chunk + char* temp = new char[total_size + 1]; + // copy current data to new location before writing in the union + memcpy(temp, buf, my_old_size); // skip the +1 ('\0') for speed + // update data in union + setOnHeap(); + data.size = total_size; + data.capacity = data.size + 1; + data.ptr = temp; + // transfer the rest of the data + memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1); + } + } else { + if(data.capacity > total_size) { + // append to the current heap block + data.size = total_size; + memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1); + } else { + // resize + data.capacity *= 2; + if(data.capacity <= total_size) + data.capacity = total_size + 1; + // alloc new chunk + char* temp = new char[data.capacity]; + // copy current data to new location before releasing it + memcpy(temp, data.ptr, my_old_size); // skip the +1 ('\0') for speed + // release old chunk + delete[] data.ptr; + // update the rest of the union members + data.size = total_size; + data.ptr = temp; + // transfer the rest of the data + memcpy(data.ptr + my_old_size, other.c_str(), other_size + 1); + } + } + + return *this; +} + +String::String(String&& other) noexcept { + memcpy(buf, other.buf, len); + other.buf[0] = '\0'; + other.setLast(); +} + +String& String::operator=(String&& other) noexcept { + if(this != &other) { + if(!isOnStack()) + delete[] data.ptr; + memcpy(buf, other.buf, len); + other.buf[0] = '\0'; + other.setLast(); + } + return *this; +} + +char String::operator[](size_type i) const { + return const_cast(this)->operator[](i); +} + +char& String::operator[](size_type i) { + if(isOnStack()) + return reinterpret_cast(buf)[i]; + return data.ptr[i]; +} + +DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wmaybe-uninitialized") +String::size_type String::size() const { + if(isOnStack()) + return last - (size_type(buf[last]) & 31); // using "last" would work only if "len" is 32 + return data.size; +} +DOCTEST_GCC_SUPPRESS_WARNING_POP + +String::size_type String::capacity() const { + if(isOnStack()) + return len; + return data.capacity; +} + +String String::substr(size_type pos, size_type cnt) && { + cnt = std::min(cnt, size() - 1 - pos); + char* cptr = c_str(); + memmove(cptr, cptr + pos, cnt); + setSize(cnt); + return std::move(*this); +} + +String String::substr(size_type pos, size_type cnt) const & { + cnt = std::min(cnt, size() - 1 - pos); + return String{ c_str() + pos, cnt }; +} + +String::size_type String::find(char ch, size_type pos) const { + const char* begin = c_str(); + const char* end = begin + size(); + const char* it = begin + pos; + for (; it < end && *it != ch; it++); + if (it < end) { return static_cast(it - begin); } + else { return npos; } +} + +String::size_type String::rfind(char ch, size_type pos) const { + const char* begin = c_str(); + const char* it = begin + std::min(pos, size() - 1); + for (; it >= begin && *it != ch; it--); + if (it >= begin) { return static_cast(it - begin); } + else { return npos; } +} + +int String::compare(const char* other, bool no_case) const { + if(no_case) + return doctest::stricmp(c_str(), other); + return std::strcmp(c_str(), other); +} + +int String::compare(const String& other, bool no_case) const { + return compare(other.c_str(), no_case); +} + +String operator+(const String& lhs, const String& rhs) { return String(lhs) += rhs; } + +bool operator==(const String& lhs, const String& rhs) { return lhs.compare(rhs) == 0; } +bool operator!=(const String& lhs, const String& rhs) { return lhs.compare(rhs) != 0; } +bool operator< (const String& lhs, const String& rhs) { return lhs.compare(rhs) < 0; } +bool operator> (const String& lhs, const String& rhs) { return lhs.compare(rhs) > 0; } +bool operator<=(const String& lhs, const String& rhs) { return (lhs != rhs) ? lhs.compare(rhs) < 0 : true; } +bool operator>=(const String& lhs, const String& rhs) { return (lhs != rhs) ? lhs.compare(rhs) > 0 : true; } + +std::ostream& operator<<(std::ostream& s, const String& in) { return s << in.c_str(); } + +Contains::Contains(const String& str) : string(str) { } + +bool Contains::checkWith(const String& other) const { + return strstr(other.c_str(), string.c_str()) != nullptr; +} + +String toString(const Contains& in) { + return "Contains( " + in.string + " )"; +} + +bool operator==(const String& lhs, const Contains& rhs) { return rhs.checkWith(lhs); } +bool operator==(const Contains& lhs, const String& rhs) { return lhs.checkWith(rhs); } +bool operator!=(const String& lhs, const Contains& rhs) { return !rhs.checkWith(lhs); } +bool operator!=(const Contains& lhs, const String& rhs) { return !lhs.checkWith(rhs); } + +namespace { + void color_to_stream(std::ostream&, Color::Enum) DOCTEST_BRANCH_ON_DISABLED({}, ;) +} // namespace + +namespace Color { + std::ostream& operator<<(std::ostream& s, Color::Enum code) { + color_to_stream(s, code); + return s; + } +} // namespace Color + +// clang-format off +const char* assertString(assertType::Enum at) { + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4061) // enum 'x' in switch of enum 'y' is not explicitly handled + #define DOCTEST_GENERATE_ASSERT_TYPE_CASE(assert_type) case assertType::DT_ ## assert_type: return #assert_type + #define DOCTEST_GENERATE_ASSERT_TYPE_CASES(assert_type) \ + DOCTEST_GENERATE_ASSERT_TYPE_CASE(WARN_ ## assert_type); \ + DOCTEST_GENERATE_ASSERT_TYPE_CASE(CHECK_ ## assert_type); \ + DOCTEST_GENERATE_ASSERT_TYPE_CASE(REQUIRE_ ## assert_type) + switch(at) { + DOCTEST_GENERATE_ASSERT_TYPE_CASE(WARN); + DOCTEST_GENERATE_ASSERT_TYPE_CASE(CHECK); + DOCTEST_GENERATE_ASSERT_TYPE_CASE(REQUIRE); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(FALSE); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_AS); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_WITH); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(THROWS_WITH_AS); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(NOTHROW); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(EQ); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(NE); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(GT); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(LT); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(GE); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(LE); + + DOCTEST_GENERATE_ASSERT_TYPE_CASES(UNARY); + DOCTEST_GENERATE_ASSERT_TYPE_CASES(UNARY_FALSE); + + default: DOCTEST_INTERNAL_ERROR("Tried stringifying invalid assert type!"); + } + DOCTEST_MSVC_SUPPRESS_WARNING_POP +} +// clang-format on + +const char* failureString(assertType::Enum at) { + if(at & assertType::is_warn) //!OCLINT bitwise operator in conditional + return "WARNING"; + if(at & assertType::is_check) //!OCLINT bitwise operator in conditional + return "ERROR"; + if(at & assertType::is_require) //!OCLINT bitwise operator in conditional + return "FATAL ERROR"; + return ""; +} + +DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wnull-dereference") +DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wnull-dereference") +// depending on the current options this will remove the path of filenames +const char* skipPathFromFilename(const char* file) { +#ifndef DOCTEST_CONFIG_DISABLE + if(getContextOptions()->no_path_in_filenames) { + auto back = std::strrchr(file, '\\'); + auto forward = std::strrchr(file, '/'); + if(back || forward) { + if(back > forward) + forward = back; + return forward + 1; + } + } +#endif // DOCTEST_CONFIG_DISABLE + return file; +} +DOCTEST_CLANG_SUPPRESS_WARNING_POP +DOCTEST_GCC_SUPPRESS_WARNING_POP + +bool SubcaseSignature::operator==(const SubcaseSignature& other) const { + return m_line == other.m_line + && std::strcmp(m_file, other.m_file) == 0 + && m_name == other.m_name; +} + +bool SubcaseSignature::operator<(const SubcaseSignature& other) const { + if(m_line != other.m_line) + return m_line < other.m_line; + if(std::strcmp(m_file, other.m_file) != 0) + return std::strcmp(m_file, other.m_file) < 0; + return m_name.compare(other.m_name) < 0; +} + +DOCTEST_DEFINE_INTERFACE(IContextScope) + +namespace detail { + void filldata::fill(std::ostream* stream, const void* in) { + if (in) { *stream << in; } + else { *stream << "nullptr"; } + } + + template + String toStreamLit(T t) { + std::ostream* os = tlssPush(); + os->operator<<(t); + return tlssPop(); + } +} + +#ifdef DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING +String toString(const char* in) { return String("\"") + (in ? in : "{null string}") + "\""; } +#endif // DOCTEST_CONFIG_TREAT_CHAR_STAR_AS_STRING + +#if DOCTEST_MSVC >= DOCTEST_COMPILER(19, 20, 0) +// see this issue on why this is needed: https://github.com/doctest/doctest/issues/183 +String toString(const std::string& in) { return in.c_str(); } +#endif // VS 2019 + +String toString(String in) { return in; } + +String toString(std::nullptr_t) { return "nullptr"; } + +String toString(bool in) { return in ? "true" : "false"; } + +String toString(float in) { return toStreamLit(in); } +String toString(double in) { return toStreamLit(in); } +String toString(double long in) { return toStreamLit(in); } + +String toString(char in) { return toStreamLit(static_cast(in)); } +String toString(char signed in) { return toStreamLit(static_cast(in)); } +String toString(char unsigned in) { return toStreamLit(static_cast(in)); } +String toString(short in) { return toStreamLit(in); } +String toString(short unsigned in) { return toStreamLit(in); } +String toString(signed in) { return toStreamLit(in); } +String toString(unsigned in) { return toStreamLit(in); } +String toString(long in) { return toStreamLit(in); } +String toString(long unsigned in) { return toStreamLit(in); } +String toString(long long in) { return toStreamLit(in); } +String toString(long long unsigned in) { return toStreamLit(in); } + +Approx::Approx(double value) + : m_epsilon(static_cast(std::numeric_limits::epsilon()) * 100) + , m_scale(1.0) + , m_value(value) {} + +Approx Approx::operator()(double value) const { + Approx approx(value); + approx.epsilon(m_epsilon); + approx.scale(m_scale); + return approx; +} + +Approx& Approx::epsilon(double newEpsilon) { + m_epsilon = newEpsilon; + return *this; +} +Approx& Approx::scale(double newScale) { + m_scale = newScale; + return *this; +} + +bool operator==(double lhs, const Approx& rhs) { + // Thanks to Richard Harris for his help refining this formula + return std::fabs(lhs - rhs.m_value) < + rhs.m_epsilon * (rhs.m_scale + std::max(std::fabs(lhs), std::fabs(rhs.m_value))); +} +bool operator==(const Approx& lhs, double rhs) { return operator==(rhs, lhs); } +bool operator!=(double lhs, const Approx& rhs) { return !operator==(lhs, rhs); } +bool operator!=(const Approx& lhs, double rhs) { return !operator==(rhs, lhs); } +bool operator<=(double lhs, const Approx& rhs) { return lhs < rhs.m_value || lhs == rhs; } +bool operator<=(const Approx& lhs, double rhs) { return lhs.m_value < rhs || lhs == rhs; } +bool operator>=(double lhs, const Approx& rhs) { return lhs > rhs.m_value || lhs == rhs; } +bool operator>=(const Approx& lhs, double rhs) { return lhs.m_value > rhs || lhs == rhs; } +bool operator<(double lhs, const Approx& rhs) { return lhs < rhs.m_value && lhs != rhs; } +bool operator<(const Approx& lhs, double rhs) { return lhs.m_value < rhs && lhs != rhs; } +bool operator>(double lhs, const Approx& rhs) { return lhs > rhs.m_value && lhs != rhs; } +bool operator>(const Approx& lhs, double rhs) { return lhs.m_value > rhs && lhs != rhs; } + +String toString(const Approx& in) { + return "Approx( " + doctest::toString(in.m_value) + " )"; +} +const ContextOptions* getContextOptions() { return DOCTEST_BRANCH_ON_DISABLED(nullptr, g_cs); } + +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4738) +template +IsNaN::operator bool() const { + return std::isnan(value) ^ flipped; +} +DOCTEST_MSVC_SUPPRESS_WARNING_POP +template struct DOCTEST_INTERFACE_DEF IsNaN; +template struct DOCTEST_INTERFACE_DEF IsNaN; +template struct DOCTEST_INTERFACE_DEF IsNaN; +template +String toString(IsNaN in) { return String(in.flipped ? "! " : "") + "IsNaN( " + doctest::toString(in.value) + " )"; } +String toString(IsNaN in) { return toString(in); } +String toString(IsNaN in) { return toString(in); } +String toString(IsNaN in) { return toString(in); } + +} // namespace doctest + +#ifdef DOCTEST_CONFIG_DISABLE +namespace doctest { +Context::Context(int, const char* const*) {} +Context::~Context() = default; +void Context::applyCommandLine(int, const char* const*) {} +void Context::addFilter(const char*, const char*) {} +void Context::clearFilters() {} +void Context::setOption(const char*, bool) {} +void Context::setOption(const char*, int) {} +void Context::setOption(const char*, const char*) {} +bool Context::shouldExit() { return false; } +void Context::setAsDefaultForAssertsOutOfTestCases() {} +void Context::setAssertHandler(detail::assert_handler) {} +void Context::setCout(std::ostream*) {} +int Context::run() { return 0; } + +int IReporter::get_num_active_contexts() { return 0; } +const IContextScope* const* IReporter::get_active_contexts() { return nullptr; } +int IReporter::get_num_stringified_contexts() { return 0; } +const String* IReporter::get_stringified_contexts() { return nullptr; } + +int registerReporter(const char*, int, IReporter*) { return 0; } + +} // namespace doctest +#else // DOCTEST_CONFIG_DISABLE + +#if !defined(DOCTEST_CONFIG_COLORS_NONE) +#if !defined(DOCTEST_CONFIG_COLORS_WINDOWS) && !defined(DOCTEST_CONFIG_COLORS_ANSI) +#ifdef DOCTEST_PLATFORM_WINDOWS +#define DOCTEST_CONFIG_COLORS_WINDOWS +#else // linux +#define DOCTEST_CONFIG_COLORS_ANSI +#endif // platform +#endif // DOCTEST_CONFIG_COLORS_WINDOWS && DOCTEST_CONFIG_COLORS_ANSI +#endif // DOCTEST_CONFIG_COLORS_NONE + +namespace doctest_detail_test_suite_ns { +// holds the current test suite +doctest::detail::TestSuite& getCurrentTestSuite() { + static doctest::detail::TestSuite data{}; + return data; +} +} // namespace doctest_detail_test_suite_ns + +namespace doctest { +namespace { + // the int (priority) is part of the key for automatic sorting - sadly one can register a + // reporter with a duplicate name and a different priority but hopefully that won't happen often :| + using reporterMap = std::map, reporterCreatorFunc>; + + reporterMap& getReporters() { + static reporterMap data; + return data; + } + reporterMap& getListeners() { + static reporterMap data; + return data; + } +} // namespace +namespace detail { +#define DOCTEST_ITERATE_THROUGH_REPORTERS(function, ...) \ + for(auto& curr_rep : g_cs->reporters_currently_used) \ + curr_rep->function(__VA_ARGS__) + + bool checkIfShouldThrow(assertType::Enum at) { + if(at & assertType::is_require) //!OCLINT bitwise operator in conditional + return true; + + if((at & assertType::is_check) //!OCLINT bitwise operator in conditional + && getContextOptions()->abort_after > 0 && + (g_cs->numAssertsFailed + g_cs->numAssertsFailedCurrentTest_atomic) >= + getContextOptions()->abort_after) + return true; + + return false; + } + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + DOCTEST_NORETURN void throwException() { + g_cs->shouldLogCurrentException = false; + throw TestFailureException(); // NOLINT(hicpp-exception-baseclass) + } +#else // DOCTEST_CONFIG_NO_EXCEPTIONS + void throwException() {} +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS +} // namespace detail + +namespace { + using namespace detail; + // matching of a string against a wildcard mask (case sensitivity configurable) taken from + // https://www.codeproject.com/Articles/1088/Wildcard-string-compare-globbing + int wildcmp(const char* str, const char* wild, bool caseSensitive) { + const char* cp = str; + const char* mp = wild; + + while((*str) && (*wild != '*')) { + if((caseSensitive ? (*wild != *str) : (tolower(*wild) != tolower(*str))) && + (*wild != '?')) { + return 0; + } + wild++; + str++; + } + + while(*str) { + if(*wild == '*') { + if(!*++wild) { + return 1; + } + mp = wild; + cp = str + 1; + } else if((caseSensitive ? (*wild == *str) : (tolower(*wild) == tolower(*str))) || + (*wild == '?')) { + wild++; + str++; + } else { + wild = mp; //!OCLINT parameter reassignment + str = cp++; //!OCLINT parameter reassignment + } + } + + while(*wild == '*') { + wild++; + } + return !*wild; + } + + // checks if the name matches any of the filters (and can be configured what to do when empty) + bool matchesAny(const char* name, const std::vector& filters, bool matchEmpty, + bool caseSensitive) { + if (filters.empty() && matchEmpty) + return true; + for (auto& curr : filters) + if (wildcmp(name, curr.c_str(), caseSensitive)) + return true; + return false; + } + + DOCTEST_NO_SANITIZE_INTEGER + unsigned long long hash(unsigned long long a, unsigned long long b) { + return (a << 5) + b; + } + + // C string hash function (djb2) - taken from http://www.cse.yorku.ca/~oz/hash.html + DOCTEST_NO_SANITIZE_INTEGER + unsigned long long hash(const char* str) { + unsigned long long hash = 5381; + char c; + while ((c = *str++)) + hash = ((hash << 5) + hash) + c; // hash * 33 + c + return hash; + } + + unsigned long long hash(const SubcaseSignature& sig) { + return hash(hash(hash(sig.m_file), hash(sig.m_name.c_str())), sig.m_line); + } + + unsigned long long hash(const std::vector& sigs, size_t count) { + unsigned long long running = 0; + auto end = sigs.begin() + count; + for (auto it = sigs.begin(); it != end; it++) { + running = hash(running, hash(*it)); + } + return running; + } + + unsigned long long hash(const std::vector& sigs) { + unsigned long long running = 0; + for (const SubcaseSignature& sig : sigs) { + running = hash(running, hash(sig)); + } + return running; + } +} // namespace +namespace detail { + bool Subcase::checkFilters() { + if (g_cs->subcaseStack.size() < size_t(g_cs->subcase_filter_levels)) { + if (!matchesAny(m_signature.m_name.c_str(), g_cs->filters[6], true, g_cs->case_sensitive)) + return true; + if (matchesAny(m_signature.m_name.c_str(), g_cs->filters[7], false, g_cs->case_sensitive)) + return true; + } + return false; + } + + Subcase::Subcase(const String& name, const char* file, int line) + : m_signature({name, file, line}) { + if (!g_cs->reachedLeaf) { + if (g_cs->nextSubcaseStack.size() <= g_cs->subcaseStack.size() + || g_cs->nextSubcaseStack[g_cs->subcaseStack.size()] == m_signature) { + // Going down. + if (checkFilters()) { return; } + + g_cs->subcaseStack.push_back(m_signature); + g_cs->currentSubcaseDepth++; + m_entered = true; + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature); + } + } else { + if (g_cs->subcaseStack[g_cs->currentSubcaseDepth] == m_signature) { + // This subcase is reentered via control flow. + g_cs->currentSubcaseDepth++; + m_entered = true; + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_start, m_signature); + } else if (g_cs->nextSubcaseStack.size() <= g_cs->currentSubcaseDepth + && g_cs->fullyTraversedSubcases.find(hash(hash(g_cs->subcaseStack, g_cs->currentSubcaseDepth), hash(m_signature))) + == g_cs->fullyTraversedSubcases.end()) { + if (checkFilters()) { return; } + // This subcase is part of the one to be executed next. + g_cs->nextSubcaseStack.clear(); + g_cs->nextSubcaseStack.insert(g_cs->nextSubcaseStack.end(), + g_cs->subcaseStack.begin(), g_cs->subcaseStack.begin() + g_cs->currentSubcaseDepth); + g_cs->nextSubcaseStack.push_back(m_signature); + } + } + } + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17 + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + + Subcase::~Subcase() { + if (m_entered) { + g_cs->currentSubcaseDepth--; + + if (!g_cs->reachedLeaf) { + // Leaf. + g_cs->fullyTraversedSubcases.insert(hash(g_cs->subcaseStack)); + g_cs->nextSubcaseStack.clear(); + g_cs->reachedLeaf = true; + } else if (g_cs->nextSubcaseStack.empty()) { + // All children are finished. + g_cs->fullyTraversedSubcases.insert(hash(g_cs->subcaseStack)); + } + +#if defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411L && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) + if(std::uncaught_exceptions() > 0 +#else + if(std::uncaught_exception() +#endif + && g_cs->shouldLogCurrentException) { + DOCTEST_ITERATE_THROUGH_REPORTERS( + test_case_exception, {"exception thrown in subcase - will translate later " + "when the whole test case has been exited (cannot " + "translate while there is an active exception)", + false}); + g_cs->shouldLogCurrentException = false; + } + + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_end, DOCTEST_EMPTY); + } + } + + DOCTEST_CLANG_SUPPRESS_WARNING_POP + DOCTEST_GCC_SUPPRESS_WARNING_POP + DOCTEST_MSVC_SUPPRESS_WARNING_POP + + Subcase::operator bool() const { return m_entered; } + + Result::Result(bool passed, const String& decomposition) + : m_passed(passed) + , m_decomp(decomposition) {} + + ExpressionDecomposer::ExpressionDecomposer(assertType::Enum at) + : m_at(at) {} + + TestSuite& TestSuite::operator*(const char* in) { + m_test_suite = in; + return *this; + } + + TestCase::TestCase(funcType test, const char* file, unsigned line, const TestSuite& test_suite, + const String& type, int template_id) { + m_file = file; + m_line = line; + m_name = nullptr; // will be later overridden in operator* + m_test_suite = test_suite.m_test_suite; + m_description = test_suite.m_description; + m_skip = test_suite.m_skip; + m_no_breaks = test_suite.m_no_breaks; + m_no_output = test_suite.m_no_output; + m_may_fail = test_suite.m_may_fail; + m_should_fail = test_suite.m_should_fail; + m_expected_failures = test_suite.m_expected_failures; + m_timeout = test_suite.m_timeout; + + m_test = test; + m_type = type; + m_template_id = template_id; + } + + TestCase::TestCase(const TestCase& other) + : TestCaseData() { + *this = other; + } + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(26434) // hides a non-virtual function + TestCase& TestCase::operator=(const TestCase& other) { + TestCaseData::operator=(other); + m_test = other.m_test; + m_type = other.m_type; + m_template_id = other.m_template_id; + m_full_name = other.m_full_name; + + if(m_template_id != -1) + m_name = m_full_name.c_str(); + return *this; + } + DOCTEST_MSVC_SUPPRESS_WARNING_POP + + TestCase& TestCase::operator*(const char* in) { + m_name = in; + // make a new name with an appended type for templated test case + if(m_template_id != -1) { + m_full_name = String(m_name) + "<" + m_type + ">"; + // redirect the name to point to the newly constructed full name + m_name = m_full_name.c_str(); + } + return *this; + } + + bool TestCase::operator<(const TestCase& other) const { + // this will be used only to differentiate between test cases - not relevant for sorting + if(m_line != other.m_line) + return m_line < other.m_line; + const int name_cmp = strcmp(m_name, other.m_name); + if(name_cmp != 0) + return name_cmp < 0; + const int file_cmp = m_file.compare(other.m_file); + if(file_cmp != 0) + return file_cmp < 0; + return m_template_id < other.m_template_id; + } + + // all the registered tests + std::set& getRegisteredTests() { + static std::set data; + return data; + } +} // namespace detail +namespace { + using namespace detail; + // for sorting tests by file/line + bool fileOrderComparator(const TestCase* lhs, const TestCase* rhs) { + // this is needed because MSVC gives different case for drive letters + // for __FILE__ when evaluated in a header and a source file + const int res = lhs->m_file.compare(rhs->m_file, bool(DOCTEST_MSVC)); + if(res != 0) + return res < 0; + if(lhs->m_line != rhs->m_line) + return lhs->m_line < rhs->m_line; + return lhs->m_template_id < rhs->m_template_id; + } + + // for sorting tests by suite/file/line + bool suiteOrderComparator(const TestCase* lhs, const TestCase* rhs) { + const int res = std::strcmp(lhs->m_test_suite, rhs->m_test_suite); + if(res != 0) + return res < 0; + return fileOrderComparator(lhs, rhs); + } + + // for sorting tests by name/suite/file/line + bool nameOrderComparator(const TestCase* lhs, const TestCase* rhs) { + const int res = std::strcmp(lhs->m_name, rhs->m_name); + if(res != 0) + return res < 0; + return suiteOrderComparator(lhs, rhs); + } + + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + void color_to_stream(std::ostream& s, Color::Enum code) { + static_cast(s); // for DOCTEST_CONFIG_COLORS_NONE or DOCTEST_CONFIG_COLORS_WINDOWS + static_cast(code); // for DOCTEST_CONFIG_COLORS_NONE +#ifdef DOCTEST_CONFIG_COLORS_ANSI + if(g_no_colors || + (isatty(STDOUT_FILENO) == false && getContextOptions()->force_colors == false)) + return; + + auto col = ""; + // clang-format off + switch(code) { //!OCLINT missing break in switch statement / unnecessary default statement in covered switch statement + case Color::Red: col = "[0;31m"; break; + case Color::Green: col = "[0;32m"; break; + case Color::Blue: col = "[0;34m"; break; + case Color::Cyan: col = "[0;36m"; break; + case Color::Yellow: col = "[0;33m"; break; + case Color::Grey: col = "[1;30m"; break; + case Color::LightGrey: col = "[0;37m"; break; + case Color::BrightRed: col = "[1;31m"; break; + case Color::BrightGreen: col = "[1;32m"; break; + case Color::BrightWhite: col = "[1;37m"; break; + case Color::Bright: // invalid + case Color::None: + case Color::White: + default: col = "[0m"; + } + // clang-format on + s << "\033" << col; +#endif // DOCTEST_CONFIG_COLORS_ANSI + +#ifdef DOCTEST_CONFIG_COLORS_WINDOWS + if(g_no_colors || + (_isatty(_fileno(stdout)) == false && getContextOptions()->force_colors == false)) + return; + + static struct ConsoleHelper { + HANDLE stdoutHandle; + WORD origFgAttrs; + WORD origBgAttrs; + + ConsoleHelper() { + stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE); + CONSOLE_SCREEN_BUFFER_INFO csbiInfo; + GetConsoleScreenBufferInfo(stdoutHandle, &csbiInfo); + origFgAttrs = csbiInfo.wAttributes & ~(BACKGROUND_GREEN | BACKGROUND_RED | + BACKGROUND_BLUE | BACKGROUND_INTENSITY); + origBgAttrs = csbiInfo.wAttributes & ~(FOREGROUND_GREEN | FOREGROUND_RED | + FOREGROUND_BLUE | FOREGROUND_INTENSITY); + } + } ch; + +#define DOCTEST_SET_ATTR(x) SetConsoleTextAttribute(ch.stdoutHandle, x | ch.origBgAttrs) + + // clang-format off + switch (code) { + case Color::White: DOCTEST_SET_ATTR(FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); break; + case Color::Red: DOCTEST_SET_ATTR(FOREGROUND_RED); break; + case Color::Green: DOCTEST_SET_ATTR(FOREGROUND_GREEN); break; + case Color::Blue: DOCTEST_SET_ATTR(FOREGROUND_BLUE); break; + case Color::Cyan: DOCTEST_SET_ATTR(FOREGROUND_BLUE | FOREGROUND_GREEN); break; + case Color::Yellow: DOCTEST_SET_ATTR(FOREGROUND_RED | FOREGROUND_GREEN); break; + case Color::Grey: DOCTEST_SET_ATTR(0); break; + case Color::LightGrey: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY); break; + case Color::BrightRed: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_RED); break; + case Color::BrightGreen: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_GREEN); break; + case Color::BrightWhite: DOCTEST_SET_ATTR(FOREGROUND_INTENSITY | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_BLUE); break; + case Color::None: + case Color::Bright: // invalid + default: DOCTEST_SET_ATTR(ch.origFgAttrs); + } + // clang-format on +#endif // DOCTEST_CONFIG_COLORS_WINDOWS + } + DOCTEST_CLANG_SUPPRESS_WARNING_POP + + std::vector& getExceptionTranslators() { + static std::vector data; + return data; + } + + String translateActiveException() { +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + String res; + auto& translators = getExceptionTranslators(); + for(auto& curr : translators) + if(curr->translate(res)) + return res; + // clang-format off + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wcatch-value") + try { + throw; + } catch(std::exception& ex) { + return ex.what(); + } catch(std::string& msg) { + return msg.c_str(); + } catch(const char* msg) { + return msg; + } catch(...) { + return "unknown exception"; + } + DOCTEST_GCC_SUPPRESS_WARNING_POP +// clang-format on +#else // DOCTEST_CONFIG_NO_EXCEPTIONS + return ""; +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + } +} // namespace + +namespace detail { + // used by the macros for registering tests + int regTest(const TestCase& tc) { + getRegisteredTests().insert(tc); + return 0; + } + + // sets the current test suite + int setTestSuite(const TestSuite& ts) { + doctest_detail_test_suite_ns::getCurrentTestSuite() = ts; + return 0; + } + +#ifdef DOCTEST_IS_DEBUGGER_ACTIVE + bool isDebuggerActive() { return DOCTEST_IS_DEBUGGER_ACTIVE(); } +#else // DOCTEST_IS_DEBUGGER_ACTIVE +#ifdef DOCTEST_PLATFORM_LINUX + class ErrnoGuard { + public: + ErrnoGuard() : m_oldErrno(errno) {} + ~ErrnoGuard() { errno = m_oldErrno; } + private: + int m_oldErrno; + }; + // See the comments in Catch2 for the reasoning behind this implementation: + // https://github.com/catchorg/Catch2/blob/v2.13.1/include/internal/catch_debugger.cpp#L79-L102 + bool isDebuggerActive() { + ErrnoGuard guard; + std::ifstream in("/proc/self/status"); + for(std::string line; std::getline(in, line);) { + static const int PREFIX_LEN = 11; + if(line.compare(0, PREFIX_LEN, "TracerPid:\t") == 0) { + return line.length() > PREFIX_LEN && line[PREFIX_LEN] != '0'; + } + } + return false; + } +#elif defined(DOCTEST_PLATFORM_MAC) + // The following function is taken directly from the following technical note: + // https://developer.apple.com/library/archive/qa/qa1361/_index.html + // Returns true if the current process is being debugged (either + // running under the debugger or has a debugger attached post facto). + bool isDebuggerActive() { + int mib[4]; + kinfo_proc info; + size_t size; + // Initialize the flags so that, if sysctl fails for some bizarre + // reason, we get a predictable result. + info.kp_proc.p_flag = 0; + // Initialize mib, which tells sysctl the info we want, in this case + // we're looking for information about a specific process ID. + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = getpid(); + // Call sysctl. + size = sizeof(info); + if(sysctl(mib, DOCTEST_COUNTOF(mib), &info, &size, 0, 0) != 0) { + std::cerr << "\nCall to sysctl failed - unable to determine if debugger is active **\n"; + return false; + } + // We're being debugged if the P_TRACED flag is set. + return ((info.kp_proc.p_flag & P_TRACED) != 0); + } +#elif DOCTEST_MSVC || defined(__MINGW32__) || defined(__MINGW64__) + bool isDebuggerActive() { return ::IsDebuggerPresent() != 0; } +#else + bool isDebuggerActive() { return false; } +#endif // Platform +#endif // DOCTEST_IS_DEBUGGER_ACTIVE + + void registerExceptionTranslatorImpl(const IExceptionTranslator* et) { + if(std::find(getExceptionTranslators().begin(), getExceptionTranslators().end(), et) == + getExceptionTranslators().end()) + getExceptionTranslators().push_back(et); + } + + DOCTEST_THREAD_LOCAL std::vector g_infoContexts; // for logging with INFO() + + ContextScopeBase::ContextScopeBase() { + g_infoContexts.push_back(this); + } + + ContextScopeBase::ContextScopeBase(ContextScopeBase&& other) noexcept { + if (other.need_to_destroy) { + other.destroy(); + } + other.need_to_destroy = false; + g_infoContexts.push_back(this); + } + + DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4996) // std::uncaught_exception is deprecated in C++17 + DOCTEST_GCC_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Wdeprecated-declarations") + + // destroy cannot be inlined into the destructor because that would mean calling stringify after + // ContextScope has been destroyed (base class destructors run after derived class destructors). + // Instead, ContextScope calls this method directly from its destructor. + void ContextScopeBase::destroy() { +#if defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411L && (!defined(__MAC_OS_X_VERSION_MIN_REQUIRED) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) + if(std::uncaught_exceptions() > 0) { +#else + if(std::uncaught_exception()) { +#endif + std::ostringstream s; + this->stringify(&s); + g_cs->stringifiedContexts.push_back(s.str().c_str()); + } + g_infoContexts.pop_back(); + } + + DOCTEST_CLANG_SUPPRESS_WARNING_POP + DOCTEST_GCC_SUPPRESS_WARNING_POP + DOCTEST_MSVC_SUPPRESS_WARNING_POP +} // namespace detail +namespace { + using namespace detail; + +#if !defined(DOCTEST_CONFIG_POSIX_SIGNALS) && !defined(DOCTEST_CONFIG_WINDOWS_SEH) + struct FatalConditionHandler + { + static void reset() {} + static void allocateAltStackMem() {} + static void freeAltStackMem() {} + }; +#else // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH + + void reportFatal(const std::string&); + +#ifdef DOCTEST_PLATFORM_WINDOWS + + struct SignalDefs + { + DWORD id; + const char* name; + }; + // There is no 1-1 mapping between signals and windows exceptions. + // Windows can easily distinguish between SO and SigSegV, + // but SigInt, SigTerm, etc are handled differently. + SignalDefs signalDefs[] = { + {static_cast(EXCEPTION_ILLEGAL_INSTRUCTION), + "SIGILL - Illegal instruction signal"}, + {static_cast(EXCEPTION_STACK_OVERFLOW), "SIGSEGV - Stack overflow"}, + {static_cast(EXCEPTION_ACCESS_VIOLATION), + "SIGSEGV - Segmentation violation signal"}, + {static_cast(EXCEPTION_INT_DIVIDE_BY_ZERO), "Divide by zero error"}, + }; + + struct FatalConditionHandler + { + static LONG CALLBACK handleException(PEXCEPTION_POINTERS ExceptionInfo) { + // Multiple threads may enter this filter/handler at once. We want the error message to be printed on the + // console just once no matter how many threads have crashed. + DOCTEST_DECLARE_STATIC_MUTEX(mutex) + static bool execute = true; + { + DOCTEST_LOCK_MUTEX(mutex) + if(execute) { + bool reported = false; + for(size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + if(ExceptionInfo->ExceptionRecord->ExceptionCode == signalDefs[i].id) { + reportFatal(signalDefs[i].name); + reported = true; + break; + } + } + if(reported == false) + reportFatal("Unhandled SEH exception caught"); + if(isDebuggerActive() && !g_cs->no_breaks) + DOCTEST_BREAK_INTO_DEBUGGER(); + } + execute = false; + } + std::exit(EXIT_FAILURE); + } + + static void allocateAltStackMem() {} + static void freeAltStackMem() {} + + FatalConditionHandler() { + isSet = true; + // 32k seems enough for doctest to handle stack overflow, + // but the value was found experimentally, so there is no strong guarantee + guaranteeSize = 32 * 1024; + // Register an unhandled exception filter + previousTop = SetUnhandledExceptionFilter(handleException); + // Pass in guarantee size to be filled + SetThreadStackGuarantee(&guaranteeSize); + + // On Windows uncaught exceptions from another thread, exceptions from + // destructors, or calls to std::terminate are not a SEH exception + + // The terminal handler gets called when: + // - std::terminate is called FROM THE TEST RUNNER THREAD + // - an exception is thrown from a destructor FROM THE TEST RUNNER THREAD + original_terminate_handler = std::get_terminate(); + std::set_terminate([]() DOCTEST_NOEXCEPT { + reportFatal("Terminate handler called"); + if(isDebuggerActive() && !g_cs->no_breaks) + DOCTEST_BREAK_INTO_DEBUGGER(); + std::exit(EXIT_FAILURE); // explicitly exit - otherwise the SIGABRT handler may be called as well + }); + + // SIGABRT is raised when: + // - std::terminate is called FROM A DIFFERENT THREAD + // - an exception is thrown from a destructor FROM A DIFFERENT THREAD + // - an uncaught exception is thrown FROM A DIFFERENT THREAD + prev_sigabrt_handler = std::signal(SIGABRT, [](int signal) DOCTEST_NOEXCEPT { + if(signal == SIGABRT) { + reportFatal("SIGABRT - Abort (abnormal termination) signal"); + if(isDebuggerActive() && !g_cs->no_breaks) + DOCTEST_BREAK_INTO_DEBUGGER(); + std::exit(EXIT_FAILURE); + } + }); + + // The following settings are taken from google test, and more + // specifically from UnitTest::Run() inside of gtest.cc + + // the user does not want to see pop-up dialogs about crashes + prev_error_mode_1 = SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOALIGNMENTFAULTEXCEPT | + SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX); + // This forces the abort message to go to stderr in all circumstances. + prev_error_mode_2 = _set_error_mode(_OUT_TO_STDERR); + // In the debug version, Visual Studio pops up a separate dialog + // offering a choice to debug the aborted program - we want to disable that. + prev_abort_behavior = _set_abort_behavior(0x0, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); + // In debug mode, the Windows CRT can crash with an assertion over invalid + // input (e.g. passing an invalid file descriptor). The default handling + // for these assertions is to pop up a dialog and wait for user input. + // Instead ask the CRT to dump such assertions to stderr non-interactively. + prev_report_mode = _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); + prev_report_file = _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); + } + + static void reset() { + if(isSet) { + // Unregister handler and restore the old guarantee + SetUnhandledExceptionFilter(previousTop); + SetThreadStackGuarantee(&guaranteeSize); + std::set_terminate(original_terminate_handler); + std::signal(SIGABRT, prev_sigabrt_handler); + SetErrorMode(prev_error_mode_1); + _set_error_mode(prev_error_mode_2); + _set_abort_behavior(prev_abort_behavior, _WRITE_ABORT_MSG | _CALL_REPORTFAULT); + static_cast(_CrtSetReportMode(_CRT_ASSERT, prev_report_mode)); + static_cast(_CrtSetReportFile(_CRT_ASSERT, prev_report_file)); + isSet = false; + } + } + + ~FatalConditionHandler() { reset(); } + + private: + static UINT prev_error_mode_1; + static int prev_error_mode_2; + static unsigned int prev_abort_behavior; + static int prev_report_mode; + static _HFILE prev_report_file; + static void (DOCTEST_CDECL *prev_sigabrt_handler)(int); + static std::terminate_handler original_terminate_handler; + static bool isSet; + static ULONG guaranteeSize; + static LPTOP_LEVEL_EXCEPTION_FILTER previousTop; + }; + + UINT FatalConditionHandler::prev_error_mode_1; + int FatalConditionHandler::prev_error_mode_2; + unsigned int FatalConditionHandler::prev_abort_behavior; + int FatalConditionHandler::prev_report_mode; + _HFILE FatalConditionHandler::prev_report_file; + void (DOCTEST_CDECL *FatalConditionHandler::prev_sigabrt_handler)(int); + std::terminate_handler FatalConditionHandler::original_terminate_handler; + bool FatalConditionHandler::isSet = false; + ULONG FatalConditionHandler::guaranteeSize = 0; + LPTOP_LEVEL_EXCEPTION_FILTER FatalConditionHandler::previousTop = nullptr; + +#else // DOCTEST_PLATFORM_WINDOWS + + struct SignalDefs + { + int id; + const char* name; + }; + SignalDefs signalDefs[] = {{SIGINT, "SIGINT - Terminal interrupt signal"}, + {SIGILL, "SIGILL - Illegal instruction signal"}, + {SIGFPE, "SIGFPE - Floating point error signal"}, + {SIGSEGV, "SIGSEGV - Segmentation violation signal"}, + {SIGTERM, "SIGTERM - Termination request signal"}, + {SIGABRT, "SIGABRT - Abort (abnormal termination) signal"}}; + + struct FatalConditionHandler + { + static bool isSet; + static struct sigaction oldSigActions[DOCTEST_COUNTOF(signalDefs)]; + static stack_t oldSigStack; + static size_t altStackSize; + static char* altStackMem; + + static void handleSignal(int sig) { + const char* name = ""; + for(std::size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + SignalDefs& def = signalDefs[i]; + if(sig == def.id) { + name = def.name; + break; + } + } + reset(); + reportFatal(name); + raise(sig); + } + + static void allocateAltStackMem() { + altStackMem = new char[altStackSize]; + } + + static void freeAltStackMem() { + delete[] altStackMem; + } + + FatalConditionHandler() { + isSet = true; + stack_t sigStack; + sigStack.ss_sp = altStackMem; + sigStack.ss_size = altStackSize; + sigStack.ss_flags = 0; + sigaltstack(&sigStack, &oldSigStack); + struct sigaction sa = {}; + sa.sa_handler = handleSignal; + sa.sa_flags = SA_ONSTACK; + for(std::size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + sigaction(signalDefs[i].id, &sa, &oldSigActions[i]); + } + } + + ~FatalConditionHandler() { reset(); } + static void reset() { + if(isSet) { + // Set signals back to previous values -- hopefully nobody overwrote them in the meantime + for(std::size_t i = 0; i < DOCTEST_COUNTOF(signalDefs); ++i) { + sigaction(signalDefs[i].id, &oldSigActions[i], nullptr); + } + // Return the old stack + sigaltstack(&oldSigStack, nullptr); + isSet = false; + } + } + }; + + bool FatalConditionHandler::isSet = false; + struct sigaction FatalConditionHandler::oldSigActions[DOCTEST_COUNTOF(signalDefs)] = {}; + stack_t FatalConditionHandler::oldSigStack = {}; + size_t FatalConditionHandler::altStackSize = 4 * SIGSTKSZ; + char* FatalConditionHandler::altStackMem = nullptr; + +#endif // DOCTEST_PLATFORM_WINDOWS +#endif // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH + +} // namespace + +namespace { + using namespace detail; + +#ifdef DOCTEST_PLATFORM_WINDOWS +#define DOCTEST_OUTPUT_DEBUG_STRING(text) ::OutputDebugStringA(text) +#else + // TODO: integration with XCode and other IDEs +#define DOCTEST_OUTPUT_DEBUG_STRING(text) +#endif // Platform + + void addAssert(assertType::Enum at) { + if((at & assertType::is_warn) == 0) //!OCLINT bitwise operator in conditional + g_cs->numAssertsCurrentTest_atomic++; + } + + void addFailedAssert(assertType::Enum at) { + if((at & assertType::is_warn) == 0) //!OCLINT bitwise operator in conditional + g_cs->numAssertsFailedCurrentTest_atomic++; + } + +#if defined(DOCTEST_CONFIG_POSIX_SIGNALS) || defined(DOCTEST_CONFIG_WINDOWS_SEH) + void reportFatal(const std::string& message) { + g_cs->failure_flags |= TestCaseFailureReason::Crash; + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_exception, {message.c_str(), true}); + + while (g_cs->subcaseStack.size()) { + g_cs->subcaseStack.pop_back(); + DOCTEST_ITERATE_THROUGH_REPORTERS(subcase_end, DOCTEST_EMPTY); + } + + g_cs->finalizeTestCaseData(); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_end, *g_cs); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_end, *g_cs); + } +#endif // DOCTEST_CONFIG_POSIX_SIGNALS || DOCTEST_CONFIG_WINDOWS_SEH +} // namespace + +AssertData::AssertData(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const StringContains& exception_string) + : m_test_case(g_cs->currentTest), m_at(at), m_file(file), m_line(line), m_expr(expr), + m_failed(true), m_threw(false), m_threw_as(false), m_exception_type(exception_type), + m_exception_string(exception_string) { +#if DOCTEST_MSVC + if (m_expr[0] == ' ') // this happens when variadic macros are disabled under MSVC + ++m_expr; +#endif // MSVC +} + +namespace detail { + ResultBuilder::ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const String& exception_string) + : AssertData(at, file, line, expr, exception_type, exception_string) { } + + ResultBuilder::ResultBuilder(assertType::Enum at, const char* file, int line, const char* expr, + const char* exception_type, const Contains& exception_string) + : AssertData(at, file, line, expr, exception_type, exception_string) { } + + void ResultBuilder::setResult(const Result& res) { + m_decomp = res.m_decomp; + m_failed = !res.m_passed; + } + + void ResultBuilder::translateException() { + m_threw = true; + m_exception = translateActiveException(); + } + + bool ResultBuilder::log() { + if(m_at & assertType::is_throws) { //!OCLINT bitwise operator in conditional + m_failed = !m_threw; + } else if((m_at & assertType::is_throws_as) && (m_at & assertType::is_throws_with)) { //!OCLINT + m_failed = !m_threw_as || !m_exception_string.check(m_exception); + } else if(m_at & assertType::is_throws_as) { //!OCLINT bitwise operator in conditional + m_failed = !m_threw_as; + } else if(m_at & assertType::is_throws_with) { //!OCLINT bitwise operator in conditional + m_failed = !m_exception_string.check(m_exception); + } else if(m_at & assertType::is_nothrow) { //!OCLINT bitwise operator in conditional + m_failed = m_threw; + } + + if(m_exception.size()) + m_exception = "\"" + m_exception + "\""; + + if(is_running_in_test) { + addAssert(m_at); + DOCTEST_ITERATE_THROUGH_REPORTERS(log_assert, *this); + + if(m_failed) + addFailedAssert(m_at); + } else if(m_failed) { + failed_out_of_a_testing_context(*this); + } + + return m_failed && isDebuggerActive() && !getContextOptions()->no_breaks && + (g_cs->currentTest == nullptr || !g_cs->currentTest->m_no_breaks); // break into debugger + } + + void ResultBuilder::react() const { + if(m_failed && checkIfShouldThrow(m_at)) + throwException(); + } + + void failed_out_of_a_testing_context(const AssertData& ad) { + if(g_cs->ah) + g_cs->ah(ad); + else + std::abort(); + } + + bool decomp_assert(assertType::Enum at, const char* file, int line, const char* expr, + const Result& result) { + bool failed = !result.m_passed; + + // ################################################################################### + // IF THE DEBUGGER BREAKS HERE - GO 1 LEVEL UP IN THE CALLSTACK FOR THE FAILING ASSERT + // THIS IS THE EFFECT OF HAVING 'DOCTEST_CONFIG_SUPER_FAST_ASSERTS' DEFINED + // ################################################################################### + DOCTEST_ASSERT_OUT_OF_TESTS(result.m_decomp); + DOCTEST_ASSERT_IN_TESTS(result.m_decomp); + return !failed; + } + + MessageBuilder::MessageBuilder(const char* file, int line, assertType::Enum severity) { + m_stream = tlssPush(); + m_file = file; + m_line = line; + m_severity = severity; + } + + MessageBuilder::~MessageBuilder() { + if (!logged) + tlssPop(); + } + + DOCTEST_DEFINE_INTERFACE(IExceptionTranslator) + + bool MessageBuilder::log() { + if (!logged) { + m_string = tlssPop(); + logged = true; + } + + DOCTEST_ITERATE_THROUGH_REPORTERS(log_message, *this); + + const bool isWarn = m_severity & assertType::is_warn; + + // warn is just a message in this context so we don't treat it as an assert + if(!isWarn) { + addAssert(m_severity); + addFailedAssert(m_severity); + } + + return isDebuggerActive() && !getContextOptions()->no_breaks && !isWarn && + (g_cs->currentTest == nullptr || !g_cs->currentTest->m_no_breaks); // break into debugger + } + + void MessageBuilder::react() { + if(m_severity & assertType::is_require) //!OCLINT bitwise operator in conditional + throwException(); + } +} // namespace detail +namespace { + using namespace detail; + + // clang-format off + +// ================================================================================================= +// The following code has been taken verbatim from Catch2/include/internal/catch_xmlwriter.h/cpp +// This is done so cherry-picking bug fixes is trivial - even the style/formatting is untouched. +// ================================================================================================= + + class XmlEncode { + public: + enum ForWhat { ForTextNodes, ForAttributes }; + + XmlEncode( std::string const& str, ForWhat forWhat = ForTextNodes ); + + void encodeTo( std::ostream& os ) const; + + friend std::ostream& operator << ( std::ostream& os, XmlEncode const& xmlEncode ); + + private: + std::string m_str; + ForWhat m_forWhat; + }; + + class XmlWriter { + public: + + class ScopedElement { + public: + ScopedElement( XmlWriter* writer ); + + ScopedElement( ScopedElement&& other ) DOCTEST_NOEXCEPT; + ScopedElement& operator=( ScopedElement&& other ) DOCTEST_NOEXCEPT; + + ~ScopedElement(); + + ScopedElement& writeText( std::string const& text, bool indent = true ); + + template + ScopedElement& writeAttribute( std::string const& name, T const& attribute ) { + m_writer->writeAttribute( name, attribute ); + return *this; + } + + private: + mutable XmlWriter* m_writer = nullptr; + }; + +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + XmlWriter( std::ostream& os = std::cout ); +#else // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + XmlWriter( std::ostream& os ); +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + ~XmlWriter(); + + XmlWriter( XmlWriter const& ) = delete; + XmlWriter& operator=( XmlWriter const& ) = delete; + + XmlWriter& startElement( std::string const& name ); + + ScopedElement scopedElement( std::string const& name ); + + XmlWriter& endElement(); + + XmlWriter& writeAttribute( std::string const& name, std::string const& attribute ); + + XmlWriter& writeAttribute( std::string const& name, const char* attribute ); + + XmlWriter& writeAttribute( std::string const& name, bool attribute ); + + template + XmlWriter& writeAttribute( std::string const& name, T const& attribute ) { + std::stringstream rss; + rss << attribute; + return writeAttribute( name, rss.str() ); + } + + XmlWriter& writeText( std::string const& text, bool indent = true ); + + //XmlWriter& writeComment( std::string const& text ); + + //void writeStylesheetRef( std::string const& url ); + + //XmlWriter& writeBlankLine(); + + void ensureTagClosed(); + + void writeDeclaration(); + + private: + + void newlineIfNecessary(); + + bool m_tagIsOpen = false; + bool m_needsNewline = false; + std::vector m_tags; + std::string m_indent; + std::ostream& m_os; + }; + +// ================================================================================================= +// The following code has been taken verbatim from Catch2/include/internal/catch_xmlwriter.h/cpp +// This is done so cherry-picking bug fixes is trivial - even the style/formatting is untouched. +// ================================================================================================= + +using uchar = unsigned char; + +namespace { + + size_t trailingBytes(unsigned char c) { + if ((c & 0xE0) == 0xC0) { + return 2; + } + if ((c & 0xF0) == 0xE0) { + return 3; + } + if ((c & 0xF8) == 0xF0) { + return 4; + } + DOCTEST_INTERNAL_ERROR("Invalid multibyte utf-8 start byte encountered"); + } + + uint32_t headerValue(unsigned char c) { + if ((c & 0xE0) == 0xC0) { + return c & 0x1F; + } + if ((c & 0xF0) == 0xE0) { + return c & 0x0F; + } + if ((c & 0xF8) == 0xF0) { + return c & 0x07; + } + DOCTEST_INTERNAL_ERROR("Invalid multibyte utf-8 start byte encountered"); + } + + void hexEscapeChar(std::ostream& os, unsigned char c) { + std::ios_base::fmtflags f(os.flags()); + os << "\\x" + << std::uppercase << std::hex << std::setfill('0') << std::setw(2) + << static_cast(c); + os.flags(f); + } + +} // anonymous namespace + + XmlEncode::XmlEncode( std::string const& str, ForWhat forWhat ) + : m_str( str ), + m_forWhat( forWhat ) + {} + + void XmlEncode::encodeTo( std::ostream& os ) const { + // Apostrophe escaping not necessary if we always use " to write attributes + // (see: https://www.w3.org/TR/xml/#syntax) + + for( std::size_t idx = 0; idx < m_str.size(); ++ idx ) { + uchar c = m_str[idx]; + switch (c) { + case '<': os << "<"; break; + case '&': os << "&"; break; + + case '>': + // See: https://www.w3.org/TR/xml/#syntax + if (idx > 2 && m_str[idx - 1] == ']' && m_str[idx - 2] == ']') + os << ">"; + else + os << c; + break; + + case '\"': + if (m_forWhat == ForAttributes) + os << """; + else + os << c; + break; + + default: + // Check for control characters and invalid utf-8 + + // Escape control characters in standard ascii + // see https://stackoverflow.com/questions/404107/why-are-control-characters-illegal-in-xml-1-0 + if (c < 0x09 || (c > 0x0D && c < 0x20) || c == 0x7F) { + hexEscapeChar(os, c); + break; + } + + // Plain ASCII: Write it to stream + if (c < 0x7F) { + os << c; + break; + } + + // UTF-8 territory + // Check if the encoding is valid and if it is not, hex escape bytes. + // Important: We do not check the exact decoded values for validity, only the encoding format + // First check that this bytes is a valid lead byte: + // This means that it is not encoded as 1111 1XXX + // Or as 10XX XXXX + if (c < 0xC0 || + c >= 0xF8) { + hexEscapeChar(os, c); + break; + } + + auto encBytes = trailingBytes(c); + // Are there enough bytes left to avoid accessing out-of-bounds memory? + if (idx + encBytes - 1 >= m_str.size()) { + hexEscapeChar(os, c); + break; + } + // The header is valid, check data + // The next encBytes bytes must together be a valid utf-8 + // This means: bitpattern 10XX XXXX and the extracted value is sane (ish) + bool valid = true; + uint32_t value = headerValue(c); + for (std::size_t n = 1; n < encBytes; ++n) { + uchar nc = m_str[idx + n]; + valid &= ((nc & 0xC0) == 0x80); + value = (value << 6) | (nc & 0x3F); + } + + if ( + // Wrong bit pattern of following bytes + (!valid) || + // Overlong encodings + (value < 0x80) || + ( value < 0x800 && encBytes > 2) || // removed "0x80 <= value &&" because redundant + (0x800 < value && value < 0x10000 && encBytes > 3) || + // Encoded value out of range + (value >= 0x110000) + ) { + hexEscapeChar(os, c); + break; + } + + // If we got here, this is in fact a valid(ish) utf-8 sequence + for (std::size_t n = 0; n < encBytes; ++n) { + os << m_str[idx + n]; + } + idx += encBytes - 1; + break; + } + } + } + + std::ostream& operator << ( std::ostream& os, XmlEncode const& xmlEncode ) { + xmlEncode.encodeTo( os ); + return os; + } + + XmlWriter::ScopedElement::ScopedElement( XmlWriter* writer ) + : m_writer( writer ) + {} + + XmlWriter::ScopedElement::ScopedElement( ScopedElement&& other ) DOCTEST_NOEXCEPT + : m_writer( other.m_writer ){ + other.m_writer = nullptr; + } + XmlWriter::ScopedElement& XmlWriter::ScopedElement::operator=( ScopedElement&& other ) DOCTEST_NOEXCEPT { + if ( m_writer ) { + m_writer->endElement(); + } + m_writer = other.m_writer; + other.m_writer = nullptr; + return *this; + } + + + XmlWriter::ScopedElement::~ScopedElement() { + if( m_writer ) + m_writer->endElement(); + } + + XmlWriter::ScopedElement& XmlWriter::ScopedElement::writeText( std::string const& text, bool indent ) { + m_writer->writeText( text, indent ); + return *this; + } + + XmlWriter::XmlWriter( std::ostream& os ) : m_os( os ) + { + // writeDeclaration(); // called explicitly by the reporters that use the writer class - see issue #627 + } + + XmlWriter::~XmlWriter() { + while( !m_tags.empty() ) + endElement(); + } + + XmlWriter& XmlWriter::startElement( std::string const& name ) { + ensureTagClosed(); + newlineIfNecessary(); + m_os << m_indent << '<' << name; + m_tags.push_back( name ); + m_indent += " "; + m_tagIsOpen = true; + return *this; + } + + XmlWriter::ScopedElement XmlWriter::scopedElement( std::string const& name ) { + ScopedElement scoped( this ); + startElement( name ); + return scoped; + } + + XmlWriter& XmlWriter::endElement() { + newlineIfNecessary(); + m_indent = m_indent.substr( 0, m_indent.size()-2 ); + if( m_tagIsOpen ) { + m_os << "/>"; + m_tagIsOpen = false; + } + else { + m_os << m_indent << ""; + } + m_os << std::endl; + m_tags.pop_back(); + return *this; + } + + XmlWriter& XmlWriter::writeAttribute( std::string const& name, std::string const& attribute ) { + if( !name.empty() && !attribute.empty() ) + m_os << ' ' << name << "=\"" << XmlEncode( attribute, XmlEncode::ForAttributes ) << '"'; + return *this; + } + + XmlWriter& XmlWriter::writeAttribute( std::string const& name, const char* attribute ) { + if( !name.empty() && attribute && attribute[0] != '\0' ) + m_os << ' ' << name << "=\"" << XmlEncode( attribute, XmlEncode::ForAttributes ) << '"'; + return *this; + } + + XmlWriter& XmlWriter::writeAttribute( std::string const& name, bool attribute ) { + m_os << ' ' << name << "=\"" << ( attribute ? "true" : "false" ) << '"'; + return *this; + } + + XmlWriter& XmlWriter::writeText( std::string const& text, bool indent ) { + if( !text.empty() ){ + bool tagWasOpen = m_tagIsOpen; + ensureTagClosed(); + if( tagWasOpen && indent ) + m_os << m_indent; + m_os << XmlEncode( text ); + m_needsNewline = true; + } + return *this; + } + + //XmlWriter& XmlWriter::writeComment( std::string const& text ) { + // ensureTagClosed(); + // m_os << m_indent << ""; + // m_needsNewline = true; + // return *this; + //} + + //void XmlWriter::writeStylesheetRef( std::string const& url ) { + // m_os << "\n"; + //} + + //XmlWriter& XmlWriter::writeBlankLine() { + // ensureTagClosed(); + // m_os << '\n'; + // return *this; + //} + + void XmlWriter::ensureTagClosed() { + if( m_tagIsOpen ) { + m_os << ">" << std::endl; + m_tagIsOpen = false; + } + } + + void XmlWriter::writeDeclaration() { + m_os << "\n"; + } + + void XmlWriter::newlineIfNecessary() { + if( m_needsNewline ) { + m_os << std::endl; + m_needsNewline = false; + } + } + +// ================================================================================================= +// End of copy-pasted code from Catch +// ================================================================================================= + + // clang-format on + + struct XmlReporter : public IReporter + { + XmlWriter xml; + DOCTEST_DECLARE_MUTEX(mutex) + + // caching pointers/references to objects of these types - safe to do + const ContextOptions& opt; + const TestCaseData* tc = nullptr; + + XmlReporter(const ContextOptions& co) + : xml(*co.cout) + , opt(co) {} + + void log_contexts() { + int num_contexts = get_num_active_contexts(); + if(num_contexts) { + auto contexts = get_active_contexts(); + std::stringstream ss; + for(int i = 0; i < num_contexts; ++i) { + contexts[i]->stringify(&ss); + xml.scopedElement("Info").writeText(ss.str()); + ss.str(""); + } + } + } + + unsigned line(unsigned l) const { return opt.no_line_numbers ? 0 : l; } + + void test_case_start_impl(const TestCaseData& in) { + bool open_ts_tag = false; + if(tc != nullptr) { // we have already opened a test suite + if(std::strcmp(tc->m_test_suite, in.m_test_suite) != 0) { + xml.endElement(); + open_ts_tag = true; + } + } + else { + open_ts_tag = true; // first test case ==> first test suite + } + + if(open_ts_tag) { + xml.startElement("TestSuite"); + xml.writeAttribute("name", in.m_test_suite); + } + + tc = ∈ + xml.startElement("TestCase") + .writeAttribute("name", in.m_name) + .writeAttribute("filename", skipPathFromFilename(in.m_file.c_str())) + .writeAttribute("line", line(in.m_line)) + .writeAttribute("description", in.m_description); + + if(Approx(in.m_timeout) != 0) + xml.writeAttribute("timeout", in.m_timeout); + if(in.m_may_fail) + xml.writeAttribute("may_fail", true); + if(in.m_should_fail) + xml.writeAttribute("should_fail", true); + } + + // ========================================================================================= + // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE + // ========================================================================================= + + void report_query(const QueryData& in) override { + test_run_start(); + if(opt.list_reporters) { + for(auto& curr : getListeners()) + xml.scopedElement("Listener") + .writeAttribute("priority", curr.first.first) + .writeAttribute("name", curr.first.second); + for(auto& curr : getReporters()) + xml.scopedElement("Reporter") + .writeAttribute("priority", curr.first.first) + .writeAttribute("name", curr.first.second); + } else if(opt.count || opt.list_test_cases) { + for(unsigned i = 0; i < in.num_data; ++i) { + xml.scopedElement("TestCase").writeAttribute("name", in.data[i]->m_name) + .writeAttribute("testsuite", in.data[i]->m_test_suite) + .writeAttribute("filename", skipPathFromFilename(in.data[i]->m_file.c_str())) + .writeAttribute("line", line(in.data[i]->m_line)) + .writeAttribute("skipped", in.data[i]->m_skip); + } + xml.scopedElement("OverallResultsTestCases") + .writeAttribute("unskipped", in.run_stats->numTestCasesPassingFilters); + } else if(opt.list_test_suites) { + for(unsigned i = 0; i < in.num_data; ++i) + xml.scopedElement("TestSuite").writeAttribute("name", in.data[i]->m_test_suite); + xml.scopedElement("OverallResultsTestCases") + .writeAttribute("unskipped", in.run_stats->numTestCasesPassingFilters); + xml.scopedElement("OverallResultsTestSuites") + .writeAttribute("unskipped", in.run_stats->numTestSuitesPassingFilters); + } + xml.endElement(); + } + + void test_run_start() override { + xml.writeDeclaration(); + + // remove .exe extension - mainly to have the same output on UNIX and Windows + std::string binary_name = skipPathFromFilename(opt.binary_name.c_str()); +#ifdef DOCTEST_PLATFORM_WINDOWS + if(binary_name.rfind(".exe") != std::string::npos) + binary_name = binary_name.substr(0, binary_name.length() - 4); +#endif // DOCTEST_PLATFORM_WINDOWS + + xml.startElement("doctest").writeAttribute("binary", binary_name); + if(opt.no_version == false) + xml.writeAttribute("version", DOCTEST_VERSION_STR); + + // only the consequential ones (TODO: filters) + xml.scopedElement("Options") + .writeAttribute("order_by", opt.order_by.c_str()) + .writeAttribute("rand_seed", opt.rand_seed) + .writeAttribute("first", opt.first) + .writeAttribute("last", opt.last) + .writeAttribute("abort_after", opt.abort_after) + .writeAttribute("subcase_filter_levels", opt.subcase_filter_levels) + .writeAttribute("case_sensitive", opt.case_sensitive) + .writeAttribute("no_throw", opt.no_throw) + .writeAttribute("no_skip", opt.no_skip); + } + + void test_run_end(const TestRunStats& p) override { + if(tc) // the TestSuite tag - only if there has been at least 1 test case + xml.endElement(); + + xml.scopedElement("OverallResultsAsserts") + .writeAttribute("successes", p.numAsserts - p.numAssertsFailed) + .writeAttribute("failures", p.numAssertsFailed); + + xml.startElement("OverallResultsTestCases") + .writeAttribute("successes", + p.numTestCasesPassingFilters - p.numTestCasesFailed) + .writeAttribute("failures", p.numTestCasesFailed); + if(opt.no_skipped_summary == false) + xml.writeAttribute("skipped", p.numTestCases - p.numTestCasesPassingFilters); + xml.endElement(); + + xml.endElement(); + } + + void test_case_start(const TestCaseData& in) override { + test_case_start_impl(in); + xml.ensureTagClosed(); + } + + void test_case_reenter(const TestCaseData&) override {} + + void test_case_end(const CurrentTestCaseStats& st) override { + xml.startElement("OverallResultsAsserts") + .writeAttribute("successes", + st.numAssertsCurrentTest - st.numAssertsFailedCurrentTest) + .writeAttribute("failures", st.numAssertsFailedCurrentTest) + .writeAttribute("test_case_success", st.testCaseSuccess); + if(opt.duration) + xml.writeAttribute("duration", st.seconds); + if(tc->m_expected_failures) + xml.writeAttribute("expected_failures", tc->m_expected_failures); + xml.endElement(); + + xml.endElement(); + } + + void test_case_exception(const TestCaseException& e) override { + DOCTEST_LOCK_MUTEX(mutex) + + xml.scopedElement("Exception") + .writeAttribute("crash", e.is_crash) + .writeText(e.error_string.c_str()); + } + + void subcase_start(const SubcaseSignature& in) override { + xml.startElement("SubCase") + .writeAttribute("name", in.m_name) + .writeAttribute("filename", skipPathFromFilename(in.m_file)) + .writeAttribute("line", line(in.m_line)); + xml.ensureTagClosed(); + } + + void subcase_end() override { xml.endElement(); } + + void log_assert(const AssertData& rb) override { + if(!rb.m_failed && !opt.success) + return; + + DOCTEST_LOCK_MUTEX(mutex) + + xml.startElement("Expression") + .writeAttribute("success", !rb.m_failed) + .writeAttribute("type", assertString(rb.m_at)) + .writeAttribute("filename", skipPathFromFilename(rb.m_file)) + .writeAttribute("line", line(rb.m_line)); + + xml.scopedElement("Original").writeText(rb.m_expr); + + if(rb.m_threw) + xml.scopedElement("Exception").writeText(rb.m_exception.c_str()); + + if(rb.m_at & assertType::is_throws_as) + xml.scopedElement("ExpectedException").writeText(rb.m_exception_type); + if(rb.m_at & assertType::is_throws_with) + xml.scopedElement("ExpectedExceptionString").writeText(rb.m_exception_string.c_str()); + if((rb.m_at & assertType::is_normal) && !rb.m_threw) + xml.scopedElement("Expanded").writeText(rb.m_decomp.c_str()); + + log_contexts(); + + xml.endElement(); + } + + void log_message(const MessageData& mb) override { + DOCTEST_LOCK_MUTEX(mutex) + + xml.startElement("Message") + .writeAttribute("type", failureString(mb.m_severity)) + .writeAttribute("filename", skipPathFromFilename(mb.m_file)) + .writeAttribute("line", line(mb.m_line)); + + xml.scopedElement("Text").writeText(mb.m_string.c_str()); + + log_contexts(); + + xml.endElement(); + } + + void test_case_skipped(const TestCaseData& in) override { + if(opt.no_skipped_summary == false) { + test_case_start_impl(in); + xml.writeAttribute("skipped", "true"); + xml.endElement(); + } + } + }; + + DOCTEST_REGISTER_REPORTER("xml", 0, XmlReporter); + + void fulltext_log_assert_to_stream(std::ostream& s, const AssertData& rb) { + if((rb.m_at & (assertType::is_throws_as | assertType::is_throws_with)) == + 0) //!OCLINT bitwise operator in conditional + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << " ) " + << Color::None; + + if(rb.m_at & assertType::is_throws) { //!OCLINT bitwise operator in conditional + s << (rb.m_threw ? "threw as expected!" : "did NOT throw at all!") << "\n"; + } else if((rb.m_at & assertType::is_throws_as) && + (rb.m_at & assertType::is_throws_with)) { //!OCLINT + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << ", \"" + << rb.m_exception_string.c_str() + << "\", " << rb.m_exception_type << " ) " << Color::None; + if(rb.m_threw) { + if(!rb.m_failed) { + s << "threw as expected!\n"; + } else { + s << "threw a DIFFERENT exception! (contents: " << rb.m_exception << ")\n"; + } + } else { + s << "did NOT throw at all!\n"; + } + } else if(rb.m_at & + assertType::is_throws_as) { //!OCLINT bitwise operator in conditional + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << ", " + << rb.m_exception_type << " ) " << Color::None + << (rb.m_threw ? (rb.m_threw_as ? "threw as expected!" : + "threw a DIFFERENT exception: ") : + "did NOT throw at all!") + << Color::Cyan << rb.m_exception << "\n"; + } else if(rb.m_at & + assertType::is_throws_with) { //!OCLINT bitwise operator in conditional + s << Color::Cyan << assertString(rb.m_at) << "( " << rb.m_expr << ", \"" + << rb.m_exception_string.c_str() + << "\" ) " << Color::None + << (rb.m_threw ? (!rb.m_failed ? "threw as expected!" : + "threw a DIFFERENT exception: ") : + "did NOT throw at all!") + << Color::Cyan << rb.m_exception << "\n"; + } else if(rb.m_at & assertType::is_nothrow) { //!OCLINT bitwise operator in conditional + s << (rb.m_threw ? "THREW exception: " : "didn't throw!") << Color::Cyan + << rb.m_exception << "\n"; + } else { + s << (rb.m_threw ? "THREW exception: " : + (!rb.m_failed ? "is correct!\n" : "is NOT correct!\n")); + if(rb.m_threw) + s << rb.m_exception << "\n"; + else + s << " values: " << assertString(rb.m_at) << "( " << rb.m_decomp << " )\n"; + } + } + + // TODO: + // - log_message() + // - respond to queries + // - honor remaining options + // - more attributes in tags + struct JUnitReporter : public IReporter + { + XmlWriter xml; + DOCTEST_DECLARE_MUTEX(mutex) + Timer timer; + std::vector deepestSubcaseStackNames; + + struct JUnitTestCaseData + { + static std::string getCurrentTimestamp() { + // Beware, this is not reentrant because of backward compatibility issues + // Also, UTC only, again because of backward compatibility (%z is C++11) + time_t rawtime; + std::time(&rawtime); + auto const timeStampSize = sizeof("2017-01-16T17:06:45Z"); + + std::tm timeInfo; +#ifdef DOCTEST_PLATFORM_WINDOWS + gmtime_s(&timeInfo, &rawtime); +#else // DOCTEST_PLATFORM_WINDOWS + gmtime_r(&rawtime, &timeInfo); +#endif // DOCTEST_PLATFORM_WINDOWS + + char timeStamp[timeStampSize]; + const char* const fmt = "%Y-%m-%dT%H:%M:%SZ"; + + std::strftime(timeStamp, timeStampSize, fmt, &timeInfo); + return std::string(timeStamp); + } + + struct JUnitTestMessage + { + JUnitTestMessage(const std::string& _message, const std::string& _type, const std::string& _details) + : message(_message), type(_type), details(_details) {} + + JUnitTestMessage(const std::string& _message, const std::string& _details) + : message(_message), type(), details(_details) {} + + std::string message, type, details; + }; + + struct JUnitTestCase + { + JUnitTestCase(const std::string& _classname, const std::string& _name) + : classname(_classname), name(_name), time(0), failures() {} + + std::string classname, name; + double time; + std::vector failures, errors; + }; + + void add(const std::string& classname, const std::string& name) { + testcases.emplace_back(classname, name); + } + + void appendSubcaseNamesToLastTestcase(std::vector nameStack) { + for(auto& curr: nameStack) + if(curr.size()) + testcases.back().name += std::string("/") + curr.c_str(); + } + + void addTime(double time) { + if(time < 1e-4) + time = 0; + testcases.back().time = time; + totalSeconds += time; + } + + void addFailure(const std::string& message, const std::string& type, const std::string& details) { + testcases.back().failures.emplace_back(message, type, details); + ++totalFailures; + } + + void addError(const std::string& message, const std::string& details) { + testcases.back().errors.emplace_back(message, details); + ++totalErrors; + } + + std::vector testcases; + double totalSeconds = 0; + int totalErrors = 0, totalFailures = 0; + }; + + JUnitTestCaseData testCaseData; + + // caching pointers/references to objects of these types - safe to do + const ContextOptions& opt; + const TestCaseData* tc = nullptr; + + JUnitReporter(const ContextOptions& co) + : xml(*co.cout) + , opt(co) {} + + unsigned line(unsigned l) const { return opt.no_line_numbers ? 0 : l; } + + // ========================================================================================= + // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE + // ========================================================================================= + + void report_query(const QueryData&) override { + xml.writeDeclaration(); + } + + void test_run_start() override { + xml.writeDeclaration(); + } + + void test_run_end(const TestRunStats& p) override { + // remove .exe extension - mainly to have the same output on UNIX and Windows + std::string binary_name = skipPathFromFilename(opt.binary_name.c_str()); +#ifdef DOCTEST_PLATFORM_WINDOWS + if(binary_name.rfind(".exe") != std::string::npos) + binary_name = binary_name.substr(0, binary_name.length() - 4); +#endif // DOCTEST_PLATFORM_WINDOWS + xml.startElement("testsuites"); + xml.startElement("testsuite").writeAttribute("name", binary_name) + .writeAttribute("errors", testCaseData.totalErrors) + .writeAttribute("failures", testCaseData.totalFailures) + .writeAttribute("tests", p.numAsserts); + if(opt.no_time_in_output == false) { + xml.writeAttribute("time", testCaseData.totalSeconds); + xml.writeAttribute("timestamp", JUnitTestCaseData::getCurrentTimestamp()); + } + if(opt.no_version == false) + xml.writeAttribute("doctest_version", DOCTEST_VERSION_STR); + + for(const auto& testCase : testCaseData.testcases) { + xml.startElement("testcase") + .writeAttribute("classname", testCase.classname) + .writeAttribute("name", testCase.name); + if(opt.no_time_in_output == false) + xml.writeAttribute("time", testCase.time); + // This is not ideal, but it should be enough to mimic gtest's junit output. + xml.writeAttribute("status", "run"); + + for(const auto& failure : testCase.failures) { + xml.scopedElement("failure") + .writeAttribute("message", failure.message) + .writeAttribute("type", failure.type) + .writeText(failure.details, false); + } + + for(const auto& error : testCase.errors) { + xml.scopedElement("error") + .writeAttribute("message", error.message) + .writeText(error.details); + } + + xml.endElement(); + } + xml.endElement(); + xml.endElement(); + } + + void test_case_start(const TestCaseData& in) override { + testCaseData.add(skipPathFromFilename(in.m_file.c_str()), in.m_name); + timer.start(); + } + + void test_case_reenter(const TestCaseData& in) override { + testCaseData.addTime(timer.getElapsedSeconds()); + testCaseData.appendSubcaseNamesToLastTestcase(deepestSubcaseStackNames); + deepestSubcaseStackNames.clear(); + + timer.start(); + testCaseData.add(skipPathFromFilename(in.m_file.c_str()), in.m_name); + } + + void test_case_end(const CurrentTestCaseStats&) override { + testCaseData.addTime(timer.getElapsedSeconds()); + testCaseData.appendSubcaseNamesToLastTestcase(deepestSubcaseStackNames); + deepestSubcaseStackNames.clear(); + } + + void test_case_exception(const TestCaseException& e) override { + DOCTEST_LOCK_MUTEX(mutex) + testCaseData.addError("exception", e.error_string.c_str()); + } + + void subcase_start(const SubcaseSignature& in) override { + deepestSubcaseStackNames.push_back(in.m_name); + } + + void subcase_end() override {} + + void log_assert(const AssertData& rb) override { + if(!rb.m_failed) // report only failures & ignore the `success` option + return; + + DOCTEST_LOCK_MUTEX(mutex) + + std::ostringstream os; + os << skipPathFromFilename(rb.m_file) << (opt.gnu_file_line ? ":" : "(") + << line(rb.m_line) << (opt.gnu_file_line ? ":" : "):") << std::endl; + + fulltext_log_assert_to_stream(os, rb); + log_contexts(os); + testCaseData.addFailure(rb.m_decomp.c_str(), assertString(rb.m_at), os.str()); + } + + void log_message(const MessageData& mb) override { + if(mb.m_severity & assertType::is_warn) // report only failures + return; + + DOCTEST_LOCK_MUTEX(mutex) + + std::ostringstream os; + os << skipPathFromFilename(mb.m_file) << (opt.gnu_file_line ? ":" : "(") + << line(mb.m_line) << (opt.gnu_file_line ? ":" : "):") << std::endl; + + os << mb.m_string.c_str() << "\n"; + log_contexts(os); + + testCaseData.addFailure(mb.m_string.c_str(), + mb.m_severity & assertType::is_check ? "FAIL_CHECK" : "FAIL", os.str()); + } + + void test_case_skipped(const TestCaseData&) override {} + + void log_contexts(std::ostringstream& s) { + int num_contexts = get_num_active_contexts(); + if(num_contexts) { + auto contexts = get_active_contexts(); + + s << " logged: "; + for(int i = 0; i < num_contexts; ++i) { + s << (i == 0 ? "" : " "); + contexts[i]->stringify(&s); + s << std::endl; + } + } + } + }; + + DOCTEST_REGISTER_REPORTER("junit", 0, JUnitReporter); + + struct Whitespace + { + int nrSpaces; + explicit Whitespace(int nr) + : nrSpaces(nr) {} + }; + + std::ostream& operator<<(std::ostream& out, const Whitespace& ws) { + if(ws.nrSpaces != 0) + out << std::setw(ws.nrSpaces) << ' '; + return out; + } + + struct ConsoleReporter : public IReporter + { + std::ostream& s; + bool hasLoggedCurrentTestStart; + std::vector subcasesStack; + size_t currentSubcaseLevel; + DOCTEST_DECLARE_MUTEX(mutex) + + // caching pointers/references to objects of these types - safe to do + const ContextOptions& opt; + const TestCaseData* tc; + + ConsoleReporter(const ContextOptions& co) + : s(*co.cout) + , opt(co) {} + + ConsoleReporter(const ContextOptions& co, std::ostream& ostr) + : s(ostr) + , opt(co) {} + + // ========================================================================================= + // WHAT FOLLOWS ARE HELPERS USED BY THE OVERRIDES OF THE VIRTUAL METHODS OF THE INTERFACE + // ========================================================================================= + + void separator_to_stream() { + s << Color::Yellow + << "===============================================================================" + "\n"; + } + + const char* getSuccessOrFailString(bool success, assertType::Enum at, + const char* success_str) { + if(success) + return success_str; + return failureString(at); + } + + Color::Enum getSuccessOrFailColor(bool success, assertType::Enum at) { + return success ? Color::BrightGreen : + (at & assertType::is_warn) ? Color::Yellow : Color::Red; + } + + void successOrFailColoredStringToStream(bool success, assertType::Enum at, + const char* success_str = "SUCCESS") { + s << getSuccessOrFailColor(success, at) + << getSuccessOrFailString(success, at, success_str) << ": "; + } + + void log_contexts() { + int num_contexts = get_num_active_contexts(); + if(num_contexts) { + auto contexts = get_active_contexts(); + + s << Color::None << " logged: "; + for(int i = 0; i < num_contexts; ++i) { + s << (i == 0 ? "" : " "); + contexts[i]->stringify(&s); + s << "\n"; + } + } + + s << "\n"; + } + + // this was requested to be made virtual so users could override it + virtual void file_line_to_stream(const char* file, int line, + const char* tail = "") { + s << Color::LightGrey << skipPathFromFilename(file) << (opt.gnu_file_line ? ":" : "(") + << (opt.no_line_numbers ? 0 : line) // 0 or the real num depending on the option + << (opt.gnu_file_line ? ":" : "):") << tail; + } + + void logTestStart() { + if(hasLoggedCurrentTestStart) + return; + + separator_to_stream(); + file_line_to_stream(tc->m_file.c_str(), tc->m_line, "\n"); + if(tc->m_description) + s << Color::Yellow << "DESCRIPTION: " << Color::None << tc->m_description << "\n"; + if(tc->m_test_suite && tc->m_test_suite[0] != '\0') + s << Color::Yellow << "TEST SUITE: " << Color::None << tc->m_test_suite << "\n"; + if(strncmp(tc->m_name, " Scenario:", 11) != 0) + s << Color::Yellow << "TEST CASE: "; + s << Color::None << tc->m_name << "\n"; + + for(size_t i = 0; i < currentSubcaseLevel; ++i) { + if(subcasesStack[i].m_name[0] != '\0') + s << " " << subcasesStack[i].m_name << "\n"; + } + + if(currentSubcaseLevel != subcasesStack.size()) { + s << Color::Yellow << "\nDEEPEST SUBCASE STACK REACHED (DIFFERENT FROM THE CURRENT ONE):\n" << Color::None; + for(size_t i = 0; i < subcasesStack.size(); ++i) { + if(subcasesStack[i].m_name[0] != '\0') + s << " " << subcasesStack[i].m_name << "\n"; + } + } + + s << "\n"; + + hasLoggedCurrentTestStart = true; + } + + void printVersion() { + if(opt.no_version == false) + s << Color::Cyan << "[doctest] " << Color::None << "doctest version is \"" + << DOCTEST_VERSION_STR << "\"\n"; + } + + void printIntro() { + if(opt.no_intro == false) { + printVersion(); + s << Color::Cyan << "[doctest] " << Color::None + << "run with \"--" DOCTEST_OPTIONS_PREFIX_DISPLAY "help\" for options\n"; + } + } + + void printHelp() { + int sizePrefixDisplay = static_cast(strlen(DOCTEST_OPTIONS_PREFIX_DISPLAY)); + printVersion(); + // clang-format off + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "boolean values: \"1/on/yes/true\" or \"0/off/no/false\"\n"; + s << Color::Cyan << "[doctest] " << Color::None; + s << "filter values: \"str1,str2,str3\" (comma separated strings)\n"; + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "filters use wildcards for matching strings\n"; + s << Color::Cyan << "[doctest] " << Color::None; + s << "something passes a filter if any of the strings in a filter matches\n"; +#ifndef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "ALL FLAGS, OPTIONS AND FILTERS ALSO AVAILABLE WITH A \"" DOCTEST_CONFIG_OPTIONS_PREFIX "\" PREFIX!!!\n"; +#endif + s << Color::Cyan << "[doctest]\n" << Color::None; + s << Color::Cyan << "[doctest] " << Color::None; + s << "Query flags - the program quits after them. Available:\n\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "?, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "help, -" DOCTEST_OPTIONS_PREFIX_DISPLAY "h " + << Whitespace(sizePrefixDisplay*0) << "prints this message\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "v, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "version " + << Whitespace(sizePrefixDisplay*1) << "prints the version\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "c, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "count " + << Whitespace(sizePrefixDisplay*1) << "prints the number of matching tests\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ltc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "list-test-cases " + << Whitespace(sizePrefixDisplay*1) << "lists all matching tests by name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "lts, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "list-test-suites " + << Whitespace(sizePrefixDisplay*1) << "lists all matching test suites\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "lr, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "list-reporters " + << Whitespace(sizePrefixDisplay*1) << "lists all registered reporters\n\n"; + // ================================================================================== << 79 + s << Color::Cyan << "[doctest] " << Color::None; + s << "The available / options/filters are:\n\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "tc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-case= " + << Whitespace(sizePrefixDisplay*1) << "filters tests by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "tce, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-case-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT tests by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sf, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "source-file= " + << Whitespace(sizePrefixDisplay*1) << "filters tests by their file\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sfe, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "source-file-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT tests by their file\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ts, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-suite= " + << Whitespace(sizePrefixDisplay*1) << "filters tests by their test suite\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "tse, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "test-suite-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT tests by their test suite\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "subcase= " + << Whitespace(sizePrefixDisplay*1) << "filters subcases by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "sce, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "subcase-exclude= " + << Whitespace(sizePrefixDisplay*1) << "filters OUT subcases by their name\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "r, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "reporters= " + << Whitespace(sizePrefixDisplay*1) << "reporters to use (console is default)\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "o, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "out= " + << Whitespace(sizePrefixDisplay*1) << "output filename\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ob, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "order-by= " + << Whitespace(sizePrefixDisplay*1) << "how the tests should be ordered\n"; + s << Whitespace(sizePrefixDisplay*3) << " - [file/suite/name/rand/none]\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "rs, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "rand-seed= " + << Whitespace(sizePrefixDisplay*1) << "seed for random ordering\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "f, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "first= " + << Whitespace(sizePrefixDisplay*1) << "the first test passing the filters to\n"; + s << Whitespace(sizePrefixDisplay*3) << " execute - for range-based execution\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "l, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "last= " + << Whitespace(sizePrefixDisplay*1) << "the last test passing the filters to\n"; + s << Whitespace(sizePrefixDisplay*3) << " execute - for range-based execution\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "aa, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "abort-after= " + << Whitespace(sizePrefixDisplay*1) << "stop after failed assertions\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "scfl,--" DOCTEST_OPTIONS_PREFIX_DISPLAY "subcase-filter-levels= " + << Whitespace(sizePrefixDisplay*1) << "apply filters for the first levels\n"; + s << Color::Cyan << "\n[doctest] " << Color::None; + s << "Bool options - can be used like flags and true is assumed. Available:\n\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "s, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "success= " + << Whitespace(sizePrefixDisplay*1) << "include successful assertions in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "cs, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "case-sensitive= " + << Whitespace(sizePrefixDisplay*1) << "filters being treated as case sensitive\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "e, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "exit= " + << Whitespace(sizePrefixDisplay*1) << "exits after the tests finish\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "d, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "duration= " + << Whitespace(sizePrefixDisplay*1) << "prints the time duration of each test\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "m, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "minimal= " + << Whitespace(sizePrefixDisplay*1) << "minimal console output (only failures)\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "q, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "quiet= " + << Whitespace(sizePrefixDisplay*1) << "no console output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nt, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-throw= " + << Whitespace(sizePrefixDisplay*1) << "skips exceptions-related assert checks\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ne, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-exitcode= " + << Whitespace(sizePrefixDisplay*1) << "returns (or exits) always with success\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nr, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-run= " + << Whitespace(sizePrefixDisplay*1) << "skips all runtime doctest operations\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ni, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-intro= " + << Whitespace(sizePrefixDisplay*1) << "omit the framework intro in the output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nv, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-version= " + << Whitespace(sizePrefixDisplay*1) << "omit the framework version in the output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-colors= " + << Whitespace(sizePrefixDisplay*1) << "disables colors in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "fc, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "force-colors= " + << Whitespace(sizePrefixDisplay*1) << "use colors even when not in a tty\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nb, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-breaks= " + << Whitespace(sizePrefixDisplay*1) << "disables breakpoints in debuggers\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "ns, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-skip= " + << Whitespace(sizePrefixDisplay*1) << "don't skip test cases marked as skip\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "gfl, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "gnu-file-line= " + << Whitespace(sizePrefixDisplay*1) << ":n: vs (n): for line numbers in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "npf, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-path-filenames= " + << Whitespace(sizePrefixDisplay*1) << "only filenames and no paths in output\n"; + s << " -" DOCTEST_OPTIONS_PREFIX_DISPLAY "nln, --" DOCTEST_OPTIONS_PREFIX_DISPLAY "no-line-numbers= " + << Whitespace(sizePrefixDisplay*1) << "0 instead of real line numbers in output\n"; + // ================================================================================== << 79 + // clang-format on + + s << Color::Cyan << "\n[doctest] " << Color::None; + s << "for more information visit the project documentation\n\n"; + } + + void printRegisteredReporters() { + printVersion(); + auto printReporters = [this] (const reporterMap& reporters, const char* type) { + if(reporters.size()) { + s << Color::Cyan << "[doctest] " << Color::None << "listing all registered " << type << "\n"; + for(auto& curr : reporters) + s << "priority: " << std::setw(5) << curr.first.first + << " name: " << curr.first.second << "\n"; + } + }; + printReporters(getListeners(), "listeners"); + printReporters(getReporters(), "reporters"); + } + + // ========================================================================================= + // WHAT FOLLOWS ARE OVERRIDES OF THE VIRTUAL METHODS OF THE REPORTER INTERFACE + // ========================================================================================= + + void report_query(const QueryData& in) override { + if(opt.version) { + printVersion(); + } else if(opt.help) { + printHelp(); + } else if(opt.list_reporters) { + printRegisteredReporters(); + } else if(opt.count || opt.list_test_cases) { + if(opt.list_test_cases) { + s << Color::Cyan << "[doctest] " << Color::None + << "listing all test case names\n"; + separator_to_stream(); + } + + for(unsigned i = 0; i < in.num_data; ++i) + s << Color::None << in.data[i]->m_name << "\n"; + + separator_to_stream(); + + s << Color::Cyan << "[doctest] " << Color::None + << "unskipped test cases passing the current filters: " + << g_cs->numTestCasesPassingFilters << "\n"; + + } else if(opt.list_test_suites) { + s << Color::Cyan << "[doctest] " << Color::None << "listing all test suites\n"; + separator_to_stream(); + + for(unsigned i = 0; i < in.num_data; ++i) + s << Color::None << in.data[i]->m_test_suite << "\n"; + + separator_to_stream(); + + s << Color::Cyan << "[doctest] " << Color::None + << "unskipped test cases passing the current filters: " + << g_cs->numTestCasesPassingFilters << "\n"; + s << Color::Cyan << "[doctest] " << Color::None + << "test suites with unskipped test cases passing the current filters: " + << g_cs->numTestSuitesPassingFilters << "\n"; + } + } + + void test_run_start() override { + if(!opt.minimal) + printIntro(); + } + + void test_run_end(const TestRunStats& p) override { + if(opt.minimal && p.numTestCasesFailed == 0) + return; + + separator_to_stream(); + s << std::dec; + + auto totwidth = int(std::ceil(log10(static_cast(std::max(p.numTestCasesPassingFilters, static_cast(p.numAsserts))) + 1))); + auto passwidth = int(std::ceil(log10(static_cast(std::max(p.numTestCasesPassingFilters - p.numTestCasesFailed, static_cast(p.numAsserts - p.numAssertsFailed))) + 1))); + auto failwidth = int(std::ceil(log10(static_cast(std::max(p.numTestCasesFailed, static_cast(p.numAssertsFailed))) + 1))); + const bool anythingFailed = p.numTestCasesFailed > 0 || p.numAssertsFailed > 0; + s << Color::Cyan << "[doctest] " << Color::None << "test cases: " << std::setw(totwidth) + << p.numTestCasesPassingFilters << " | " + << ((p.numTestCasesPassingFilters == 0 || anythingFailed) ? Color::None : + Color::Green) + << std::setw(passwidth) << p.numTestCasesPassingFilters - p.numTestCasesFailed << " passed" + << Color::None << " | " << (p.numTestCasesFailed > 0 ? Color::Red : Color::None) + << std::setw(failwidth) << p.numTestCasesFailed << " failed" << Color::None << " |"; + if(opt.no_skipped_summary == false) { + const int numSkipped = p.numTestCases - p.numTestCasesPassingFilters; + s << " " << (numSkipped == 0 ? Color::None : Color::Yellow) << numSkipped + << " skipped" << Color::None; + } + s << "\n"; + s << Color::Cyan << "[doctest] " << Color::None << "assertions: " << std::setw(totwidth) + << p.numAsserts << " | " + << ((p.numAsserts == 0 || anythingFailed) ? Color::None : Color::Green) + << std::setw(passwidth) << (p.numAsserts - p.numAssertsFailed) << " passed" << Color::None + << " | " << (p.numAssertsFailed > 0 ? Color::Red : Color::None) << std::setw(failwidth) + << p.numAssertsFailed << " failed" << Color::None << " |\n"; + s << Color::Cyan << "[doctest] " << Color::None + << "Status: " << (p.numTestCasesFailed > 0 ? Color::Red : Color::Green) + << ((p.numTestCasesFailed > 0) ? "FAILURE!" : "SUCCESS!") << Color::None << std::endl; + } + + void test_case_start(const TestCaseData& in) override { + hasLoggedCurrentTestStart = false; + tc = ∈ + subcasesStack.clear(); + currentSubcaseLevel = 0; + } + + void test_case_reenter(const TestCaseData&) override { + subcasesStack.clear(); + } + + void test_case_end(const CurrentTestCaseStats& st) override { + if(tc->m_no_output) + return; + + // log the preamble of the test case only if there is something + // else to print - something other than that an assert has failed + if(opt.duration || + (st.failure_flags && st.failure_flags != static_cast(TestCaseFailureReason::AssertFailure))) + logTestStart(); + + if(opt.duration) + s << Color::None << std::setprecision(6) << std::fixed << st.seconds + << " s: " << tc->m_name << "\n"; + + if(st.failure_flags & TestCaseFailureReason::Timeout) + s << Color::Red << "Test case exceeded time limit of " << std::setprecision(6) + << std::fixed << tc->m_timeout << "!\n"; + + if(st.failure_flags & TestCaseFailureReason::ShouldHaveFailedButDidnt) { + s << Color::Red << "Should have failed but didn't! Marking it as failed!\n"; + } else if(st.failure_flags & TestCaseFailureReason::ShouldHaveFailedAndDid) { + s << Color::Yellow << "Failed as expected so marking it as not failed\n"; + } else if(st.failure_flags & TestCaseFailureReason::CouldHaveFailedAndDid) { + s << Color::Yellow << "Allowed to fail so marking it as not failed\n"; + } else if(st.failure_flags & TestCaseFailureReason::DidntFailExactlyNumTimes) { + s << Color::Red << "Didn't fail exactly " << tc->m_expected_failures + << " times so marking it as failed!\n"; + } else if(st.failure_flags & TestCaseFailureReason::FailedExactlyNumTimes) { + s << Color::Yellow << "Failed exactly " << tc->m_expected_failures + << " times as expected so marking it as not failed!\n"; + } + if(st.failure_flags & TestCaseFailureReason::TooManyFailedAsserts) { + s << Color::Red << "Aborting - too many failed asserts!\n"; + } + s << Color::None; // lgtm [cpp/useless-expression] + } + + void test_case_exception(const TestCaseException& e) override { + DOCTEST_LOCK_MUTEX(mutex) + if(tc->m_no_output) + return; + + logTestStart(); + + file_line_to_stream(tc->m_file.c_str(), tc->m_line, " "); + successOrFailColoredStringToStream(false, e.is_crash ? assertType::is_require : + assertType::is_check); + s << Color::Red << (e.is_crash ? "test case CRASHED: " : "test case THREW exception: ") + << Color::Cyan << e.error_string << "\n"; + + int num_stringified_contexts = get_num_stringified_contexts(); + if(num_stringified_contexts) { + auto stringified_contexts = get_stringified_contexts(); + s << Color::None << " logged: "; + for(int i = num_stringified_contexts; i > 0; --i) { + s << (i == num_stringified_contexts ? "" : " ") + << stringified_contexts[i - 1] << "\n"; + } + } + s << "\n" << Color::None; + } + + void subcase_start(const SubcaseSignature& subc) override { + subcasesStack.push_back(subc); + ++currentSubcaseLevel; + hasLoggedCurrentTestStart = false; + } + + void subcase_end() override { + --currentSubcaseLevel; + hasLoggedCurrentTestStart = false; + } + + void log_assert(const AssertData& rb) override { + if((!rb.m_failed && !opt.success) || tc->m_no_output) + return; + + DOCTEST_LOCK_MUTEX(mutex) + + logTestStart(); + + file_line_to_stream(rb.m_file, rb.m_line, " "); + successOrFailColoredStringToStream(!rb.m_failed, rb.m_at); + + fulltext_log_assert_to_stream(s, rb); + + log_contexts(); + } + + void log_message(const MessageData& mb) override { + if(tc->m_no_output) + return; + + DOCTEST_LOCK_MUTEX(mutex) + + logTestStart(); + + file_line_to_stream(mb.m_file, mb.m_line, " "); + s << getSuccessOrFailColor(false, mb.m_severity) + << getSuccessOrFailString(mb.m_severity & assertType::is_warn, mb.m_severity, + "MESSAGE") << ": "; + s << Color::None << mb.m_string << "\n"; + log_contexts(); + } + + void test_case_skipped(const TestCaseData&) override {} + }; + + DOCTEST_REGISTER_REPORTER("console", 0, ConsoleReporter); + +#ifdef DOCTEST_PLATFORM_WINDOWS + struct DebugOutputWindowReporter : public ConsoleReporter + { + DOCTEST_THREAD_LOCAL static std::ostringstream oss; + + DebugOutputWindowReporter(const ContextOptions& co) + : ConsoleReporter(co, oss) {} + +#define DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(func, type, arg) \ + void func(type arg) override { \ + bool with_col = g_no_colors; \ + g_no_colors = false; \ + ConsoleReporter::func(arg); \ + if(oss.tellp() != std::streampos{}) { \ + DOCTEST_OUTPUT_DEBUG_STRING(oss.str().c_str()); \ + oss.str(""); \ + } \ + g_no_colors = with_col; \ + } + + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_run_start, DOCTEST_EMPTY, DOCTEST_EMPTY) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_run_end, const TestRunStats&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_start, const TestCaseData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_reenter, const TestCaseData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_end, const CurrentTestCaseStats&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_exception, const TestCaseException&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(subcase_start, const SubcaseSignature&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(subcase_end, DOCTEST_EMPTY, DOCTEST_EMPTY) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(log_assert, const AssertData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(log_message, const MessageData&, in) + DOCTEST_DEBUG_OUTPUT_REPORTER_OVERRIDE(test_case_skipped, const TestCaseData&, in) + }; + + DOCTEST_THREAD_LOCAL std::ostringstream DebugOutputWindowReporter::oss; +#endif // DOCTEST_PLATFORM_WINDOWS + + // the implementation of parseOption() + bool parseOptionImpl(int argc, const char* const* argv, const char* pattern, String* value) { + // going from the end to the beginning and stopping on the first occurrence from the end + for(int i = argc; i > 0; --i) { + auto index = i - 1; + auto temp = std::strstr(argv[index], pattern); + if(temp && (value || strlen(temp) == strlen(pattern))) { //!OCLINT prefer early exits and continue + // eliminate matches in which the chars before the option are not '-' + bool noBadCharsFound = true; + auto curr = argv[index]; + while(curr != temp) { + if(*curr++ != '-') { + noBadCharsFound = false; + break; + } + } + if(noBadCharsFound && argv[index][0] == '-') { + if(value) { + // parsing the value of an option + temp += strlen(pattern); + const unsigned len = strlen(temp); + if(len) { + *value = temp; + return true; + } + } else { + // just a flag - no value + return true; + } + } + } + } + return false; + } + + // parses an option and returns the string after the '=' character + bool parseOption(int argc, const char* const* argv, const char* pattern, String* value = nullptr, + const String& defaultVal = String()) { + if(value) + *value = defaultVal; +#ifndef DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS + // offset (normally 3 for "dt-") to skip prefix + if(parseOptionImpl(argc, argv, pattern + strlen(DOCTEST_CONFIG_OPTIONS_PREFIX), value)) + return true; +#endif // DOCTEST_CONFIG_NO_UNPREFIXED_OPTIONS + return parseOptionImpl(argc, argv, pattern, value); + } + + // locates a flag on the command line + bool parseFlag(int argc, const char* const* argv, const char* pattern) { + return parseOption(argc, argv, pattern); + } + + // parses a comma separated list of words after a pattern in one of the arguments in argv + bool parseCommaSepArgs(int argc, const char* const* argv, const char* pattern, + std::vector& res) { + String filtersString; + if(parseOption(argc, argv, pattern, &filtersString)) { + // tokenize with "," as a separator, unless escaped with backslash + std::ostringstream s; + auto flush = [&s, &res]() { + auto string = s.str(); + if(string.size() > 0) { + res.push_back(string.c_str()); + } + s.str(""); + }; + + bool seenBackslash = false; + const char* current = filtersString.c_str(); + const char* end = current + strlen(current); + while(current != end) { + char character = *current++; + if(seenBackslash) { + seenBackslash = false; + if(character == ',' || character == '\\') { + s.put(character); + continue; + } + s.put('\\'); + } + if(character == '\\') { + seenBackslash = true; + } else if(character == ',') { + flush(); + } else { + s.put(character); + } + } + + if(seenBackslash) { + s.put('\\'); + } + flush(); + return true; + } + return false; + } + + enum optionType + { + option_bool, + option_int + }; + + // parses an int/bool option from the command line + bool parseIntOption(int argc, const char* const* argv, const char* pattern, optionType type, + int& res) { + String parsedValue; + if(!parseOption(argc, argv, pattern, &parsedValue)) + return false; + + if(type) { + // integer + // TODO: change this to use std::stoi or something else! currently it uses undefined behavior - assumes '0' on failed parse... + int theInt = std::atoi(parsedValue.c_str()); + if (theInt != 0) { + res = theInt; //!OCLINT parameter reassignment + return true; + } + } else { + // boolean + const char positive[][5] = { "1", "true", "on", "yes" }; // 5 - strlen("true") + 1 + const char negative[][6] = { "0", "false", "off", "no" }; // 6 - strlen("false") + 1 + + // if the value matches any of the positive/negative possibilities + for (unsigned i = 0; i < 4; i++) { + if (parsedValue.compare(positive[i], true) == 0) { + res = 1; //!OCLINT parameter reassignment + return true; + } + if (parsedValue.compare(negative[i], true) == 0) { + res = 0; //!OCLINT parameter reassignment + return true; + } + } + } + return false; + } +} // namespace + +Context::Context(int argc, const char* const* argv) + : p(new detail::ContextState) { + parseArgs(argc, argv, true); + if(argc) + p->binary_name = argv[0]; +} + +Context::~Context() { + if(g_cs == p) + g_cs = nullptr; + delete p; +} + +void Context::applyCommandLine(int argc, const char* const* argv) { + parseArgs(argc, argv); + if(argc) + p->binary_name = argv[0]; +} + +// parses args +void Context::parseArgs(int argc, const char* const* argv, bool withDefaults) { + using namespace detail; + + // clang-format off + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "source-file=", p->filters[0]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sf=", p->filters[0]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "source-file-exclude=",p->filters[1]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sfe=", p->filters[1]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-suite=", p->filters[2]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "ts=", p->filters[2]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-suite-exclude=", p->filters[3]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tse=", p->filters[3]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-case=", p->filters[4]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tc=", p->filters[4]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "test-case-exclude=", p->filters[5]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "tce=", p->filters[5]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "subcase=", p->filters[6]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sc=", p->filters[6]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "subcase-exclude=", p->filters[7]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "sce=", p->filters[7]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "reporters=", p->filters[8]); + parseCommaSepArgs(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "r=", p->filters[8]); + // clang-format on + + int intRes = 0; + String strRes; + +#define DOCTEST_PARSE_AS_BOOL_OR_FLAG(name, sname, var, default) \ + if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", option_bool, intRes) || \ + parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", option_bool, intRes)) \ + p->var = static_cast(intRes); \ + else if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name) || \ + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname)) \ + p->var = true; \ + else if(withDefaults) \ + p->var = default + +#define DOCTEST_PARSE_INT_OPTION(name, sname, var, default) \ + if(parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", option_int, intRes) || \ + parseIntOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", option_int, intRes)) \ + p->var = intRes; \ + else if(withDefaults) \ + p->var = default + +#define DOCTEST_PARSE_STR_OPTION(name, sname, var, default) \ + if(parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX name "=", &strRes, default) || \ + parseOption(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX sname "=", &strRes, default) || \ + withDefaults) \ + p->var = strRes + + // clang-format off + DOCTEST_PARSE_STR_OPTION("out", "o", out, ""); + DOCTEST_PARSE_STR_OPTION("order-by", "ob", order_by, "file"); + DOCTEST_PARSE_INT_OPTION("rand-seed", "rs", rand_seed, 0); + + DOCTEST_PARSE_INT_OPTION("first", "f", first, 0); + DOCTEST_PARSE_INT_OPTION("last", "l", last, UINT_MAX); + + DOCTEST_PARSE_INT_OPTION("abort-after", "aa", abort_after, 0); + DOCTEST_PARSE_INT_OPTION("subcase-filter-levels", "scfl", subcase_filter_levels, INT_MAX); + + DOCTEST_PARSE_AS_BOOL_OR_FLAG("success", "s", success, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("case-sensitive", "cs", case_sensitive, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("exit", "e", exit, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("duration", "d", duration, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("minimal", "m", minimal, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("quiet", "q", quiet, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-throw", "nt", no_throw, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-exitcode", "ne", no_exitcode, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-run", "nr", no_run, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-intro", "ni", no_intro, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-version", "nv", no_version, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-colors", "nc", no_colors, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("force-colors", "fc", force_colors, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-breaks", "nb", no_breaks, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-skip", "ns", no_skip, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("gnu-file-line", "gfl", gnu_file_line, !bool(DOCTEST_MSVC)); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-path-filenames", "npf", no_path_in_filenames, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-line-numbers", "nln", no_line_numbers, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-debug-output", "ndo", no_debug_output, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-skipped-summary", "nss", no_skipped_summary, false); + DOCTEST_PARSE_AS_BOOL_OR_FLAG("no-time-in-output", "ntio", no_time_in_output, false); + // clang-format on + + if(withDefaults) { + p->help = false; + p->version = false; + p->count = false; + p->list_test_cases = false; + p->list_test_suites = false; + p->list_reporters = false; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "help") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "h") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "?")) { + p->help = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "version") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "v")) { + p->version = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "count") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "c")) { + p->count = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "list-test-cases") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "ltc")) { + p->list_test_cases = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "list-test-suites") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "lts")) { + p->list_test_suites = true; + p->exit = true; + } + if(parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "list-reporters") || + parseFlag(argc, argv, DOCTEST_CONFIG_OPTIONS_PREFIX "lr")) { + p->list_reporters = true; + p->exit = true; + } +} + +// allows the user to add procedurally to the filters from the command line +void Context::addFilter(const char* filter, const char* value) { setOption(filter, value); } + +// allows the user to clear all filters from the command line +void Context::clearFilters() { + for(auto& curr : p->filters) + curr.clear(); +} + +// allows the user to override procedurally the bool options from the command line +void Context::setOption(const char* option, bool value) { + setOption(option, value ? "true" : "false"); +} + +// allows the user to override procedurally the int options from the command line +void Context::setOption(const char* option, int value) { + setOption(option, toString(value).c_str()); +} + +// allows the user to override procedurally the string options from the command line +void Context::setOption(const char* option, const char* value) { + auto argv = String("-") + option + "=" + value; + auto lvalue = argv.c_str(); + parseArgs(1, &lvalue); +} + +// users should query this in their main() and exit the program if true +bool Context::shouldExit() { return p->exit; } + +void Context::setAsDefaultForAssertsOutOfTestCases() { g_cs = p; } + +void Context::setAssertHandler(detail::assert_handler ah) { p->ah = ah; } + +void Context::setCout(std::ostream* out) { p->cout = out; } + +static class DiscardOStream : public std::ostream +{ +private: + class : public std::streambuf + { + private: + // allowing some buffering decreases the amount of calls to overflow + char buf[1024]; + + protected: + std::streamsize xsputn(const char_type*, std::streamsize count) override { return count; } + + int_type overflow(int_type ch) override { + setp(std::begin(buf), std::end(buf)); + return traits_type::not_eof(ch); + } + } discardBuf; + +public: + DiscardOStream() + : std::ostream(&discardBuf) {} +} discardOut; + +// the main function that does all the filtering and test running +int Context::run() { + using namespace detail; + + // save the old context state in case such was setup - for using asserts out of a testing context + auto old_cs = g_cs; + // this is the current contest + g_cs = p; + is_running_in_test = true; + + g_no_colors = p->no_colors; + p->resetRunData(); + + std::fstream fstr; + if(p->cout == nullptr) { + if(p->quiet) { + p->cout = &discardOut; + } else if(p->out.size()) { + // to a file if specified + fstr.open(p->out.c_str(), std::fstream::out); + p->cout = &fstr; + } else { +#ifndef DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + // stdout by default + p->cout = &std::cout; +#else // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + return EXIT_FAILURE; +#endif // DOCTEST_CONFIG_NO_INCLUDE_IOSTREAM + } + } + + FatalConditionHandler::allocateAltStackMem(); + + auto cleanup_and_return = [&]() { + FatalConditionHandler::freeAltStackMem(); + + if(fstr.is_open()) + fstr.close(); + + // restore context + g_cs = old_cs; + is_running_in_test = false; + + // we have to free the reporters which were allocated when the run started + for(auto& curr : p->reporters_currently_used) + delete curr; + p->reporters_currently_used.clear(); + + if(p->numTestCasesFailed && !p->no_exitcode) + return EXIT_FAILURE; + return EXIT_SUCCESS; + }; + + // setup default reporter if none is given through the command line + if(p->filters[8].empty()) + p->filters[8].push_back("console"); + + // check to see if any of the registered reporters has been selected + for(auto& curr : getReporters()) { + if(matchesAny(curr.first.second.c_str(), p->filters[8], false, p->case_sensitive)) + p->reporters_currently_used.push_back(curr.second(*g_cs)); + } + + // TODO: check if there is nothing in reporters_currently_used + + // prepend all listeners + for(auto& curr : getListeners()) + p->reporters_currently_used.insert(p->reporters_currently_used.begin(), curr.second(*g_cs)); + +#ifdef DOCTEST_PLATFORM_WINDOWS + if(isDebuggerActive() && p->no_debug_output == false) + p->reporters_currently_used.push_back(new DebugOutputWindowReporter(*g_cs)); +#endif // DOCTEST_PLATFORM_WINDOWS + + // handle version, help and no_run + if(p->no_run || p->version || p->help || p->list_reporters) { + DOCTEST_ITERATE_THROUGH_REPORTERS(report_query, QueryData()); + + return cleanup_and_return(); + } + + std::vector testArray; + for(auto& curr : getRegisteredTests()) + testArray.push_back(&curr); + p->numTestCases = testArray.size(); + + // sort the collected records + if(!testArray.empty()) { + if(p->order_by.compare("file", true) == 0) { + std::sort(testArray.begin(), testArray.end(), fileOrderComparator); + } else if(p->order_by.compare("suite", true) == 0) { + std::sort(testArray.begin(), testArray.end(), suiteOrderComparator); + } else if(p->order_by.compare("name", true) == 0) { + std::sort(testArray.begin(), testArray.end(), nameOrderComparator); + } else if(p->order_by.compare("rand", true) == 0) { + std::srand(p->rand_seed); + + // random_shuffle implementation + const auto first = &testArray[0]; + for(size_t i = testArray.size() - 1; i > 0; --i) { + int idxToSwap = std::rand() % (i + 1); + + const auto temp = first[i]; + + first[i] = first[idxToSwap]; + first[idxToSwap] = temp; + } + } else if(p->order_by.compare("none", true) == 0) { + // means no sorting - beneficial for death tests which call into the executable + // with a specific test case in mind - we don't want to slow down the startup times + } + } + + std::set testSuitesPassingFilt; + + bool query_mode = p->count || p->list_test_cases || p->list_test_suites; + std::vector queryResults; + + if(!query_mode) + DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_start, DOCTEST_EMPTY); + + // invoke the registered functions if they match the filter criteria (or just count them) + for(auto& curr : testArray) { + const auto& tc = *curr; + + bool skip_me = false; + if(tc.m_skip && !p->no_skip) + skip_me = true; + + if(!matchesAny(tc.m_file.c_str(), p->filters[0], true, p->case_sensitive)) + skip_me = true; + if(matchesAny(tc.m_file.c_str(), p->filters[1], false, p->case_sensitive)) + skip_me = true; + if(!matchesAny(tc.m_test_suite, p->filters[2], true, p->case_sensitive)) + skip_me = true; + if(matchesAny(tc.m_test_suite, p->filters[3], false, p->case_sensitive)) + skip_me = true; + if(!matchesAny(tc.m_name, p->filters[4], true, p->case_sensitive)) + skip_me = true; + if(matchesAny(tc.m_name, p->filters[5], false, p->case_sensitive)) + skip_me = true; + + if(!skip_me) + p->numTestCasesPassingFilters++; + + // skip the test if it is not in the execution range + if((p->last < p->numTestCasesPassingFilters && p->first <= p->last) || + (p->first > p->numTestCasesPassingFilters)) + skip_me = true; + + if(skip_me) { + if(!query_mode) + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_skipped, tc); + continue; + } + + // do not execute the test if we are to only count the number of filter passing tests + if(p->count) + continue; + + // print the name of the test and don't execute it + if(p->list_test_cases) { + queryResults.push_back(&tc); + continue; + } + + // print the name of the test suite if not done already and don't execute it + if(p->list_test_suites) { + if((testSuitesPassingFilt.count(tc.m_test_suite) == 0) && tc.m_test_suite[0] != '\0') { + queryResults.push_back(&tc); + testSuitesPassingFilt.insert(tc.m_test_suite); + p->numTestSuitesPassingFilters++; + } + continue; + } + + // execute the test if it passes all the filtering + { + p->currentTest = &tc; + + p->failure_flags = TestCaseFailureReason::None; + p->seconds = 0; + + // reset atomic counters + p->numAssertsFailedCurrentTest_atomic = 0; + p->numAssertsCurrentTest_atomic = 0; + + p->fullyTraversedSubcases.clear(); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_start, tc); + + p->timer.start(); + + bool run_test = true; + + do { + // reset some of the fields for subcases (except for the set of fully passed ones) + p->reachedLeaf = false; + // May not be empty if previous subcase exited via exception. + p->subcaseStack.clear(); + p->currentSubcaseDepth = 0; + + p->shouldLogCurrentException = true; + + // reset stuff for logging with INFO() + p->stringifiedContexts.clear(); + +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + try { +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS +// MSVC 2015 diagnoses fatalConditionHandler as unused (because reset() is a static method) +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4101) // unreferenced local variable + FatalConditionHandler fatalConditionHandler; // Handle signals + // execute the test + tc.m_test(); + fatalConditionHandler.reset(); +DOCTEST_MSVC_SUPPRESS_WARNING_POP +#ifndef DOCTEST_CONFIG_NO_EXCEPTIONS + } catch(const TestFailureException&) { + p->failure_flags |= TestCaseFailureReason::AssertFailure; + } catch(...) { + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_exception, + {translateActiveException(), false}); + p->failure_flags |= TestCaseFailureReason::Exception; + } +#endif // DOCTEST_CONFIG_NO_EXCEPTIONS + + // exit this loop if enough assertions have failed - even if there are more subcases + if(p->abort_after > 0 && + p->numAssertsFailed + p->numAssertsFailedCurrentTest_atomic >= p->abort_after) { + run_test = false; + p->failure_flags |= TestCaseFailureReason::TooManyFailedAsserts; + } + + if(!p->nextSubcaseStack.empty() && run_test) + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_reenter, tc); + if(p->nextSubcaseStack.empty()) + run_test = false; + } while(run_test); + + p->finalizeTestCaseData(); + + DOCTEST_ITERATE_THROUGH_REPORTERS(test_case_end, *g_cs); + + p->currentTest = nullptr; + + // stop executing tests if enough assertions have failed + if(p->abort_after > 0 && p->numAssertsFailed >= p->abort_after) + break; + } + } + + if(!query_mode) { + DOCTEST_ITERATE_THROUGH_REPORTERS(test_run_end, *g_cs); + } else { + QueryData qdata; + qdata.run_stats = g_cs; + qdata.data = queryResults.data(); + qdata.num_data = unsigned(queryResults.size()); + DOCTEST_ITERATE_THROUGH_REPORTERS(report_query, qdata); + } + + return cleanup_and_return(); +} + +DOCTEST_DEFINE_INTERFACE(IReporter) + +int IReporter::get_num_active_contexts() { return detail::g_infoContexts.size(); } +const IContextScope* const* IReporter::get_active_contexts() { + return get_num_active_contexts() ? &detail::g_infoContexts[0] : nullptr; +} + +int IReporter::get_num_stringified_contexts() { return detail::g_cs->stringifiedContexts.size(); } +const String* IReporter::get_stringified_contexts() { + return get_num_stringified_contexts() ? &detail::g_cs->stringifiedContexts[0] : nullptr; +} + +namespace detail { + void registerReporterImpl(const char* name, int priority, reporterCreatorFunc c, bool isReporter) { + if(isReporter) + getReporters().insert(reporterMap::value_type(reporterMap::key_type(priority, name), c)); + else + getListeners().insert(reporterMap::value_type(reporterMap::key_type(priority, name), c)); + } +} // namespace detail + +} // namespace doctest + +#endif // DOCTEST_CONFIG_DISABLE + +#ifdef DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +DOCTEST_MSVC_SUPPRESS_WARNING_WITH_PUSH(4007) // 'function' : must be 'attribute' - see issue #182 +int main(int argc, char** argv) { return doctest::Context(argc, argv).run(); } +DOCTEST_MSVC_SUPPRESS_WARNING_POP +#endif // DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN + +DOCTEST_CLANG_SUPPRESS_WARNING_POP +DOCTEST_MSVC_SUPPRESS_WARNING_POP +DOCTEST_GCC_SUPPRESS_WARNING_POP + +DOCTEST_SUPPRESS_COMMON_WARNINGS_POP + +#endif // DOCTEST_LIBRARY_IMPLEMENTATION +#endif // DOCTEST_CONFIG_IMPLEMENT + +#ifdef DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN +#undef WIN32_LEAN_AND_MEAN +#undef DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN +#endif // DOCTEST_UNDEF_WIN32_LEAN_AND_MEAN + +#ifdef DOCTEST_UNDEF_NOMINMAX +#undef NOMINMAX +#undef DOCTEST_UNDEF_NOMINMAX +#endif // DOCTEST_UNDEF_NOMINMAX diff --git a/unit_tests/test_cubic_spline.cpp b/unit_tests/test_cubic_spline.cpp index 412d308..f031773 100644 --- a/unit_tests/test_cubic_spline.cpp +++ b/unit_tests/test_cubic_spline.cpp @@ -25,14 +25,8 @@ #include #include - -#define BOOST_TEST_MODULE testCubicSpline -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include - +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include "SpecUtils/CubicSpline.h" #include "SpecUtils/EnergyCalibration.h" @@ -41,7 +35,7 @@ using namespace std; using namespace SpecUtils; -BOOST_AUTO_TEST_CASE(cubicSplineSimple) { +TEST_CASE( "Cubic Spline Simple" ) { std::vector> data{ {0.1f,0.1f}, @@ -58,14 +52,14 @@ BOOST_AUTO_TEST_CASE(cubicSplineSimple) { const float x = 1.5f; const float val = eval_cubic_spline(x,nodes); - BOOST_CHECK_MESSAGE( fabs( 0.915345 - val ) < 0.00001, \ + CHECK_MESSAGE( fabs( 0.915345 - val ) < 0.00001, \ "Sanity check failed: " \ << val << " vs expected " << 0.915345 ); } /** Test apply_deviation_pair(...) gives same answer as eval_cubic_spline(...) */ -BOOST_AUTO_TEST_CASE(devPairApply) { +TEST_CASE( "Apply Deviation Pair" ) { const vector> devpairs = { {60.0f,-23.0f }, {81.0f,-20.6f}, {239.0f,-32.0f }, {356.0f,-37.0f }, {661.0f,-37.0f }, {898.0f,-23.5f}, {1332.0f,-12.0f }, {1460.0f,0.0f }, {1836.0f,35.0f }, {2223.0f,70.0f }, {2614.0f,201.0f }, {3000.0f,320.0f } @@ -78,11 +72,11 @@ BOOST_AUTO_TEST_CASE(devPairApply) { auto newbinning = SpecUtils::apply_deviation_pair( binning, devpairs ); - BOOST_REQUIRE_MESSAGE( !!newbinning, "Failed to get binning with deviation pairs" ); - BOOST_REQUIRE_MESSAGE( newbinning->size() == binning.size(), "Binning with deviation pairs returned different number of bins" ); + REQUIRE_MESSAGE( !!newbinning, "Failed to get binning with deviation pairs" ); + REQUIRE_MESSAGE( newbinning->size() == binning.size(), "Binning with deviation pairs returned different number of bins" ); //std::vector nodes; - //BOOST_CHECK_NO_THROW( nodes = create_cubic_spline_for_dev_pairs( devpairs ) ); + //CHECK_NO_THROW( nodes = create_cubic_spline_for_dev_pairs( devpairs ) ); for( size_t i = 0; i < binning.size(); ++i ){ //const float from_eval = binning[i] + eval_cubic_spline( binning[i], nodes ); @@ -90,15 +84,15 @@ BOOST_AUTO_TEST_CASE(devPairApply) { const double maxanswer = std::max( fabs((*newbinning)[i]), static_cast(fabs(from_eval)) ); const double diff = fabs( (*newbinning)[i] - from_eval ); - BOOST_CHECK_MESSAGE( diff < (maxanswer * 1.0E-6), \ + CHECK_MESSAGE( diff < (maxanswer * 1.0E-6), \ "apply_deviation_pair returned different answer than eval_cubic_spline: " \ << from_eval << " vs " << (*newbinning)[i] << " with diff " \ << fabs( (*newbinning)[i] - from_eval) ); } -}//BOOST_AUTO_TEST_CASE(devPairApply) +}//TEST_CASE(devPairApply) -BOOST_AUTO_TEST_CASE(cubicSplineNonZeroAnchored) { +TEST_CASE( "Cubic Spline Non-Zero Anchored" ) { //Tests deviation pairs that arent anchored at 0 keV. In this example K40 is used as the anchor. const vector no_dev_pairs_peak_means{ 87.47f, 88.97f, 331.64f, 344.53f, 352.78f, @@ -121,12 +115,12 @@ BOOST_AUTO_TEST_CASE(cubicSplineNonZeroAnchored) { {2614.0f,201.0f }, {3000.0f,320.0f } }; - assert( gamma_energies.size() == no_dev_pairs_peak_means.size() ); + REQUIRE_EQ( gamma_energies.size(), no_dev_pairs_peak_means.size() ); const size_t ngammas = gamma_energies.size(); std::vector nodes; - BOOST_CHECK_NO_THROW( nodes = create_cubic_spline_for_dev_pairs( devpairs ) ); + CHECK_NOTHROW( nodes = create_cubic_spline_for_dev_pairs( devpairs ) ); //const std::vector inv_nodes = create_inverse_dev_pairs_cubic_spline( devpairs ); for( size_t i = 0; i < ngammas; ++i ) @@ -135,20 +129,20 @@ BOOST_AUTO_TEST_CASE(cubicSplineNonZeroAnchored) { //const float corr_to_normal = corrected - eval_cubic_spline( corrected, inv_nodes ); const double back_corrected = corrected - correction_due_to_dev_pairs( corrected, devpairs ); - BOOST_CHECK_MESSAGE( fabs(gamma_energies[i] - corrected) < 0.06, \ + CHECK_MESSAGE( fabs(gamma_energies[i] - corrected) < 0.06, \ "Deviation pair CubicSpline interpolation failed: " \ << corrected << " vs expected " << gamma_energies[i] ); - BOOST_CHECK_MESSAGE( fabs(back_corrected - no_dev_pairs_peak_means[i]) < 0.001, \ + CHECK_MESSAGE( fabs(back_corrected - no_dev_pairs_peak_means[i]) < 0.001, \ "Failed to go from true to polynomial energy: " \ << back_corrected << " vs expected " << no_dev_pairs_peak_means[i] ); } -}//BOOST_AUTO_TEST_CASE(cubicSplineNonZeroAnchored) +}//TEST_CASE(cubicSplineNonZeroAnchored) -BOOST_AUTO_TEST_CASE(cubicSplineFromGadras) { +TEST_CASE( "Cubic-Spline From Gadras" ) { const vector gamma_energies{ 74.82f, 77.11f, 129.06f, 153.98f, 209.25f, 238.63f, 240.99f, 270.25f, 300.09f, 328.00f, 338.32f, 340.96f, 409.46f, 463.00f, 562.50f, 583.19f, 727.33f, 772.29f, 794.95f, 830.49f, 835.71f, 840.38f, 860.56f, @@ -168,12 +162,12 @@ BOOST_AUTO_TEST_CASE(cubicSplineFromGadras) { {2614.0f,0.00f}, {3000.0f,0.00f} //The 3 MeV was in GADRAS }; - assert( gamma_energies.size() == no_dev_pairs_peak_means.size() ); + REQUIRE_EQ( gamma_energies.size(), no_dev_pairs_peak_means.size() ); const size_t ngammas = gamma_energies.size(); std::vector nodes; - BOOST_CHECK_NO_THROW( nodes = create_cubic_spline_for_dev_pairs( devpairs ) ); + CHECK_NOTHROW( nodes = create_cubic_spline_for_dev_pairs( devpairs ) ); //const std::vector inv_nodes = create_inverse_dev_pairs_cubic_spline( devpairs ); for( size_t i = 0; i < ngammas; ++i ) @@ -182,11 +176,11 @@ BOOST_AUTO_TEST_CASE(cubicSplineFromGadras) { //const float corr_to_normal = corrected - eval_cubic_spline( corrected, inv_nodes ); const double back_corrected = corrected - correction_due_to_dev_pairs( corrected, devpairs ); - BOOST_CHECK_MESSAGE( fabs(gamma_energies[i] - corrected) < 0.5, \ + CHECK_MESSAGE( fabs(gamma_energies[i] - corrected) < 0.5, \ "Deviation pair CubicSpline interpolation failed: " \ << corrected << " vs expected " << gamma_energies[i] ); - BOOST_CHECK_MESSAGE( fabs(back_corrected - no_dev_pairs_peak_means[i]) < 0.1, \ + CHECK_MESSAGE( fabs(back_corrected - no_dev_pairs_peak_means[i]) < 0.1, \ "Failed to go from true to polynomial energy: " \ << back_corrected << " vs expected " << no_dev_pairs_peak_means[i] ); } diff --git a/unit_tests/test_energy_calibration.cpp b/unit_tests/test_energy_calibration.cpp index b959363..26eb15a 100644 --- a/unit_tests/test_energy_calibration.cpp +++ b/unit_tests/test_energy_calibration.cpp @@ -28,14 +28,8 @@ #include #include -#include - -//#define BOOST_TEST_DYN_LINK -#define BOOST_TEST_MODULE testCalibration -#include - -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include "SpecUtils/SpecFile.h" #include "SpecUtils/EnergyCalibration.h" @@ -47,8 +41,6 @@ using namespace std; using namespace SpecUtils; -using namespace boost::unit_test; - string print_vec( const vector &info ) { @@ -82,7 +74,7 @@ bool is_similar( const vector &lhs, const vector &rhs ) }//bool is_similar( const vector &lhs, const vector &rhs ) -BOOST_AUTO_TEST_CASE( testCalibration ) +TEST_CASE( "testCalibration" ) { using namespace SpecUtils; @@ -95,17 +87,17 @@ BOOST_AUTO_TEST_CASE( testCalibration ) vector poly_coefs = fullrangefraction_coef_to_polynomial( frf_coefs, nbin ); vector new_frf_coefs = polynomial_coef_to_fullrangefraction( poly_coefs, nbin ); - BOOST_CHECK_MESSAGE( is_similar( frf_coefs, new_frf_coefs ), \ + CHECK_MESSAGE( is_similar( frf_coefs, new_frf_coefs ), \ "Full Width Fraction coefficnets didnt make round trip: " \ << print_vec(frf_coefs) << "--->" << print_vec(new_frf_coefs) ); vector> dev_pairs; auto frf_binning = fullrangefraction_binning( frf_coefs, nbin, dev_pairs ); - BOOST_REQUIRE_MESSAGE( !!frf_binning, \ + REQUIRE_MESSAGE( !!frf_binning, \ "Failed to make Full Width Fraction Binning for " \ << print_vec(frf_coefs) ); - BOOST_REQUIRE_MESSAGE( frf_binning->size() == nbin, \ + REQUIRE_MESSAGE( frf_binning->size() == nbin, \ "Full range fraction returned " << frf_binning->size() \ << " intead of the expected " << nbin ); @@ -115,7 +107,7 @@ BOOST_AUTO_TEST_CASE( testCalibration ) const float lowerbinenergy = fullrangefraction_energy( bin, frf_coefs, nbin, dev_pairs ); const float expected = frf_binning->at(i); const float larger = std::max(fabs(lowerbinenergy),fabs(expected)); - BOOST_REQUIRE_MESSAGE( fabs(lowerbinenergy-expected) <= 1.0E-5*larger, \ + REQUIRE_MESSAGE( fabs(lowerbinenergy-expected) <= 1.0E-5*larger, \ "fullrangefraction_energy disagreed with fullrangefraction_binning" \ " (starting) at bin " << i \ << " got " << lowerbinenergy << " and " << expected \ @@ -124,11 +116,11 @@ BOOST_AUTO_TEST_CASE( testCalibration ) auto poly_binning = polynomial_binning( poly_coefs, nbin, dev_pairs ); - BOOST_REQUIRE_MESSAGE( !!poly_binning, \ + REQUIRE_MESSAGE( !!poly_binning, \ "Failed to make Polynomial Binning for " \ << print_vec(poly_coefs) ); - BOOST_REQUIRE_MESSAGE( poly_binning->size() == nbin, \ + REQUIRE_MESSAGE( poly_binning->size() == nbin, \ "Polynomial binning returned " << poly_binning->size() \ << " intead of the expected " << nbin ); @@ -140,14 +132,14 @@ BOOST_AUTO_TEST_CASE( testCalibration ) const float poly = poly_binning->at(i); const float larger = std::max(fabs(fwf),fabs(poly)); - BOOST_REQUIRE_MESSAGE( fabs(fwf-poly) <= 1.0E-5*larger, "" \ + REQUIRE_MESSAGE( fabs(fwf-poly) <= 1.0E-5*larger, "" \ "Lower channel energies for FWF and Polynomial coefficnets arent equal" \ " (starting) at bin " << i \ << " got " << fwf << " and " << poly \ << "respectively for coefs=" << print_vec(frf_coefs) \ << " giving values: " << fwf << " and " << poly << " respectively" ); - BOOST_REQUIRE_MESSAGE( fabs(poly_eqn_energy-poly) <= 1.0E-5*larger, "" \ + REQUIRE_MESSAGE( fabs(poly_eqn_energy-poly) <= 1.0E-5*larger, "" \ "Lower channel energy for polynomial_energy and Poly binning arent equal" \ " (starting) at bin " << i \ << " got " << poly_eqn_energy << " and " << poly \ @@ -159,11 +151,11 @@ BOOST_AUTO_TEST_CASE( testCalibration ) // Need to test SpecFile::calibrationIsValid(...) -// BOOST_TEST_MESSAGE( "Input Directory:" << indir ); -// BOOST_CHECK( false ); -}//BOOST_AUTO_TEST_CASE( testCalibration ) +// TEST_MESSAGE( "Input Directory:" << indir ); +// CHECK( false ); +}//TEST_CASE( testCalibration ) -BOOST_AUTO_TEST_CASE( testFullRangeFractionFindEnergy ) +TEST_CASE( "testFullRangeFractionFindEnergy" ) { // \TODO: Further tests to make: // - Add deviation pairs @@ -189,12 +181,12 @@ BOOST_AUTO_TEST_CASE( testFullRangeFractionFindEnergy ) for( size_t i = 0; i < nenergies; ++i ) { const float energy = energies[i]; - BOOST_CHECK_NO_THROW( binnum = find_fullrangefraction_channel( energy, fwf_coefs, nbin, dev_pairs, accuracy ) ); + CHECK_NOTHROW( binnum = find_fullrangefraction_channel( energy, fwf_coefs, nbin, dev_pairs, accuracy ) ); const float binenergy = SpecUtils::fullrangefraction_energy( binnum, fwf_coefs, nbin, dev_pairs ); - BOOST_REQUIRE_MESSAGE( fabs(binenergy-energy) < 0.1, "Found bin " << binnum \ + REQUIRE_MESSAGE( fabs(binenergy-energy) < 0.1, "Found bin " << binnum \ << " for energy " << energy \ << " but found bin actually cooresponds to " \ << binenergy << " keV" ); @@ -202,12 +194,12 @@ BOOST_AUTO_TEST_CASE( testFullRangeFractionFindEnergy ) //... -}//BOOST_AUTO_TEST_CASE( testFullRangeFractionFindEnergy ) +}//TEST_CASE( testFullRangeFractionFindEnergy ) -BOOST_AUTO_TEST_CASE( testPolynomialFindEnergy ) +TEST_CASE( "testPolynomialFindEnergy" ) { // \TODO: Further tests to make: // - Add more deviation pairs @@ -226,38 +218,38 @@ BOOST_AUTO_TEST_CASE( testPolynomialFindEnergy ) for( const float energy : energies ) { - BOOST_CHECK_NO_THROW( binnum = find_polynomial_channel( energy, poly_coefs, nbin, dev_pairs, accuracy ) ); + CHECK_NOTHROW( binnum = find_polynomial_channel( energy, poly_coefs, nbin, dev_pairs, accuracy ) ); const float binenergy = polynomial_energy( binnum, poly_coefs, dev_pairs ); //Note: this doesnt test the case for multiple solution that the wanted solution is returned, // it just checks the solution is correct. - BOOST_REQUIRE_MESSAGE( fabs(binenergy-energy) < 0.1, "Found bin " << binnum \ + REQUIRE_MESSAGE( fabs(binenergy-energy) < 0.1, "Found bin " << binnum \ << " for energy " << energy \ << " but found bin actually cooresponds to " \ << binenergy << " keV" ); }//for( loop over energies ) -}//BOOST_AUTO_TEST_CASE( testPolynomialFindEnergy ) +}//TEST_CASE( testPolynomialFindEnergy ) -BOOST_AUTO_TEST_CASE( testPolynomialFindEnergyLinearSimple ) +TEST_CASE( "testPolynomialFindEnergyLinearSimple" ) { const float energies[] = { -100.1f, -10.0f, 511.005f, 1121.68f, 1450.87f, 1480.65f, 60000.0f }; for( const float energy : energies ) { float binnum; - BOOST_CHECK_NO_THROW( binnum = find_polynomial_channel( energy, {0.0f, 1.0f}, 1024, {}, 0.001f ) ); - BOOST_REQUIRE_MESSAGE( fabs(binnum - energy) < 0.1, "Found bin " << binnum \ + CHECK_NOTHROW( binnum = find_polynomial_channel( energy, {0.0f, 1.0f}, 1024, {}, 0.001f ) ); + REQUIRE_MESSAGE( fabs(binnum - energy) < 0.1, "Found bin " << binnum \ << " for energy " << energy \ << " but found bin actually cooresponds to " \ << binnum << " keV" ); }//for( loop over energies ) -}//BOOST_AUTO_TEST_CASE( testPolynomialFindEnergyLinearSimple ) +}//TEST_CASE( testPolynomialFindEnergyLinearSimple ) -BOOST_AUTO_TEST_CASE( testPolynomialFindEnergyRand ) +TEST_CASE( "testPolynomialFindEnergyRand" ) { const size_t nbin = 1024; const vector poly_coefs = { -10.0f, 3.0f, -1.0f/(4.0f*nbin) }; @@ -275,15 +267,15 @@ BOOST_AUTO_TEST_CASE( testPolynomialFindEnergyRand ) const float channel = dist(mt); const float channel_energy = polynomial_energy( channel, poly_coefs, dev_pairs ); float found_channel; - BOOST_CHECK_NO_THROW( found_channel = find_polynomial_channel( channel_energy, poly_coefs, nbin, dev_pairs, accuracy ) ); - BOOST_REQUIRE_MESSAGE( fabs(channel - found_channel) < 0.01, "Found channel " << found_channel \ + CHECK_NOTHROW( found_channel = find_polynomial_channel( channel_energy, poly_coefs, nbin, dev_pairs, accuracy ) ); + REQUIRE_MESSAGE( fabs(channel - found_channel) < 0.01, "Found channel " << found_channel \ << " for channel_energy " << channel_energy \ << " but actually wanted channel " << channel ); }//for( loop over energies ) -}//BOOST_AUTO_TEST_CASE( testPolynomialFindEnergyRand ) +}//TEST_CASE( testPolynomialFindEnergyRand ) -BOOST_AUTO_TEST_CASE( testEnergyCalibrationLowerChannel ) +TEST_CASE( "testEnergyCalibrationLowerChannel" ) { const size_t nbin = 1024; vector lower_channel( nbin + 1, 0.0f ); @@ -291,12 +283,12 @@ BOOST_AUTO_TEST_CASE( testEnergyCalibrationLowerChannel ) lower_channel[i] = i; EnergyCalibration cal; - BOOST_CHECK_NO_THROW( cal.set_lower_channel_energy( nbin, lower_channel ) ); + CHECK_NOTHROW( cal.set_lower_channel_energy( nbin, lower_channel ) ); - BOOST_CHECK_THROW( cal.channel_for_energy(nbin+2), std::exception ); - BOOST_CHECK_THROW( cal.channel_for_energy( -1 ), std::exception ); - BOOST_CHECK_THROW( cal.energy_for_channel( nbin+2 ), std::exception ); - BOOST_CHECK_THROW( cal.energy_for_channel( -1 ), std::exception ); + CHECK_THROWS_AS( cal.channel_for_energy(nbin+2), std::exception ); + CHECK_THROWS_AS( cal.channel_for_energy( -1 ), std::exception ); + CHECK_THROWS_AS( cal.energy_for_channel( nbin+2 ), std::exception ); + CHECK_THROWS_AS( cal.energy_for_channel( -1 ), std::exception ); std::random_device rd; std::mt19937 mt(rd()); @@ -307,20 +299,20 @@ BOOST_AUTO_TEST_CASE( testEnergyCalibrationLowerChannel ) const float energy = dist(mt); float found_channel; - BOOST_CHECK_NO_THROW( found_channel = cal.channel_for_energy( energy ) ); - BOOST_REQUIRE_MESSAGE( fabs(found_channel - energy) < 0.001, "Found channel " << found_channel \ + CHECK_NOTHROW( found_channel = cal.channel_for_energy( energy ) ); + REQUIRE_MESSAGE( fabs(found_channel - energy) < 0.001, "Found channel " << found_channel \ << " for energy " << energy ); const float channel = dist(mt); const float found_energy = cal.energy_for_channel( channel ); - BOOST_REQUIRE_MESSAGE( fabs(found_energy - channel) < 0.001, "Found energy " << found_energy \ + REQUIRE_MESSAGE( fabs(found_energy - channel) < 0.001, "Found energy " << found_energy \ << " for channel " << channel ); }//for( loop over energies ) -}//BOOST_AUTO_TEST_CASE( testEnergyCalibrationLowerChannel ) +}//TEST_CASE( testEnergyCalibrationLowerChannel ) -BOOST_AUTO_TEST_CASE( testCALpFile ) +TEST_CASE( "testCALpFile" ) { string calp_contents = R"(#PeakEasy CALp File Ver: 4.00 Offset (keV) : 1.50000e+00 @@ -343,27 +335,27 @@ Deviation Pairs : 5 size_t num_channels = 1024; shared_ptr cal; - BOOST_CHECK_NO_THROW( cal = SpecUtils::energy_cal_from_CALp_file( input, num_channels, det_name ) ); - BOOST_REQUIRE_MESSAGE( !!cal, "Failed to read basic CALp file" ); + CHECK_NOTHROW( cal = SpecUtils::energy_cal_from_CALp_file( input, num_channels, det_name ) ); + REQUIRE_MESSAGE( !!cal, "Failed to read basic CALp file" ); - BOOST_CHECK( cal->valid() ); - BOOST_CHECK_EQUAL( static_cast(cal->type()), static_cast(SpecUtils::EnergyCalType::Polynomial) ); - BOOST_CHECK_EQUAL( cal->num_channels(), num_channels ); - BOOST_CHECK_EQUAL( cal->deviation_pairs().size(), 5 ); - BOOST_CHECK_EQUAL( cal->coefficients().size(), 2 ); - - BOOST_REQUIRE( cal->coefficients().size() >= 2 ); - BOOST_CHECK_EQUAL( cal->coefficients()[0], 1.5 ); - BOOST_CHECK_EQUAL( cal->coefficients()[1], 3.0 ); - - BOOST_REQUIRE( cal->deviation_pairs().size() == 5 ); - BOOST_CHECK_EQUAL( cal->deviation_pairs()[0].first, 77.0f ); - BOOST_CHECK_EQUAL( cal->deviation_pairs()[0].second, -1.0f ); - BOOST_CHECK_EQUAL( cal->deviation_pairs()[1].first, 122.0f ); - BOOST_CHECK_EQUAL( cal->deviation_pairs()[1].second, -5.0f ); + CHECK( cal->valid() ); + CHECK_EQ( static_cast(cal->type()), static_cast(SpecUtils::EnergyCalType::Polynomial) ); + CHECK_EQ( cal->num_channels(), num_channels ); + CHECK_EQ( cal->deviation_pairs().size(), 5 ); + CHECK_EQ( cal->coefficients().size(), 2 ); + + REQUIRE( cal->coefficients().size() >= 2 ); + CHECK_EQ( cal->coefficients()[0], 1.5 ); + CHECK_EQ( cal->coefficients()[1], 3.0 ); + + REQUIRE( cal->deviation_pairs().size() == 5 ); + CHECK_EQ( cal->deviation_pairs()[0].first, 77.0f ); + CHECK_EQ( cal->deviation_pairs()[0].second, -1.0f ); + CHECK_EQ( cal->deviation_pairs()[1].first, 122.0f ); + CHECK_EQ( cal->deviation_pairs()[1].second, -5.0f ); //... - BOOST_CHECK_EQUAL( cal->deviation_pairs()[4].first, 2614.0f ); - BOOST_CHECK_EQUAL( cal->deviation_pairs()[4].second, 0.0f ); + CHECK_EQ( cal->deviation_pairs()[4].first, 2614.0f ); + CHECK_EQ( cal->deviation_pairs()[4].second, 0.0f ); // Test an invalid calibration specified in the CALp file calp_contents = R"(#PeakEasy CALp File Ver: 4.00 @@ -375,16 +367,16 @@ Gain (keV / Chan) : -3.00000e+00 #END)"; input.str( calp_contents ); cal = nullptr; - BOOST_CHECK_THROW( cal = SpecUtils::energy_cal_from_CALp_file( input, num_channels, det_name ), std::exception ); - BOOST_CHECK( !cal ); + CHECK_THROWS_AS( cal = SpecUtils::energy_cal_from_CALp_file( input, num_channels, det_name ), std::exception ); + CHECK( !cal ); // Test an empty CALp file calp_contents = R"()"; input.str( calp_contents ); input.clear(); - BOOST_CHECK_THROW( SpecUtils::energy_cal_from_CALp_file( input, num_channels, det_name ), std::exception ); + CHECK_THROWS_AS( SpecUtils::energy_cal_from_CALp_file( input, num_channels, det_name ), std::exception ); // TODO: add tests a multiple named detector demo, and then tests for `SpecFile::set_energy_calibration_from_CALp_file(...)` // could/should also add tests for other calibration types -}//BOOST_AUTO_TEST_CASE( testCALpFile ) \ No newline at end of file +}//TEST_CASE( testCALpFile ) diff --git a/unit_tests/test_filesystem_functions.cpp b/unit_tests/test_filesystem_functions.cpp index f2caabc..2dc5ebe 100644 --- a/unit_tests/test_filesystem_functions.cpp +++ b/unit_tests/test_filesystem_functions.cpp @@ -22,23 +22,18 @@ */ #include -#include -#include -#include #include #include +#include +#include #include #ifndef _WIN32 #include #endif #include -#define BOOST_TEST_MODULE testUtilityFilesystemFunctions -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include @@ -46,84 +41,83 @@ #include "SpecUtils/Filesystem.h" using namespace std; -using namespace boost::unit_test; -BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { +TEST_CASE( "testUtilityFilesystemFunctions" ) { //A few easy filesystem functions; assumes UNIX const string hexs = "0123456789abcdef"; //cout << "pp 'C:' -> " << boost::filesystem::path("C:").parent_path() << endl; #ifdef _WIN32 - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "\\a\\b\\c\\d", "\\a\\b\\foo\\bar"), "..\\..\\foo\\bar" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a", "a\\b\\c"), "b\\c" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a\\b\\\\c\\x\\y", "a/b/c"), "..\\.." ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "output_dir", "output_dir/lessson_plan/File1.txt"), "lessson_plan\\File1.txt" ); - - BOOST_CHECK_EQUAL( SpecUtils::filename( "path\\to\\some\\file.txt"), "file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "C:\\\\path\\to\\some"), "some" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "C:\\\\path\\to\\some\\.."), ".." ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "C:\\\\path\\to\\some\\"), "some" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path/to/some/file.txt"), "file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "\\path\\to\\some\\file.txt"), "file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path\\to/some"), "some" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path/to\\some/"), "some" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path/to/some\\.."), ".." ); - - BOOST_CHECK_EQUAL( SpecUtils::filename( "usr"), "usr" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "\\\\"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "."), "." ); - BOOST_CHECK_EQUAL( SpecUtils::filename( ".."), ".." ); - - - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\\\path\\to\\some\\file.txt"), "C:\\\\path\\to\\some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\\\path\\to\\some\\path"), "C:\\\\path\\to\\some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\\\path\\to\\some\\path\\"), "C:\\\\path\\to\\some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\\\path\\to\\some\\path\\.."), "C:\\\\path\\to" ); // - - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\\\" ), "C:" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "." ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( ".." ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "somefile" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\\\somefile" ), "C:" ); + CHECK_EQ( SpecUtils::fs_relative( "\\a\\b\\c\\d", "\\a\\b\\foo\\bar"), "..\\..\\foo\\bar" ); + CHECK_EQ( SpecUtils::fs_relative( "a", "a\\b\\c"), "b\\c" ); + CHECK_EQ( SpecUtils::fs_relative( "a\\b\\\\c\\x\\y", "a/b/c"), "..\\.." ); + CHECK_EQ( SpecUtils::fs_relative( "output_dir", "output_dir/lessson_plan/File1.txt"), "lessson_plan\\File1.txt" ); + + CHECK_EQ( SpecUtils::filename( "path\\to\\some\\file.txt"), "file.txt" ); + CHECK_EQ( SpecUtils::filename( "C:\\\\path\\to\\some"), "some" ); + CHECK_EQ( SpecUtils::filename( "C:\\\\path\\to\\some\\.."), ".." ); + CHECK_EQ( SpecUtils::filename( "C:\\\\path\\to\\some\\"), "some" ); + CHECK_EQ( SpecUtils::filename( "/path/to/some/file.txt"), "file.txt" ); + CHECK_EQ( SpecUtils::filename( "\\path\\to\\some\\file.txt"), "file.txt" ); + CHECK_EQ( SpecUtils::filename( "/path\\to/some"), "some" ); + CHECK_EQ( SpecUtils::filename( "/path/to\\some/"), "some" ); + CHECK_EQ( SpecUtils::filename( "/path/to/some\\.."), ".." ); + + CHECK_EQ( SpecUtils::filename( "usr"), "usr" ); + CHECK_EQ( SpecUtils::filename( "\\\\"), "" ); + CHECK_EQ( SpecUtils::filename( "/"), "" ); + CHECK_EQ( SpecUtils::filename( "."), "." ); + CHECK_EQ( SpecUtils::filename( ".."), ".." ); + + + CHECK_EQ( SpecUtils::parent_path( "C:\\\\path\\to\\some\\file.txt"), "C:\\\\path\\to\\some" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\\\path\\to\\some\\path"), "C:\\\\path\\to\\some" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\\\path\\to\\some\\path\\"), "C:\\\\path\\to\\some" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\\\path\\to\\some\\path\\.."), "C:\\\\path\\to" ); // + + CHECK_EQ( SpecUtils::parent_path( "C:\\\\" ), "C:" ); + CHECK_EQ( SpecUtils::parent_path( "." ), "" ); + CHECK_EQ( SpecUtils::parent_path( ".." ), "" ); + CHECK_EQ( SpecUtils::parent_path( "somefile" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\\\somefile" ), "C:" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(/user/docs/Letter.txt)str" ), R"str(/user/docs)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(C:\Letter.txt)str" ), R"str(C:)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\\Server01\user\docs\Letter.txt)str" ), R"str(\\Server01\user\docs)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(C:\user\docs\somefile.ext)str" ), R"str(C:\user\docs)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(./inthisdir)str" ), R"str(.)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(../../greatgrandparent)str" ), R"str(../..)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\Program Files\Custom Utilities\StringFinder.exe)str" ), R"str(\Program Files\Custom Utilities)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(2018\January.xlsx)str" ), R"str(2018)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(C:\Projects\apilibrary\apilibrary.sln)str" ), R"str(C:\Projects\apilibrary)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(C:Projects\apilibrary\apilibrary.sln)str" ), R"str(C:Projects\apilibrary)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\\system07\C$\)str" ), R"str(\\system07)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\\Server2\Share\Test\Foo.txt)str" ), R"str(\\Server2\Share\Test)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\\.\C:\Test\Foo.txt)str" ), R"str(\\.\C:\Test)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\\?\C:\Test\Foo.txt)str" ), R"str(\\?\C:\Test)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\\.\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test\Foo.txt)str" ), + CHECK_EQ( SpecUtils::parent_path( R"str(/user/docs/Letter.txt)str" ), R"str(/user/docs)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(C:\Letter.txt)str" ), R"str(C:)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(\\Server01\user\docs\Letter.txt)str" ), R"str(\\Server01\user\docs)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(C:\user\docs\somefile.ext)str" ), R"str(C:\user\docs)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(./inthisdir)str" ), R"str(.)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(../../greatgrandparent)str" ), R"str(../..)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(\Program Files\Custom Utilities\StringFinder.exe)str" ), R"str(\Program Files\Custom Utilities)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(2018\January.xlsx)str" ), R"str(2018)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(C:\Projects\apilibrary\apilibrary.sln)str" ), R"str(C:\Projects\apilibrary)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(C:Projects\apilibrary\apilibrary.sln)str" ), R"str(C:Projects\apilibrary)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(\\system07\C$\)str" ), R"str(\\system07)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(\\Server2\Share\Test\Foo.txt)str" ), R"str(\\Server2\Share\Test)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(\\.\C:\Test\Foo.txt)str" ), R"str(\\.\C:\Test)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(\\?\C:\Test\Foo.txt)str" ), R"str(\\?\C:\Test)str" ); + CHECK_EQ( SpecUtils::parent_path( R"str(\\.\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test\Foo.txt)str" ), R"str(\\.\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test)str" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( R"str(\\?\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test\Foo.txt)str" ), + CHECK_EQ( SpecUtils::parent_path( R"str(\\?\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test\Foo.txt)str" ), R"str(\\?\Volume{b75e2c83-0000-0000-0000-602f00000000}\Test)str" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( "C:\\\\path\\to\\some\\file.txt"), ".txt" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( "C:\\\\path\\to\\filename"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( ".profile"), ".profile" ); + CHECK_EQ( SpecUtils::file_extension( "C:\\\\path\\to\\some\\file.txt"), ".txt" ); + CHECK_EQ( SpecUtils::file_extension( "C:\\\\path\\to\\filename"), "" ); + CHECK_EQ( SpecUtils::file_extension( ".profile"), ".profile" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path", "file.txt"), "path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path/", "file.txt"), "path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path\\", "/file.txt"), "path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "/path", "file.txt"), "\\path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path", "file" ), "path\\file" ); + CHECK_EQ( SpecUtils::append_path( "path", "file.txt"), "path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path/", "file.txt"), "path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path\\", "/file.txt"), "path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "/path", "file.txt"), "\\path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path", "file" ), "path\\file" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path(R"str(\\foo)str"), R"str(\\foo)str" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path(R"str(\\foo/bar)str"), R"str(\\foo\bar)str" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path(R"str(\\foo/bar/)str"), R"str(\\foo\bar\)str" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path(R"str(C:\foo\bar)str"), R"str(C:\foo\bar)str" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path(R"str(C:\foo\bar\..)str"), R"str(C:\foo)str" ); + CHECK_EQ( SpecUtils::lexically_normalize_path(R"str(\\foo)str"), R"str(\\foo)str" ); + CHECK_EQ( SpecUtils::lexically_normalize_path(R"str(\\foo/bar)str"), R"str(\\foo\bar)str" ); + CHECK_EQ( SpecUtils::lexically_normalize_path(R"str(\\foo/bar/)str"), R"str(\\foo\bar\)str" ); + CHECK_EQ( SpecUtils::lexically_normalize_path(R"str(C:\foo\bar)str"), R"str(C:\foo\bar)str" ); + CHECK_EQ( SpecUtils::lexically_normalize_path(R"str(C:\foo\bar\..)str"), R"str(C:\foo)str" ); // @TODO Read the following to actually understand Windows paths // https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN @@ -169,136 +163,136 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "C:\\a\\b\\c\\d", "C:\\a\\b\\foo\\bar"), "..\\..\\foo\\bar" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a", "a\\b\\\\c"), "b\\c" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a\\", "a\\b\\\\c"), "b\\c" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a\\b\\c\\x\\y", "a\\b\\c"), "..\\.." ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a\\b\\c\\\\x\\y", "a\\\\b\\c"), "..\\.." ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "output_dir", "output_dir\\lessson_plan\\File1.txt"), "lessson_plan\\File1.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "\\\\foo\\bar\\..\\daz", "\\\\foo\\daz"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "\\\\foo\\bar\\..\\daz", "\\\\foo\\daz\\hello.txt"), "hello.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "\\\\foo\\bar\\.\\\\\\..\\daz\\..\\daz\\dude", "\\\\foo\\daz\\hello.txt"), "..\\hello.txt" ); - - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\file.txt"), "C:\\path\\to\\some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\path"), "C:\\path\\to\\some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\path\\"), "C:\\path\\to\\some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\path\\.."), "C:\\path\\to" ); // - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\path\\..\\..\\"), "C:\\path" ); // - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\..\\path" ), "C:\\path\\to\\some\\.." ); // - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\..\\..\\..\\" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\path\\to\\some\\..\\..\\..\\..\\" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "//" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "\\\\" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "C:\\" ), "C:" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "." ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( ".." ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "somefile" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( ".\\somefile" ), "." ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/somefile" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "\\somefile" ), "" ); + CHECK_EQ( SpecUtils::fs_relative( "C:\\a\\b\\c\\d", "C:\\a\\b\\foo\\bar"), "..\\..\\foo\\bar" ); + CHECK_EQ( SpecUtils::fs_relative( "a", "a\\b\\\\c"), "b\\c" ); + CHECK_EQ( SpecUtils::fs_relative( "a\\", "a\\b\\\\c"), "b\\c" ); + CHECK_EQ( SpecUtils::fs_relative( "a\\b\\c\\x\\y", "a\\b\\c"), "..\\.." ); + CHECK_EQ( SpecUtils::fs_relative( "a\\b\\c\\\\x\\y", "a\\\\b\\c"), "..\\.." ); + CHECK_EQ( SpecUtils::fs_relative( "output_dir", "output_dir\\lessson_plan\\File1.txt"), "lessson_plan\\File1.txt" ); + CHECK_EQ( SpecUtils::fs_relative( "\\\\foo\\bar\\..\\daz", "\\\\foo\\daz"), "" ); + CHECK_EQ( SpecUtils::fs_relative( "\\\\foo\\bar\\..\\daz", "\\\\foo\\daz\\hello.txt"), "hello.txt" ); + CHECK_EQ( SpecUtils::fs_relative( "\\\\foo\\bar\\.\\\\\\..\\daz\\..\\daz\\dude", "\\\\foo\\daz\\hello.txt"), "..\\hello.txt" ); + + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\file.txt"), "C:\\path\\to\\some" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\path"), "C:\\path\\to\\some" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\path\\"), "C:\\path\\to\\some" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\path\\.."), "C:\\path\\to" ); // + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\path\\..\\..\\"), "C:\\path" ); // + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\..\\path" ), "C:\\path\\to\\some\\.." ); // + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\..\\..\\..\\" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\path\\to\\some\\..\\..\\..\\..\\" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "//" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "\\\\" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "C:" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "C:\\" ), "C:" ); + CHECK_EQ( SpecUtils::parent_path( "." ), "" ); + CHECK_EQ( SpecUtils::parent_path( ".." ), "" ); + CHECK_EQ( SpecUtils::parent_path( "somefile" ), "" ); + CHECK_EQ( SpecUtils::parent_path( ".\\somefile" ), "." ); + CHECK_EQ( SpecUtils::parent_path( "/somefile" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "\\somefile" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( "/path/to/some/file.txt"), ".txt" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( "\\path\\to\\some\\file.txt"), ".txt" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( "/path/to/filename"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( ".profile"), ".profile" ); + CHECK_EQ( SpecUtils::file_extension( "/path/to/some/file.txt"), ".txt" ); + CHECK_EQ( SpecUtils::file_extension( "\\path\\to\\some\\file.txt"), ".txt" ); + CHECK_EQ( SpecUtils::file_extension( "/path/to/filename"), "" ); + CHECK_EQ( SpecUtils::file_extension( ".profile"), ".profile" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path", "file.txt"), "path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path/", "file.txt"), "path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path/", "/file.txt"), "path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "/path", "file.txt"), "\\path\\file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path", "file" ), "path\\file" ); + CHECK_EQ( SpecUtils::append_path( "path", "file.txt"), "path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path/", "file.txt"), "path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path/", "/file.txt"), "path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "/path", "file.txt"), "\\path\\file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path", "file" ), "path\\file" ); - BOOST_CHECK( !SpecUtils::is_absolute_path( "." ) ); - BOOST_CHECK( !SpecUtils::is_absolute_path( "./someFile" ) ); - BOOST_CHECK( SpecUtils::is_absolute_path( "\\\\" ) ); - BOOST_CHECK( SpecUtils::is_absolute_path( "C:\\" ) ); + CHECK( !SpecUtils::is_absolute_path( "." ) ); + CHECK( !SpecUtils::is_absolute_path( "./someFile" ) ); + CHECK( SpecUtils::is_absolute_path( "\\\\" ) ); + CHECK( SpecUtils::is_absolute_path( "C:\\" ) ); #else //#ifdef _WIN32 - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("foo/./bar/.."), "foo" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("foo/.///bar/../"), "foo/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("foo/bar/../../../dude"), "../dude" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("../"), "../" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path(".."), ".." ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("foo/bar/.."), "foo" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("foo/bar/../"), "foo/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/foo/bar/"), "/foo/bar/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/foo/bar"), "/foo/bar" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/foo///bar"), "/foo/bar" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/"), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("//"), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/.."), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/../.."), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/foo/../../.."), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path(""), "" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("."), "" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/."), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("/foo/../."), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("foo"), "foo" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("./foo/bar"), "foo/bar" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("./foo/bar/.."), "foo" ); - BOOST_CHECK_EQUAL( SpecUtils::lexically_normalize_path("./foo/bar/."), "foo/bar" ); - - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "/a/b/c/d", "/a/b/foo/bar"), "../../foo/bar" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a", "a/b//c"), "b/c" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a/", "a/b//c"), "b/c" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a/b/c/x/y", "a/b/c"), "../.." ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "a/b/c//x/y", "a//b/c"), "../.." ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "output_dir", "output_dir/lessson_plan/File1.txt"), "lessson_plan/File1.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "/foo/bar/../daz", "/foo/daz"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "/foo/bar/../daz", "/foo/daz/hello.txt"), "hello.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::fs_relative( "/foo/bar/.///../daz/../daz/dude", "/foo/daz/hello.txt"), "../hello.txt" ); - - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/file.txt"), "/path/to/some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/path"), "/path/to/some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/path/"), "/path/to/some" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/path/.."), "/path/to" ); // - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/path/../../"), "/path" ); // - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/../path" ), "/path/to/some/.." ); // - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/../../../" ), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/../../../../" ), "/" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "." ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( ".." ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "somefile" ), "" ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "./somefile" ), "." ); - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/somefile" ), "/" ); - - BOOST_CHECK_EQUAL( SpecUtils::parent_path( "/path/to/some/../../../../" ), "/" ); - - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path/to/some/file.txt"), "file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path/to/some"), "some" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path/to/some/"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/path/to/some/.."), "" ); - - BOOST_CHECK_EQUAL( SpecUtils::filename( "usr"), "usr" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "/"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( "."), "" ); - BOOST_CHECK_EQUAL( SpecUtils::filename( ".."), "" ); - - - BOOST_CHECK_EQUAL( SpecUtils::file_extension( "/path/to/some/file.txt"), ".txt" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( "/path/to/filename"), "" ); - BOOST_CHECK_EQUAL( SpecUtils::file_extension( ".profile"), ".profile" ); - - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path", "file.txt"), "path/file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path/", "file.txt"), "path/file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path/", "/file.txt"), "path/file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "/path", "file.txt"), "/path/file.txt" ); - BOOST_CHECK_EQUAL( SpecUtils::append_path( "path", "file" ), "path/file" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("foo/./bar/.."), "foo" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("foo/.///bar/../"), "foo/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("foo/bar/../../../dude"), "../dude" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("../"), "../" ); + CHECK_EQ( SpecUtils::lexically_normalize_path(".."), ".." ); + CHECK_EQ( SpecUtils::lexically_normalize_path("foo/bar/.."), "foo" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("foo/bar/../"), "foo/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/foo/bar/"), "/foo/bar/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/foo/bar"), "/foo/bar" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/foo///bar"), "/foo/bar" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/"), "/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("//"), "/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/.."), "/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/../.."), "/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/foo/../../.."), "/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path(""), "" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("."), "" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/."), "/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("/foo/../."), "/" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("foo"), "foo" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("./foo/bar"), "foo/bar" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("./foo/bar/.."), "foo" ); + CHECK_EQ( SpecUtils::lexically_normalize_path("./foo/bar/."), "foo/bar" ); + + CHECK_EQ( SpecUtils::fs_relative( "/a/b/c/d", "/a/b/foo/bar"), "../../foo/bar" ); + CHECK_EQ( SpecUtils::fs_relative( "a", "a/b//c"), "b/c" ); + CHECK_EQ( SpecUtils::fs_relative( "a/", "a/b//c"), "b/c" ); + CHECK_EQ( SpecUtils::fs_relative( "a/b/c/x/y", "a/b/c"), "../.." ); + CHECK_EQ( SpecUtils::fs_relative( "a/b/c//x/y", "a//b/c"), "../.." ); + CHECK_EQ( SpecUtils::fs_relative( "output_dir", "output_dir/lessson_plan/File1.txt"), "lessson_plan/File1.txt" ); + CHECK_EQ( SpecUtils::fs_relative( "/foo/bar/../daz", "/foo/daz"), "" ); + CHECK_EQ( SpecUtils::fs_relative( "/foo/bar/../daz", "/foo/daz/hello.txt"), "hello.txt" ); + CHECK_EQ( SpecUtils::fs_relative( "/foo/bar/.///../daz/../daz/dude", "/foo/daz/hello.txt"), "../hello.txt" ); + + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/file.txt"), "/path/to/some" ); + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/path"), "/path/to/some" ); + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/path/"), "/path/to/some" ); + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/path/.."), "/path/to" ); // + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/path/../../"), "/path" ); // + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/../path" ), "/path/to/some/.." ); // + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/../../../" ), "/" ); + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/../../../../" ), "/" ); + CHECK_EQ( SpecUtils::parent_path( "/" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "." ), "" ); + CHECK_EQ( SpecUtils::parent_path( ".." ), "" ); + CHECK_EQ( SpecUtils::parent_path( "somefile" ), "" ); + CHECK_EQ( SpecUtils::parent_path( "./somefile" ), "." ); + CHECK_EQ( SpecUtils::parent_path( "/somefile" ), "/" ); + + CHECK_EQ( SpecUtils::parent_path( "/path/to/some/../../../../" ), "/" ); + + CHECK_EQ( SpecUtils::filename( "/path/to/some/file.txt"), "file.txt" ); + CHECK_EQ( SpecUtils::filename( "/path/to/some"), "some" ); + CHECK_EQ( SpecUtils::filename( "/path/to/some/"), "" ); + CHECK_EQ( SpecUtils::filename( "/path/to/some/.."), "" ); + + CHECK_EQ( SpecUtils::filename( "usr"), "usr" ); + CHECK_EQ( SpecUtils::filename( "/"), "" ); + CHECK_EQ( SpecUtils::filename( "."), "" ); + CHECK_EQ( SpecUtils::filename( ".."), "" ); + + + CHECK_EQ( SpecUtils::file_extension( "/path/to/some/file.txt"), ".txt" ); + CHECK_EQ( SpecUtils::file_extension( "/path/to/filename"), "" ); + CHECK_EQ( SpecUtils::file_extension( ".profile"), ".profile" ); + + CHECK_EQ( SpecUtils::append_path( "path", "file.txt"), "path/file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path/", "file.txt"), "path/file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path/", "/file.txt"), "path/file.txt" ); + CHECK_EQ( SpecUtils::append_path( "/path", "file.txt"), "/path/file.txt" ); + CHECK_EQ( SpecUtils::append_path( "path", "file" ), "path/file" ); - BOOST_CHECK( !SpecUtils::is_absolute_path( "." ) ); - BOOST_CHECK( !SpecUtils::is_absolute_path( "./someFile" ) ); - BOOST_CHECK( SpecUtils::is_absolute_path( "/" ) ); + CHECK( !SpecUtils::is_absolute_path( "." ) ); + CHECK( !SpecUtils::is_absolute_path( "./someFile" ) ); + CHECK( SpecUtils::is_absolute_path( "/" ) ); #endif - BOOST_CHECK( SpecUtils::is_absolute_path( SpecUtils::temp_dir() ) ); - BOOST_CHECK( SpecUtils::is_absolute_path( SpecUtils::get_working_path() ) ); + CHECK( SpecUtils::is_absolute_path( SpecUtils::temp_dir() ) ); + CHECK( SpecUtils::is_absolute_path( SpecUtils::get_working_path() ) ); cout << "SpecUtils::temp_dir()=" << SpecUtils::temp_dir() << endl; cout << "SpecUtils::get_working_path()=" << SpecUtils::get_working_path() << endl; @@ -306,38 +300,38 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { const string tmpdir = SpecUtils::temp_dir(); - BOOST_REQUIRE( !tmpdir.empty() ); - BOOST_REQUIRE( SpecUtils::is_directory(tmpdir) ); - BOOST_CHECK( !SpecUtils::is_file(tmpdir) ); + REQUIRE( !tmpdir.empty() ); + REQUIRE( SpecUtils::is_directory(tmpdir) ); + CHECK( !SpecUtils::is_file(tmpdir) ); const string testname1 = SpecUtils::temp_file_name( "myuniquename", SpecUtils::temp_dir() ); - BOOST_CHECK( SpecUtils::contains( testname1, "myuniquename") ); - BOOST_CHECK( testname1.size() > (tmpdir.size() + 12 + 8) ); - BOOST_CHECK( !SpecUtils::is_directory(testname1) ); - BOOST_CHECK( !SpecUtils::is_file(testname1) ); + CHECK( SpecUtils::contains( testname1, "myuniquename") ); + CHECK( testname1.size() > (tmpdir.size() + 12 + 8) ); + CHECK( !SpecUtils::is_directory(testname1) ); + CHECK( !SpecUtils::is_file(testname1) ); const string testname2 = SpecUtils::temp_file_name( "myuniquename-%%%%%%%%%%", SpecUtils::temp_dir() ); - BOOST_CHECK( SpecUtils::contains( testname2, "myuniquename") );; - BOOST_CHECK( !SpecUtils::is_directory(testname2) ); - BOOST_CHECK( !SpecUtils::is_file(testname2) ); + CHECK( SpecUtils::contains( testname2, "myuniquename") );; + CHECK( !SpecUtils::is_directory(testname2) ); + CHECK( !SpecUtils::is_file(testname2) ); const string testname2_ending = testname2.substr( testname2.length() - 11, 11 ); - BOOST_CHECK( testname2_ending[0] == '-' ); + CHECK( testname2_ending[0] == '-' ); for( size_t i = 1; i < testname2_ending.size(); ++i ) { - BOOST_CHECK( hexs.find(testname2_ending[i]) != string::npos ); + CHECK( hexs.find(testname2_ending[i]) != string::npos ); } - BOOST_CHECK( !SpecUtils::can_rw_in_directory(testname2) ); - BOOST_REQUIRE( SpecUtils::create_directory(testname2) == 1 ); - BOOST_CHECK( SpecUtils::is_directory(testname2) ); - BOOST_CHECK( !SpecUtils::is_file(testname2) ); + CHECK( !SpecUtils::can_rw_in_directory(testname2) ); + REQUIRE( SpecUtils::create_directory(testname2) == 1 ); + CHECK( SpecUtils::is_directory(testname2) ); + CHECK( !SpecUtils::is_file(testname2) ); //cout << "Created directory '" << testname2 << "'" << endl; - BOOST_CHECK( SpecUtils::can_rw_in_directory(testname2) ); + CHECK( SpecUtils::can_rw_in_directory(testname2) ); //boost::filesystem::status(wtestname2). @@ -347,13 +341,13 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { boost::filesystem::permissions( wtestname2, boost::filesystem::perms::remove_perms | boost::filesystem::perms::all_all ); boost::filesystem::permissions( wtestname2, boost::filesystem::perms::add_perms | boost::filesystem::perms::owner_all ); boost::filesystem::permissions( wtestname2, boost::filesystem::perms::remove_perms | boost::filesystem::perms::owner_write ); - BOOST_CHECK( !SpecUtils::can_rw_in_directory(testname2) ); + CHECK( !SpecUtils::can_rw_in_directory(testname2) ); boost::filesystem::permissions( wtestname2, boost::filesystem::perms::add_perms | boost::filesystem::perms::owner_write ); - BOOST_CHECK( SpecUtils::can_rw_in_directory(testname2) ); + CHECK( SpecUtils::can_rw_in_directory(testname2) ); //On windows //boost::filesystem::permissions( wtestname2, boost::filesystem::perms::remove_perms | boost::filesystem::perms::owner_read ); - //BOOST_CHECK( !SpecUtils::can_rw_in_directory(testname2) ); + //CHECK( !SpecUtils::can_rw_in_directory(testname2) ); boost::filesystem::permissions( wtestname2, boost::filesystem::perms::add_perms | boost::filesystem::perms::owner_read | boost::filesystem::perms::owner_write ); #else @@ -363,16 +357,16 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { #ifndef __linux__ // TODO: For some reason, running in Docker (so as root), the removing of permissions doesnt necessarily work boost::filesystem::permissions( testname2, boost::filesystem::perms::remove_perms | boost::filesystem::perms::owner_write ); - BOOST_CHECK( !SpecUtils::can_rw_in_directory(testname2) ); + CHECK( !SpecUtils::can_rw_in_directory(testname2) ); #endif boost::filesystem::permissions( testname2, boost::filesystem::perms::add_perms | boost::filesystem::perms::owner_write ); - BOOST_CHECK( SpecUtils::can_rw_in_directory(testname2) ); + CHECK( SpecUtils::can_rw_in_directory(testname2) ); #ifndef __linux__ // Similar Linux issue boost::filesystem::permissions( testname2, boost::filesystem::perms::remove_perms | boost::filesystem::perms::owner_read ); - BOOST_CHECK( !SpecUtils::can_rw_in_directory(testname2) ); + CHECK( !SpecUtils::can_rw_in_directory(testname2) ); #endif boost::filesystem::permissions( testname2, boost::filesystem::perms::add_perms | boost::filesystem::perms::owner_read ); @@ -389,9 +383,9 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { { ++depth; currentdir = SpecUtils::temp_file_name( "subdir-" + std::to_string(depth) + "-%%%%%%%%%%", currentdir ); - BOOST_CHECK( !SpecUtils::is_directory(currentdir) ); - BOOST_REQUIRE( SpecUtils::create_directory(currentdir) == 1 ); - BOOST_CHECK( SpecUtils::is_directory(currentdir) ); + CHECK( !SpecUtils::is_directory(currentdir) ); + REQUIRE( SpecUtils::create_directory(currentdir) == 1 ); + CHECK( SpecUtils::is_directory(currentdir) ); added_dirs.push_back( currentdir ); if( depth == 1 ) toplevel_dirs.push_back( currentdir ); @@ -401,7 +395,7 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { for( int filenum = 0; filenum < nfilescreate; ++filenum ) { string fname = SpecUtils::append_path( currentdir, "file_" + std::to_string(filenum) + ".txt" ); - BOOST_CHECK( !SpecUtils::is_file(fname) ); + CHECK( !SpecUtils::is_file(fname) ); const int nbytes = (rand() % (1024*512)); vector writtenbytes; @@ -413,7 +407,7 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { ofstream outputfile( fname.c_str(), ios::out | ios::binary ); #endif - BOOST_REQUIRE( outputfile.is_open() ); + REQUIRE( outputfile.is_open() ); for( int i = 0 ; i < nbytes; ++i ) { const char byte = rand(); @@ -423,9 +417,9 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { }//End writing to file - BOOST_CHECK( !SpecUtils::can_rw_in_directory(fname) ); + CHECK( !SpecUtils::can_rw_in_directory(fname) ); - //BOOST_CHECK( SpecUtils::make_canonical_path( f ) ); + //CHECK( SpecUtils::make_canonical_path( f ) ); string forigname = SpecUtils::filename(fname); string fparent = SpecUtils::parent_path(fname); string fparentname = SpecUtils::filename(fparent); @@ -457,33 +451,33 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { forigname ); string fname_canonical = fname; - BOOST_CHECK( SpecUtils::make_canonical_path(fname_canonical) ); + CHECK( SpecUtils::make_canonical_path(fname_canonical) ); string fname_canonical_check = fname_canonical; - BOOST_CHECK( SpecUtils::make_canonical_path(fname_canonical_check) ); - BOOST_CHECK_EQUAL( fname_canonical_check, fname_canonical ); + CHECK( SpecUtils::make_canonical_path(fname_canonical_check) ); + CHECK_EQ( fname_canonical_check, fname_canonical ); - BOOST_CHECK_MESSAGE( SpecUtils::make_canonical_path(onedotequiv), "Failed to canoniclize " << onedotequiv ); - BOOST_CHECK_MESSAGE( SpecUtils::make_canonical_path(twodotequiv), "Failed to canoniclize " << twodotequiv ); - BOOST_CHECK_MESSAGE( SpecUtils::make_canonical_path(threedotequiv), "Failed to canoniclize " << threedotequiv ); + CHECK_MESSAGE( SpecUtils::make_canonical_path(onedotequiv), "Failed to canoniclize " << onedotequiv ); + CHECK_MESSAGE( SpecUtils::make_canonical_path(twodotequiv), "Failed to canoniclize " << twodotequiv ); + CHECK_MESSAGE( SpecUtils::make_canonical_path(threedotequiv), "Failed to canoniclize " << threedotequiv ); - BOOST_CHECK_MESSAGE( threedotequiv.find("..") == string::npos, "threedotequiv='" << threedotequiv << "'" ); + CHECK_MESSAGE( threedotequiv.find("..") == string::npos, "threedotequiv='" << threedotequiv << "'" ); std::vector read_bytes; SpecUtils::load_file_data( fname.c_str(), read_bytes ); if( !read_bytes.empty() ) read_bytes.resize(read_bytes.size()-1); //Get rid of '\0' that was inserted - BOOST_CHECK_EQUAL( writtenbytes.size(), read_bytes.size() ); - BOOST_CHECK( writtenbytes == read_bytes ); + CHECK_EQ( writtenbytes.size(), read_bytes.size() ); + CHECK( writtenbytes == read_bytes ); - BOOST_CHECK( SpecUtils::is_file(fname) ); - //BOOST_CHECK_EQUAL( SpecUtils::file_size(fname), nbytes ); + CHECK( SpecUtils::is_file(fname) ); + //CHECK_EQ( SpecUtils::file_size(fname), nbytes ); #ifdef _WIN32 - BOOST_CHECK_EQUAL( SpecUtils::file_size(fname), + CHECK_EQ( SpecUtils::file_size(fname), boost::filesystem::file_size(SpecUtils::convert_from_utf8_to_utf16(fname) ) ); #else - BOOST_CHECK_EQUAL( SpecUtils::file_size(fname), boost::filesystem::file_size(fname) ); + CHECK_EQ( SpecUtils::file_size(fname), boost::filesystem::file_size(fname) ); #endif @@ -492,22 +486,22 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { }//for( int filenum = 0; filenum < nfilescreate; ++filenum ) const vector lsfiles = SpecUtils::ls_files_in_directory( currentdir, "" ); - BOOST_CHECK_EQUAL( lsfiles.size(), filesinthisdir.size() ); + CHECK_EQ( lsfiles.size(), filesinthisdir.size() ); for( string createdfile : filesinthisdir ) { bool found_file = false; - BOOST_CHECK( SpecUtils::make_canonical_path( createdfile ) ); + CHECK( SpecUtils::make_canonical_path( createdfile ) ); for( string f : lsfiles ) { - BOOST_CHECK( SpecUtils::make_canonical_path( f ) ); + CHECK( SpecUtils::make_canonical_path( f ) ); found_file = (f == createdfile); //cout << "createdfile='" << createdfile << "', f='" << f << "'" << endl; if( found_file ) break; } - BOOST_CHECK_MESSAGE( found_file, "Failed on " << createdfile ); + CHECK_MESSAGE( found_file, "Failed on " << createdfile ); }//for( string createdfile : filesinthisdir ) }//while( (rand() % 2) == 1 ) }//for( size_t subdirnum = 0; subdirnum < 100; ++subdirnum ) @@ -522,7 +516,7 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { std::sort( begin(toplevel_ls_dirs), end(toplevel_ls_dirs) ); - BOOST_CHECK_MESSAGE( toplevel_dirs == toplevel_ls_dirs, "Expected " << toplevel_dirs.size() << " dirs, and got " << toplevel_ls_dirs.size() ); + CHECK_MESSAGE( toplevel_dirs == toplevel_ls_dirs, "Expected " << toplevel_dirs.size() << " dirs, and got " << toplevel_ls_dirs.size() ); vector rls = SpecUtils::recursive_ls(testname2); @@ -534,29 +528,29 @@ BOOST_AUTO_TEST_CASE( testUtilityFilesystemFunctions ) { std::sort( begin(rlstxt), end(rlstxt) ); std::sort( begin(rlsnone), end(rlsnone) ); - BOOST_CHECK_EQUAL(rls.size(), added_files.size()); - BOOST_CHECK( rls == rlstxt ); - BOOST_CHECK( added_files == rls ); - BOOST_CHECK( rlsnone.empty() ); + CHECK_EQ(rls.size(), added_files.size()); + CHECK( rls == rlstxt ); + CHECK( added_files == rls ); + CHECK( rlsnone.empty() ); for( const string f : added_files ) { - BOOST_CHECK( SpecUtils::is_file(f) ); - BOOST_CHECK( !SpecUtils::is_directory(f) ); + CHECK( SpecUtils::is_file(f) ); + CHECK( !SpecUtils::is_directory(f) ); vector old_file_data, new_file_data; SpecUtils::load_file_data( f.c_str(), old_file_data ); const string newname = f + "renamed.t"; - BOOST_CHECK( SpecUtils::rename_file( f, newname ) ); - BOOST_CHECK( !SpecUtils::is_file(f) ); - BOOST_CHECK( SpecUtils::is_file(newname) ); + CHECK( SpecUtils::rename_file( f, newname ) ); + CHECK( !SpecUtils::is_file(f) ); + CHECK( SpecUtils::is_file(newname) ); SpecUtils::load_file_data( newname.c_str(), new_file_data ); - BOOST_CHECK( old_file_data == new_file_data ); + CHECK( old_file_data == new_file_data ); - BOOST_CHECK( SpecUtils::remove_file(newname) ); - BOOST_CHECK( !SpecUtils::is_file(newname) ); + CHECK( SpecUtils::remove_file(newname) ); + CHECK( !SpecUtils::is_file(newname) ); }// diff --git a/unit_tests/test_iso_time_string.cpp b/unit_tests/test_iso_time_string.cpp index 94af935..1ea7252 100644 --- a/unit_tests/test_iso_time_string.cpp +++ b/unit_tests/test_iso_time_string.cpp @@ -28,17 +28,12 @@ #include #include -#define BOOST_TEST_MODULE testIsoTimeString -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include "3rdparty/date/include/date/date.h" #include -#include #include #include @@ -46,8 +41,6 @@ #include "SpecUtils/DateTime.h" using namespace std; -using namespace boost::unit_test; - boost::posix_time::ptime to_ptime( const SpecUtils::time_point_t &rhs ) { @@ -154,7 +147,7 @@ boost::posix_time::ptime random_ptime() -BOOST_AUTO_TEST_CASE( isoString ) +TEST_CASE( "isoString" ) { srand( (unsigned) time(NULL) ); @@ -180,30 +173,30 @@ BOOST_AUTO_TEST_CASE( isoString ) our_iso_str.resize( 22, '0' ); const boost::posix_time::ptime check = boost::posix_time::from_iso_string( our_iso_str ); - BOOST_CHECK_MESSAGE( pt == check, - "failed to read ISO time back in using boost::from_iso_string( '" - + our_iso_str + "' )."); - BOOST_CHECK_MESSAGE( our_extended_str == boost_extended_str, - "SpecUtils::to_extended_iso_string produced '" - + our_extended_str - + "' while boost::to_iso_extended_string produced '" - + boost_extended_str + "'." ); - BOOST_CHECK_MESSAGE( our_iso_str == boost_iso_str, - "SpecUtils::to_iso_string produced '" - + our_iso_str + "' while boost::to_iso_string produced '" - + boost_iso_str + "'" ); + CHECK_MESSAGE( pt == check, + "failed to read ISO time back in using boost::from_iso_string( '" + << our_iso_str << "' )."); + CHECK_MESSAGE( our_extended_str == boost_extended_str, + "SpecUtils::to_extended_iso_string produced '" + << our_extended_str + << "' while boost::to_iso_extended_string produced '" + << boost_extended_str << "'." ); + CHECK_MESSAGE( our_iso_str == boost_iso_str, + "SpecUtils::to_iso_string produced '" + << our_iso_str << "' while boost::to_iso_string produced '" + << boost_iso_str << "'" ); const SpecUtils::time_point_t parse_check_iso = SpecUtils::time_from_string( our_iso_str.c_str() ); - BOOST_CHECK_MESSAGE( parse_check_iso == tp, - "Failed to read time from ISO string ('" + boost_iso_str + CHECK_MESSAGE( parse_check_iso == tp, + "Failed to read time from ISO string ('" << boost_iso_str + "'), parsed " + SpecUtils::to_iso_string(parse_check_iso) ); const SpecUtils::time_point_t parse_check_ext = SpecUtils::time_from_string( our_extended_str.c_str() ); - BOOST_CHECK_MESSAGE( parse_check_ext == tp, - "Failed to read time from EXTENDED string ('" + boost_iso_str - + "'), parsed " + SpecUtils::to_iso_string(parse_check_ext) ); + CHECK_MESSAGE( parse_check_ext == tp, + "Failed to read time from EXTENDED string ('" << boost_iso_str + << "'), parsed " << SpecUtils::to_iso_string(parse_check_ext) ); }//for( size_t i = 0; i < 1000; ++i ) //check special time values @@ -212,33 +205,33 @@ BOOST_AUTO_TEST_CASE( isoString ) SpecUtils::time_point_t d3{}; //SpecUtils::time_point_t d4 = std::chrono::system_clock::now(); - BOOST_CHECK( SpecUtils::to_iso_string(d1) == "not-a-date-time" ); - BOOST_CHECK( SpecUtils::to_iso_string(d2) == "not-a-date-time" ); - BOOST_CHECK( SpecUtils::to_iso_string(d3) == "not-a-date-time" ); - //BOOST_CHECK( SpecUtils::to_iso_string(d4) != "not-a-date-time" ); + CHECK( SpecUtils::to_iso_string(d1) == "not-a-date-time" ); + CHECK( SpecUtils::to_iso_string(d2) == "not-a-date-time" ); + CHECK( SpecUtils::to_iso_string(d3) == "not-a-date-time" ); + //CHECK( SpecUtils::to_iso_string(d4) != "not-a-date-time" ); //"20140414T141201.621543" - BOOST_CHECK_EQUAL( SpecUtils::to_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.62") ), "20140919T141201.62" ); - BOOST_CHECK_EQUAL( SpecUtils::to_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01") ), "20140919T141201" ); - BOOST_CHECK_EQUAL( SpecUtils::to_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.621543") ), "20140919T141201.621543" ); + CHECK_EQ( SpecUtils::to_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.62") ), "20140919T141201.62" ); + CHECK_EQ( SpecUtils::to_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01") ), "20140919T141201" ); + CHECK_EQ( SpecUtils::to_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.621543") ), "20140919T141201.621543" ); - BOOST_CHECK_EQUAL( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T14:12:01.62") ), "20140101T141201.62" ); - BOOST_CHECK_EQUAL( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T14:12:01.623") ), "20140101T141201.623" ); - BOOST_CHECK_EQUAL( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T14:12:01.626") ), "20140101T141201.626" ); - BOOST_CHECK_EQUAL( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T00:00:00") ), "20140101T000000" ); + CHECK_EQ( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T14:12:01.62") ), "20140101T141201.62" ); + CHECK_EQ( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T14:12:01.623") ), "20140101T141201.623" ); + CHECK_EQ( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T14:12:01.626") ), "20140101T141201.626" ); + CHECK_EQ( SpecUtils::to_iso_string( SpecUtils::time_from_string("20140101T00:00:00") ), "20140101T000000" ); //"2014-04-14T14:12:01.621543" - BOOST_CHECK_EQUAL( SpecUtils::to_extended_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.62") ), "2014-09-19T14:12:01.62" ); - BOOST_CHECK_EQUAL( SpecUtils::to_extended_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01") ), "2014-09-19T14:12:01" ); - BOOST_CHECK_EQUAL( SpecUtils::to_extended_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.621543") ), "2014-09-19T14:12:01.621543" ); - - BOOST_CHECK_EQUAL( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.62") ), "19-Sep-2014 14:12:01.62" ); - BOOST_CHECK_EQUAL( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.62") ), "01-Jan-2014 14:12:01.62" ); - BOOST_CHECK_EQUAL( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.623") ), "01-Jan-2014 14:12:01.62" ); - BOOST_CHECK_EQUAL( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.626") ), "01-Jan-2014 14:12:01.63" ); - BOOST_CHECK_EQUAL( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T00:00:00") ), "01-Jan-2014 00:00:00.00" ); + CHECK_EQ( SpecUtils::to_extended_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.62") ), "2014-09-19T14:12:01.62" ); + CHECK_EQ( SpecUtils::to_extended_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01") ), "2014-09-19T14:12:01" ); + CHECK_EQ( SpecUtils::to_extended_iso_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.621543") ), "2014-09-19T14:12:01.621543" ); + + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.62") ), "19-Sep-2014 14:12:01.62" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.62") ), "01-Jan-2014 14:12:01.62" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.623") ), "01-Jan-2014 14:12:01.62" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.626") ), "01-Jan-2014 14:12:01.63" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T00:00:00") ), "01-Jan-2014 00:00:00.00" ); /** Converts the input to string in format d-mmm-YYYY HH:MM:SS AM, diff --git a/unit_tests/test_rebin_by_lower_energy.cpp b/unit_tests/test_rebin_by_lower_energy.cpp index 6c7630a..9f80a33 100644 --- a/unit_tests/test_rebin_by_lower_energy.cpp +++ b/unit_tests/test_rebin_by_lower_energy.cpp @@ -25,6 +25,9 @@ #include #include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" + #include "SpecUtils/SpecFile.h" #include "SpecUtils/EnergyCalibration.h" @@ -42,12 +45,16 @@ void test_rebin_case( const std::vector &original_energies, for( size_t i = 0; i < resulting_counts.size(); ++i ) newsum += resulting_counts[i]; - if( fabs(newsum-origsum) > 0.01*original_energies.size()/16384.0 ) - printf( "Failed with difference %f\n", (newsum-origsum) ); - printf( "Original %9f vs new %9f\n\n\n", origsum, newsum ); + //if( (fabs(newsum-origsum) > 0.01*original_energies.size()/16384.0) + // || (fabs(newsum-origsum) > 1.0E-6*origsum) ) + // printf( "Failed with difference %f\n", (newsum-origsum) ); + //printf( "Original %9f vs new %9f\n\n\n", origsum, newsum ); + + CHECK_MESSAGE( ( (fabs(newsum-origsum) < 0.01*original_energies.size()/16384.0) + && (fabs(newsum-origsum) < 1.0E-5*origsum) ), "Failed with difference " << (newsum-origsum) << " and origsum=" << origsum ); }//test_rebin_case -void test_rebin() +TEST_CASE( "Test Rebin" ) { { printf( "Trying case with coutns at very begging\n" ); @@ -117,10 +124,10 @@ void test_rebin() } } -int main( int argc, char **argv ) -{ - test_rebin(); - return 0; // ctest will say this test fails if you return a non-zero exit code -} +//int main( int argc, char **argv ) +//{ +// test_rebin(); +// return 0; // ctest will say this test fails if you return a non-zero exit code +//} diff --git a/unit_tests/test_safe_get_line.cpp b/unit_tests/test_safe_get_line.cpp index a2578cc..0484f13 100644 --- a/unit_tests/test_safe_get_line.cpp +++ b/unit_tests/test_safe_get_line.cpp @@ -29,14 +29,8 @@ #include #include -#include - -#define BOOST_TEST_MODULE testsafeGetLine -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include "SpecUtils/ParseUtils.h" @@ -52,13 +46,13 @@ void test_num_lines( const char *str, const size_t num_expected_lines ) while( SpecUtils::safe_get_line(strm, line) ) ++num_read_lines; - BOOST_CHECK_MESSAGE( num_read_lines==num_expected_lines, "Failed on \n'" + string(str) + "'\n Got " - + std::to_string(num_read_lines) + " lines but expected " + std::to_string(num_expected_lines) + "\n" ); - //BOOST_CHECK_EQUAL( num_read_lines, num_expected_lines ); + CHECK_MESSAGE( num_read_lines==num_expected_lines, "Failed on \n'" << string(str) << "'\n Got " + << std::to_string(num_read_lines) << " lines but expected " << std::to_string(num_expected_lines) << "\n" ); + //CHECK_EQ( num_read_lines, num_expected_lines ); } -BOOST_AUTO_TEST_CASE(safeGetLine) { +TEST_CASE( "safeGetLine" ) { const char *str = "1 Hello"; test_num_lines( str, 1 ); @@ -122,8 +116,8 @@ void test_num_lines_len_limit( const char *str, const size_t strsizelimit, const msg += "'" + l + "'\n"; msg += "___________________\n\n"; - BOOST_CHECK_MESSAGE( num_read_lines==num_expected_lines, msg ); - //BOOST_CHECK_EQUAL( num_read_lines, num_expected_lines ); + CHECK_MESSAGE( num_read_lines==num_expected_lines, msg ); + //CHECK_EQUAL( num_read_lines, num_expected_lines ); if( !lines.empty() ) { @@ -132,12 +126,12 @@ void test_num_lines_len_limit( const char *str, const size_t strsizelimit, const msg += "'" + l + "'\n"; msg += "___________________\n\n"; - BOOST_CHECK_MESSAGE( lines.back() == lastline, msg ); + CHECK_MESSAGE( lines.back() == lastline, msg ); } }//test_num_lines_len_limit -BOOST_AUTO_TEST_CASE(safeGetLineLenLimited) { +TEST_CASE( "safeGetLineLenLimited" ) { const char *str = "1 Hello"; test_num_lines_len_limit( str, 100, 1, str ); diff --git a/unit_tests/test_spec_file_open.cpp b/unit_tests/test_spec_file_open.cpp index c36044c..be9ad77 100644 --- a/unit_tests/test_spec_file_open.cpp +++ b/unit_tests/test_spec_file_open.cpp @@ -24,34 +24,39 @@ #include #include -#include -//#define BOOST_TEST_DYN_LINK -#define BOOST_TEST_MODULE testFileOpen -#include - -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT +#include "doctest.h" #include "SpecUtils/SpecFile.h" #include "SpecUtils/StringAlgo.h" #include "SpecUtils/Filesystem.h" using namespace std; -using namespace boost::unit_test; + +// I couldnt quite figure out how to access command line arguments +// from doctest, so we'll just work around it a bit. +vector g_cl_args; -BOOST_AUTO_TEST_CASE( testFileOpen ) +int main(int argc, char** argv) { - int argc = boost::unit_test::framework::master_test_suite().argc; - char **argv = boost::unit_test::framework::master_test_suite().argv; + for( int i = 0; i < argc; ++i ) + g_cl_args.push_back( argv[i] ); + return doctest::Context(argc, argv).run(); +} + + +TEST_CASE( "testFileOpen" ) +{ string indir; - for( int i = 1; i < argc; ++i ) + for( size_t i = 1; i < g_cl_args.size(); ++i ) { - const string arg = argv[i]; - if( boost::algorithm::starts_with( arg, "--indir=" ) ) + const string arg = g_cl_args[i]; + + if( SpecUtils::istarts_with( arg, "--indir=" ) ) indir = arg.substr( 8 ); }//for( int arg = 1; arg < argc; ++ arg ) @@ -63,29 +68,29 @@ BOOST_AUTO_TEST_CASE( testFileOpen ) indir = indir.substr( 0, indir.size()-1 ); - BOOST_CHECK_MESSAGE( !indir.empty(), "No Input directory specified" << indir ); - BOOST_CHECK_MESSAGE( SpecUtils::is_directory(indir), "Input is not a valid directory: " << indir ); + CHECK_MESSAGE( !indir.empty(), "No Input directory specified" << indir ); + CHECK_MESSAGE( SpecUtils::is_directory(indir), "Input is not a valid directory: " << indir ); vector files = SpecUtils::recursive_ls( indir ); - BOOST_TEST_MESSAGE( "Input Directory:" << indir ); + MESSAGE( "Input Directory:" << indir ); for( size_t i = 0; i < files.size(); ++i ) { const string file = files[i]; - BOOST_TEST_MESSAGE( "Testing file: '" << file << "'" ); + MESSAGE( "Testing file: '" << file << "'" ); SpecUtils::SpecFile meas; const bool loaded = meas.load_file( file, SpecUtils::ParserType::Auto, file ); - BOOST_CHECK_MESSAGE( loaded, "Failed to load " << file ); + CHECK_MESSAGE( loaded, "Failed to load " << file ); if( loaded ) { const double sum_gamma = meas.gamma_count_sum(); - BOOST_CHECK_MESSAGE( sum_gamma >= 1.0, "No decoded gammas in " << file ); + CHECK_MESSAGE( sum_gamma >= 1.0, "No decoded gammas in " << file ); } }//for( size_t i = 0; i < files.size(); ++i ) -// BOOST_CHECK( false ); +// CHECK( false ); } diff --git a/unit_tests/test_split_to_floats_and_ints.cpp b/unit_tests/test_split_to_floats_and_ints.cpp index 07c6662..cca19c7 100755 --- a/unit_tests/test_split_to_floats_and_ints.cpp +++ b/unit_tests/test_split_to_floats_and_ints.cpp @@ -31,28 +31,20 @@ #include #include -#define BOOST_TEST_MODULE split_to_floats_and_ints_suite -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include "SpecUtils/StringAlgo.h" #include "SpecUtils/ParseUtils.h" using namespace std; -using namespace boost::unit_test; - - -BOOST_AUTO_TEST_SUITE( split_to_floats_and_ints_suite ) // TODO: add test case for parse_float, parse_int, parse_double, functions /* -BOOST_AUTO_TEST_CASE( time_float_parse ) +TEST_CASE( "Time float parse" ) { ifstream file( "float_benchmark.csv" ); @@ -86,11 +78,13 @@ BOOST_AUTO_TEST_CASE( time_float_parse ) }//for( const string &val : lines ) cout << "Took: " << std::chrono::duration_cast(total_dur).count() << " ms to parse all the input." << endl; -}//BOOST_AUTO_TEST_CASE( time_float_parse ) +}//TEST_CASE( time_float_parse ) */ +#define CHECK_FRACTIONALLY_NEAR(a,b,c) do{ CHECK( fabs(a-b) <= c*std::max(fabs(a),fabs(b)) ); }while(0); +#define CHECK_NEAR(a,b,c) do{ CHECK( fabs(a-b) <= fabs(c) ); }while(0); -BOOST_AUTO_TEST_CASE( split_to_floats ) +TEST_CASE( "split_to_floats" ) { string input_string1= "5.5 4.5 3.5,34000000,1.23456,1.234567,1.2345678,1.23456789,.1,.01,.001,.0001,.00001,.000001,.0000001,.00000001"; const vector comparison_vector1{5.5f, 4.5f, 3.5f,34000000.0f,1.23456f,1.234567f,1.2345678f,1.23456789f,0.1f,0.01f,0.001f,0.0001f,0.00001f,0.000001f,0.0000001f,0.00000001f}; @@ -98,22 +92,22 @@ BOOST_AUTO_TEST_CASE( split_to_floats ) SpecUtils::split_to_floats( input_string1, output_vector1 ); SpecUtils::split_to_floats( &(input_string1[0]), alt_output_vector1," ,\r\n\t", false ); - BOOST_REQUIRE_EQUAL( output_vector1.size(), comparison_vector1.size() ); - BOOST_REQUIRE_EQUAL( alt_output_vector1.size(), comparison_vector1.size() ); + REQUIRE_EQ( output_vector1.size(), comparison_vector1.size() ); + REQUIRE_EQ( alt_output_vector1.size(), comparison_vector1.size() ); for( int i = 0; i < output_vector1.size(); ++i ) { - BOOST_CHECK_CLOSE( comparison_vector1[i], output_vector1[i], 0.000001); + CHECK_FRACTIONALLY_NEAR( comparison_vector1[i], output_vector1[i], 0.000001 ); } for( int i = 0; i < alt_output_vector1.size(); ++i ) { - BOOST_CHECK_CLOSE( comparison_vector1[i], alt_output_vector1[i], 0.000001 ); + CHECK_FRACTIONALLY_NEAR( comparison_vector1[i], alt_output_vector1[i], 0.000001 ); } } -BOOST_AUTO_TEST_CASE( parse_float ) +TEST_CASE( "parse_float" ) { const string good_input_strs[] = { "3.2", "-3.2", "+3.2", " 3.2 ", "\t\t\t\t3.2", @@ -140,7 +134,7 @@ BOOST_AUTO_TEST_CASE( parse_float ) const size_t num_good_inputs_vals = sizeof(good_input_vals) / sizeof(good_input_vals[0]); const size_t num_bad_inputs_strs = sizeof(bad_input_strs) / sizeof(bad_input_strs[0]); - BOOST_REQUIRE_EQUAL( num_good_input_strs, num_good_inputs_vals ); + REQUIRE_EQ( num_good_input_strs, num_good_inputs_vals ); for( size_t i = 0; i < num_good_input_strs; ++i ) @@ -148,9 +142,9 @@ BOOST_AUTO_TEST_CASE( parse_float ) float result; const string &s = good_input_strs[i]; const bool ok = SpecUtils::parse_float( s.c_str(), s.size(), result ); - BOOST_CHECK_MESSAGE( ok, "Failed to parse '" << s << " to a float'" ); - //BOOST_CHECK_SMALL( result - good_input_vals[i], 0.00001*good_input_vals[i] ) - BOOST_CHECK_CLOSE( result, good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_MESSAGE( ok, "Failed to parse '" << s << " to a float'" ); + //CHECK_SMALL( result - good_input_vals[i], 0.00001*good_input_vals[i] ) + CHECK_FRACTIONALLY_NEAR( result, good_input_vals[i], 0.0001 ); } for( size_t i = 0; i < num_bad_inputs_strs; ++i ) @@ -158,8 +152,8 @@ BOOST_AUTO_TEST_CASE( parse_float ) float result; const string &s = bad_input_strs[i]; const bool ok = SpecUtils::parse_float( s.c_str(), s.size(), result ); - BOOST_CHECK_MESSAGE( !ok, "Parsed '" << s << "' and got " << result << " when shouldnt have" ); - BOOST_CHECK_EQUAL(result,0.0f); + CHECK_MESSAGE( !ok, "Parsed '" << s << "' and got " << result << " when shouldnt have" ); + CHECK_EQ(result,0.0f); } @@ -167,30 +161,30 @@ BOOST_AUTO_TEST_CASE( parse_float ) float result; const char *txt = "3.2"; bool ok = SpecUtils::parse_float( txt, strlen(txt)-1, result ); - BOOST_CHECK( ok && result == 3.0f ); + CHECK( (ok && result == 3.0f) ); ok = SpecUtils::parse_float( txt, strlen(txt)-2, result ); - BOOST_CHECK( ok && result == 3.0f ); + CHECK( (ok && result == 3.0f) ); txt = " +3.256 "; ok = SpecUtils::parse_float( txt, strlen(txt)-3, result ); - BOOST_CHECK( ok && result == 3.2f ); + CHECK( (ok && result == 3.2f) ); txt = "\t0.2"; ok = SpecUtils::parse_float( txt, strlen(txt)-1, result ); - BOOST_CHECK( ok && result == 0.0f ); + CHECK( (ok && result == 0.0f) ); } { float result; bool ok = SpecUtils::parse_float( NULL, 0, result ); - BOOST_CHECK( !ok ); + CHECK( !ok ); } } /* -BOOST_AUTO_TEST_CASE( check_multi_dots ) +TEST_CASE( "check_multi_dots" ) { // As of 20240307, these checks wont pass. bool ok; @@ -201,17 +195,17 @@ BOOST_AUTO_TEST_CASE( check_multi_dots ) input = "661.7,-0.1.7,9.3"; inputlen = strlen( input ); ok = SpecUtils::split_to_floats( input, inputlen, results ); - BOOST_CHECK( !ok ); - BOOST_CHECK_EQUAL( results.size(), 2 ); + CHECK( !ok ); + CHECK_EQ( results.size(), 2 ); ok = SpecUtils::split_to_floats( input, results, ", ", false ); - BOOST_CHECK( !ok ); - BOOST_CHECK_EQUAL( results.size(), 2 ); + CHECK( !ok ); + CHECK_EQ( results.size(), 2 ); } */ -BOOST_AUTO_TEST_CASE( check_trailing_characters ) +TEST_CASE( "check_trailing_characters" ) { bool ok; vector results; @@ -223,76 +217,76 @@ BOOST_AUTO_TEST_CASE( check_trailing_characters ) vector good_input_vals{ 9.9, 88.3, 0, 10, 0.0, 9, -1, 0, 0.0, 0, 1 }; ok = SpecUtils::split_to_floats( input, inputlen, results ); - BOOST_CHECK( ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); ok = SpecUtils::split_to_floats( input, results, " ,\t\n", false ); - BOOST_CHECK( ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); input = "9.9 0.0 0 1 abs"; inputlen = strlen( input ); good_input_vals = vector{ 9.9, 0.0, 0, 1 }; ok = SpecUtils::split_to_floats( input, inputlen, results ); - BOOST_CHECK( !ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( !ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); ok = SpecUtils::split_to_floats( input, results, " ", false ); - BOOST_CHECK( !ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( !ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); input = "9.9 0.0 0 1 -"; inputlen = strlen( input ); good_input_vals = vector{ 9.9, 0.0, 0, 1 }; ok = SpecUtils::split_to_floats( input, inputlen, results ); - BOOST_CHECK( !ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( !ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); ok = SpecUtils::split_to_floats( input, results, " ", false ); - BOOST_CHECK( !ok ); + CHECK( !ok ); input = "9.9 0.0 0 1 +"; inputlen = strlen( input ); good_input_vals = vector{ 9.9, 0.0, 0, 1 }; ok = SpecUtils::split_to_floats( input, inputlen, results ); - BOOST_CHECK( !ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( !ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); ok = SpecUtils::split_to_floats( input, results, " ", false ); - BOOST_CHECK( !ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( !ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); input = "9.9 0.0 0 1 "; inputlen = strlen( input ); good_input_vals = vector{ 9.9, 0.0, 0, 1 }; ok = SpecUtils::split_to_floats( input, inputlen, results ); - BOOST_CHECK( ok ); - BOOST_CHECK_EQUAL( results.size(), good_input_vals.size() ); + CHECK( ok ); + CHECK_EQ( results.size(), good_input_vals.size() ); for( size_t i = 0; i < good_input_vals.size(); ++i ) - BOOST_CHECK_CLOSE( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); + CHECK_NEAR( results[i], good_input_vals[i], fabs(good_input_vals[i])*0.000001 ); } -BOOST_AUTO_TEST_CASE( split_to_floats_cambio_fix ) +TEST_CASE( "split_to_floats_cambio_fix" ) { const char *input = "9.9, 88.3, 0, 10, 0.0, 9, -1 0 0.0 0,0, 1"; @@ -303,45 +297,45 @@ BOOST_AUTO_TEST_CASE( split_to_floats_cambio_fix ) const bool without_fix_ok = SpecUtils::split_to_floats( input, without_fix, " ,\r\n\t", false ); - BOOST_CHECK( with_fix_ok ); - BOOST_CHECK( without_fix_ok ); + CHECK( with_fix_ok ); + CHECK( without_fix_ok ); - BOOST_CHECK_EQUAL( with_fix.size(), 12 ); - BOOST_CHECK_EQUAL( without_fix.size(), 12 ); + CHECK_EQ( with_fix.size(), 12 ); + CHECK_EQ( without_fix.size(), 12 ); - BOOST_CHECK_EQUAL( with_fix[2], 0.0f ); - BOOST_CHECK_EQUAL( without_fix[2], 0.0f ); + CHECK_EQ( with_fix[2], 0.0f ); + CHECK_EQ( without_fix[2], 0.0f ); - BOOST_CHECK_EQUAL( with_fix[3], 10.0f ); - BOOST_CHECK_EQUAL( without_fix[3], 10.0f ); + CHECK_EQ( with_fix[3], 10.0f ); + CHECK_EQ( without_fix[3], 10.0f ); - BOOST_CHECK_EQUAL( with_fix[4], FLT_MIN ); - BOOST_CHECK_EQUAL( without_fix[4], 0.0f ); + CHECK_EQ( with_fix[4], FLT_MIN ); + CHECK_EQ( without_fix[4], 0.0f ); - BOOST_CHECK_EQUAL( with_fix[5], 9.0f ); - BOOST_CHECK_EQUAL( without_fix[5], 9.0f ); + CHECK_EQ( with_fix[5], 9.0f ); + CHECK_EQ( without_fix[5], 9.0f ); - BOOST_CHECK_EQUAL( with_fix[6], -1.0f ); - BOOST_CHECK_EQUAL( without_fix[6], -1.0f ); + CHECK_EQ( with_fix[6], -1.0f ); + CHECK_EQ( without_fix[6], -1.0f ); - BOOST_CHECK_EQUAL( with_fix[7], 0.0f ); - BOOST_CHECK_EQUAL( without_fix[7], 0.0f ); + CHECK_EQ( with_fix[7], 0.0f ); + CHECK_EQ( without_fix[7], 0.0f ); - BOOST_CHECK_EQUAL( with_fix[8], FLT_MIN ); - BOOST_CHECK_EQUAL( without_fix[8], 0.0f ); + CHECK_EQ( with_fix[8], FLT_MIN ); + CHECK_EQ( without_fix[8], 0.0f ); - BOOST_CHECK_EQUAL( with_fix[9], 0.0f ); - BOOST_CHECK_EQUAL( without_fix[9], 0.0f ); + CHECK_EQ( with_fix[9], 0.0f ); + CHECK_EQ( without_fix[9], 0.0f ); - BOOST_CHECK_EQUAL( with_fix[10], 0.0f ); - BOOST_CHECK_EQUAL( without_fix[10], 0.0f ); + CHECK_EQ( with_fix[10], 0.0f ); + CHECK_EQ( without_fix[10], 0.0f ); - BOOST_CHECK_EQUAL( with_fix[11], 1.0f ); - BOOST_CHECK_EQUAL( without_fix[11], 1.0f ); + CHECK_EQ( with_fix[11], 1.0f ); + CHECK_EQ( without_fix[11], 1.0f ); } -BOOST_AUTO_TEST_CASE( shouldnt_parse_any_floats ) +TEST_CASE( "shouldnt_parse_any_floats" ) { const char *input_strings[] = { @@ -356,17 +350,17 @@ BOOST_AUTO_TEST_CASE( shouldnt_parse_any_floats ) string input_string = input_strings[i]; bool success = SpecUtils::split_to_floats( input_string, results ); -// BOOST_CHECK_EQUAL( success, false ); - BOOST_CHECK_EQUAL( results.size(), 0 ); +// CHECK_EQ( success, false ); + CHECK_EQ( results.size(), 0 ); success = SpecUtils::split_to_floats( &(input_string[0]), alt_results, " ,\r\n\t",false); -// BOOST_CHECK_EQUAL( success, false ); - BOOST_CHECK_EQUAL( alt_results.size(), 0 ); +// CHECK_EQ( success, false ); + CHECK_EQ( alt_results.size(), 0 ); } } -BOOST_AUTO_TEST_CASE( split_to_floats2 ) +TEST_CASE( "split_to_floats2" ) { string input_string2= "5.5, 4.5, 3.5"; float temp2[] = {5.5, 4.5, 3.5}; @@ -377,17 +371,17 @@ BOOST_AUTO_TEST_CASE( split_to_floats2 ) for(int i = 0; i < output_vector2.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector2[i],output_vector2[i]); + CHECK_EQ(comparison_vector2[i],output_vector2[i]); } for( int i = 0; i < alt_output_vector2.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector2[i],alt_output_vector2[i]); + CHECK_EQ(comparison_vector2[i],alt_output_vector2[i]); } } -BOOST_AUTO_TEST_CASE( split_to_floats3 ) +TEST_CASE( "split_to_floats3" ) { bool success; string input_string3= "0 1 2 3 0 1 2 3 0.0 1.0 2.0 3.0 0.0 1.0 2.0 3.0"; @@ -397,22 +391,22 @@ BOOST_AUTO_TEST_CASE( split_to_floats3 ) vector output_vector3,alt_output_vector3; vector comparison_vector3(temp3,temp3+16); success = SpecUtils::split_to_floats(input_string3,output_vector3); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); success = SpecUtils::split_to_floats(&(input_string3[0]),alt_output_vector3," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector3.size(), temp3_len ); - BOOST_CHECK_EQUAL( alt_output_vector3.size(), temp3_len ); + CHECK_EQ( output_vector3.size(), temp3_len ); + CHECK_EQ( alt_output_vector3.size(), temp3_len ); for( int i = 0; i < output_vector3.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector3[i],output_vector3[i]); + CHECK_EQ(comparison_vector3[i],output_vector3[i]); } for( int i = 0; i < alt_output_vector3.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector3[i],alt_output_vector3[i]); + CHECK_EQ(comparison_vector3[i],alt_output_vector3[i]); } @@ -423,22 +417,22 @@ BOOST_AUTO_TEST_CASE( split_to_floats3 ) vector output_vector4,alt_output_vector4; vector comparison_vector4(temp4,temp4+5); success = SpecUtils::split_to_floats(input_string4,output_vector4); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); success = SpecUtils::split_to_floats(&(input_string4[0]),alt_output_vector4," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector4.size(), temp4_len ); - BOOST_CHECK_EQUAL( alt_output_vector4.size(), temp4_len ); + CHECK_EQ( output_vector4.size(), temp4_len ); + CHECK_EQ( alt_output_vector4.size(), temp4_len ); for( int i = 0; i < output_vector4.size(); ++i) { - BOOST_CHECK_EQUAL(comparison_vector4[i],output_vector4[i]); + CHECK_EQ(comparison_vector4[i],output_vector4[i]); } for( int i=0; i < alt_output_vector4.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector4[i],alt_output_vector4[i]); + CHECK_EQ(comparison_vector4[i],alt_output_vector4[i]); } @@ -449,23 +443,23 @@ BOOST_AUTO_TEST_CASE( split_to_floats3 ) vector output_vector5,alt_output_vector5; vector comparison_vector5(temp5,temp5+3); success = SpecUtils::split_to_floats(input_string5,output_vector5); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); success = SpecUtils::split_to_floats(&(input_string5[0]),alt_output_vector5," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector5.size(), temp5_len ); - BOOST_CHECK_EQUAL( alt_output_vector5.size(), temp5_len ); + CHECK_EQ( output_vector5.size(), temp5_len ); + CHECK_EQ( alt_output_vector5.size(), temp5_len ); for( int i = 0; i < output_vector5.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector5[i],output_vector5[i]); + CHECK_EQ(comparison_vector5[i],output_vector5[i]); } for (int i=0;i output_vector6,alt_output_vector6; vector comparison_vector6(temp6,temp6+2); success = SpecUtils::split_to_floats(input_string6,output_vector6); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); success = SpecUtils::split_to_floats(&(input_string6[0]),alt_output_vector6," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector6.size(), temp6_len ); - BOOST_CHECK_EQUAL( alt_output_vector6.size(), temp6_len ); + CHECK_EQ( output_vector6.size(), temp6_len ); + CHECK_EQ( alt_output_vector6.size(), temp6_len ); for( int i = 0; i < output_vector6.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector6[i],output_vector6[i]); + CHECK_EQ(comparison_vector6[i],output_vector6[i]); } for( int i = 0; i < alt_output_vector6.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector6[i],alt_output_vector6[i]); + CHECK_EQ(comparison_vector6[i],alt_output_vector6[i]); } string input_string7= "5.5 4.67"; @@ -500,22 +494,22 @@ BOOST_AUTO_TEST_CASE( split_to_floats3 ) vector output_vector7,alt_output_vector7; vector comparison_vector7(temp7,temp7+2); success = SpecUtils::split_to_floats(input_string7,output_vector7); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); success = SpecUtils::split_to_floats(&(input_string7[0]),alt_output_vector7," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector7.size(), temp7_len ); - BOOST_CHECK_EQUAL( alt_output_vector7.size(), temp7_len ); + CHECK_EQ( output_vector7.size(), temp7_len ); + CHECK_EQ( alt_output_vector7.size(), temp7_len ); for( int i=0; i < output_vector7.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector7[i],output_vector7[i]); + CHECK_EQ(comparison_vector7[i],output_vector7[i]); } for( int i = 0; i < alt_output_vector7.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector7[i],alt_output_vector7[i]); + CHECK_EQ(comparison_vector7[i],alt_output_vector7[i]); } string input_string8= "5.5,4.5,,3.5,,,,,2.5"; @@ -525,22 +519,22 @@ BOOST_AUTO_TEST_CASE( split_to_floats3 ) vector output_vector8,alt_output_vector8; vector comparison_vector8(temp8,temp8+4); success = SpecUtils::split_to_floats(input_string8,output_vector8); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); success = SpecUtils::split_to_floats(&(input_string8[0]),alt_output_vector8," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector8.size(), temp8_len ); - BOOST_CHECK_EQUAL( alt_output_vector8.size(), temp8_len ); + CHECK_EQ( output_vector8.size(), temp8_len ); + CHECK_EQ( alt_output_vector8.size(), temp8_len ); for( int i = 0; i < output_vector8.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector8[i],output_vector8[i]); + CHECK_EQ(comparison_vector8[i],output_vector8[i]); } for( int i = 0; i < alt_output_vector8.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector8[i],alt_output_vector8[i]); + CHECK_EQ(comparison_vector8[i],alt_output_vector8[i]); } //Note that the value before the decimal point must be smaller than 4294967296 @@ -552,21 +546,21 @@ BOOST_AUTO_TEST_CASE( split_to_floats3 ) vector output_vector9, alt_output_vector9; success = SpecUtils::split_to_floats( input_string9, output_vector9 ); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); SpecUtils::split_to_floats(&(input_string9[0]),alt_output_vector9," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector9.size(), temp9_len ); - BOOST_CHECK_EQUAL( alt_output_vector9.size(), temp9_len ); + CHECK_EQ( output_vector9.size(), temp9_len ); + CHECK_EQ( alt_output_vector9.size(), temp9_len ); for(int i=0; i < output_vector9.size();++i) { - BOOST_CHECK_EQUAL(temp9[i],output_vector9[i]); + CHECK_EQ(temp9[i],output_vector9[i]); } for (int i=0;i output_vector10,alt_output_vector10; vector comparison_vector10(temp10,temp10+31); success = SpecUtils::split_to_floats( input_string10, output_vector10 ); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); success = SpecUtils::split_to_floats(&(input_string10[0]),alt_output_vector10," ,\r\n\t",false); - BOOST_CHECK_EQUAL( success, true ); + CHECK_EQ( success, true ); - BOOST_CHECK_EQUAL( output_vector10.size(), temp10_len); - BOOST_CHECK_EQUAL( alt_output_vector10.size(), temp10_len); + CHECK_EQ( output_vector10.size(), temp10_len); + CHECK_EQ( alt_output_vector10.size(), temp10_len); for( int i = 0; i < output_vector10.size(); ++i ) { - BOOST_CHECK_EQUAL(comparison_vector10[i],output_vector10[i]); + CHECK_EQ(comparison_vector10[i],output_vector10[i]); } for (int i=0;i #endif -#include - -#define BOOST_TEST_MODULE testUtilityStringFunctions -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT +#include "doctest.h" #include "SpecUtils/Filesystem.h" #include "SpecUtils/StringAlgo.h" #include "SpecUtils/ParseUtils.h" using namespace std; -using namespace boost::unit_test; -BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { +// I couldnt quite figure out how to access command line arguments +// from doctest, so we'll just work around it a bit. +vector g_cl_args; + + +int main(int argc, char** argv) +{ + for( int i = 0; i < argc; ++i ) + g_cl_args.push_back( argv[i] ); + + return doctest::Context(argc, argv).run(); +} + + +TEST_CASE( "testUtilityStringFunctions" ) { string indir; - const int argc = framework::master_test_suite().argc; - for( int i = 1; i < argc-1; ++i ) + for( size_t i = 1; (i+1) < g_cl_args.size(); ++i ) { - if( framework::master_test_suite().argv[i] == string("--indir") ) - indir = framework::master_test_suite().argv[i+1]; + if( g_cl_args[i] == string("--indir") ) + indir = g_cl_args[i+1]; } indir = "/Users/wcjohns/rad_ana/InterSpec_master/external_libs/SpecUtils/unit_tests/"; @@ -107,8 +113,8 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { while( SpecUtils::safe_get_line(utf8_output, line) ) correctOutput.emplace_back( std::move(line) ); - BOOST_REQUIRE_GT( tests.size(), 0 ); - BOOST_REQUIRE_GT( correctOutput.size(), 0 ); + REQUIRE_GT( tests.size(), 0 ); + REQUIRE_GT( correctOutput.size(), 0 ); //At the beggining of every line of test_string_functions_input.txt and @@ -120,35 +126,35 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "1" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "1" ); string test = tests[index1].substr(2); SpecUtils::trim(test); - BOOST_CHECK_EQUAL(test, correctOutput[index2].substr(2)); + CHECK_EQ(test, correctOutput[index2].substr(2)); index1++; index2++; }while( (index1 < tests.size()) && (index2 < correctOutput.size()) && tests[index1].substr(0, 1) == "1" ); // test empty string string s = ""; SpecUtils::trim(s); - BOOST_CHECK_EQUAL(s, ""); + CHECK_EQ(s, ""); // test string with only whitespace s = " "; SpecUtils::trim(s); - BOOST_CHECK_EQUAL(s, ""); + CHECK_EQ(s, ""); // tests for SpecUtils::to_lower(string &input) - 2 in text files do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "2" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "2" ); string test = tests[index1].substr(2); @@ -156,7 +162,7 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { if( SpecUtils::utf8_str_len(test.c_str(),test.size()) == test.size() ) { SpecUtils::to_lower_ascii(test); - BOOST_CHECK_EQUAL(test, correctOutput[index2].substr(2)); + CHECK_EQ(test, correctOutput[index2].substr(2)); } index1++; index2++; @@ -166,10 +172,10 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { // ASCII tests s = " "; SpecUtils::to_lower_ascii(s); - BOOST_CHECK_EQUAL(s, " "); + CHECK_EQ(s, " "); s = ""; SpecUtils::to_lower_ascii(s); - BOOST_CHECK_EQUAL(s, ""); + CHECK_EQ(s, ""); // tests for all printable ASCII characters string allASCII; @@ -186,24 +192,24 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { } SpecUtils::to_lower_ascii(allASCII); - BOOST_CHECK_EQUAL(allASCII, correctAllASCII); + CHECK_EQ(allASCII, correctAllASCII); // tests for ASCII escape characters s = '\t'; string correctS; correctS = '\t'; SpecUtils::to_lower_ascii(s); - BOOST_CHECK_EQUAL(s, correctS); + CHECK_EQ(s, correctS); s = '\n'; correctS = '\n'; SpecUtils::to_lower_ascii(s); - BOOST_CHECK_EQUAL(s, correctS); + CHECK_EQ(s, correctS); s = '\r'; correctS = '\r'; SpecUtils::to_lower_ascii(s); - BOOST_CHECK_EQUAL(s, correctS); + CHECK_EQ(s, correctS); // test of ASCII string of random lenth and random characters random_device r; @@ -226,7 +232,7 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { } SpecUtils::to_lower_ascii(random_ASCII); - BOOST_CHECK_EQUAL(random_ASCII, correct_random_ASCII); + CHECK_EQ(random_ASCII, correct_random_ASCII); // test for SpecUtils::to_upper_ascii(string &input) @@ -235,10 +241,10 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { // expected output is found in testUtilityStringFunctionsOutput.txt do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "3" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "3" ); string test = tests[index1].substr(2); @@ -246,7 +252,7 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { if( SpecUtils::utf8_str_len(test.c_str(),test.size()) == test.size() ) { SpecUtils::to_upper_ascii(test); - BOOST_CHECK_EQUAL(test, correctOutput[index2].substr(2)); + CHECK_EQ(test, correctOutput[index2].substr(2)); } index1++; index2++; @@ -255,11 +261,11 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { s = " "; SpecUtils::to_upper_ascii(s); - BOOST_CHECK_EQUAL(s, " "); + CHECK_EQ(s, " "); s= ""; SpecUtils::to_upper_ascii(s); - BOOST_CHECK_EQUAL(s, ""); + CHECK_EQ(s, ""); // test of all printable ASCII characters allASCII = ""; @@ -275,23 +281,23 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { correctAllASCII += (char)i; } SpecUtils::to_upper_ascii(allASCII); - BOOST_CHECK_EQUAL(allASCII, correctAllASCII); + CHECK_EQ(allASCII, correctAllASCII); // tests for ASCII escape characters s = '\t'; correctS = '\t'; SpecUtils::to_upper_ascii(s); - BOOST_CHECK_EQUAL(s, correctS); + CHECK_EQ(s, correctS); s = '\n'; correctS = '\n'; SpecUtils::to_upper_ascii(s); - BOOST_CHECK_EQUAL(s, correctS); + CHECK_EQ(s, correctS); s = '\r'; correctS = '\r'; SpecUtils::to_upper_ascii(s); - BOOST_CHECK_EQUAL(s, correctS); + CHECK_EQ(s, correctS); // test for ASCII string of random length with random characters random_length = (int)dist1(m1); @@ -310,17 +316,17 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { correct_random_ASCII += (char)(random); }// SpecUtils::to_upper_ascii(random_ASCII); - BOOST_CHECK_EQUAL(random_ASCII, correct_random_ASCII); + CHECK_EQ(random_ASCII, correct_random_ASCII); // tests for SpecUtils::iequals_ascii(const char *str, const char *test) // 4 in text file // each *str is tested with two *test with the first expected to pass and second to fail do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "4" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "4" ); string message; string test = tests[index1].substr(2); @@ -328,7 +334,7 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { if( SpecUtils::utf8_str_len(test.c_str(),test.size()) == test.size() ) { message = test + " " + correctOutput[index2].substr(2); - BOOST_CHECK_MESSAGE(SpecUtils::iequals_ascii(test.c_str(), correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(SpecUtils::iequals_ascii(test.c_str(), correctOutput[index2].substr(2).c_str()), message); } index2++; @@ -336,7 +342,7 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { if( SpecUtils::utf8_str_len(test.c_str(),test.size()) == test.size() ) { message = test + " " + correctOutput[index2].substr(2); - BOOST_CHECK_MESSAGE(!SpecUtils::iequals_ascii(test.c_str(), correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(!SpecUtils::iequals_ascii(test.c_str(), correctOutput[index2].substr(2).c_str()), message); } index1++; @@ -345,29 +351,29 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { s = " "; string q; - BOOST_CHECK( !SpecUtils::iequals_ascii(s.c_str(), q.c_str()) ); + CHECK( !SpecUtils::iequals_ascii(s.c_str(), q.c_str()) ); // tests for SpecUtils::contains(const string &line, const char *label) // 5 in text file // each &line is tested with two *label with the first expected to pass and second to fail do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "5" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "5" ); string test = tests[index1].substr(2); string message = test + " " + correctOutput[index2]; - BOOST_CHECK_MESSAGE(SpecUtils::contains(test, correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(SpecUtils::contains(test, correctOutput[index2].substr(2).c_str()), message); index2++; message = test + " " + correctOutput[index2]; - BOOST_CHECK_MESSAGE(!SpecUtils::contains(test, correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(!SpecUtils::contains(test, correctOutput[index2].substr(2).c_str()), message); index2++; index1++; } while( (index1 < tests.size()) && (index2 < correctOutput.size()) && tests[index1].substr(0,1) == "5" ); const char *e = ""; - BOOST_CHECK( SpecUtils::contains(q, e) ); + CHECK( SpecUtils::contains(q, e) ); // tests for SpecUtils::icontains(string &line, const char *label) @@ -375,17 +381,17 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { // each &line is tested with two *label with the first expected to pass and second to fail do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "6" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "6" ); string test = tests[index1].substr(2); string message = test + " " + correctOutput[index2]; - BOOST_CHECK_MESSAGE(SpecUtils::icontains(test, correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(SpecUtils::icontains(test, correctOutput[index2].substr(2).c_str()), message); index2++; message = test + " " + correctOutput[index2]; - BOOST_CHECK_MESSAGE(!SpecUtils::icontains(test, correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(!SpecUtils::icontains(test, correctOutput[index2].substr(2).c_str()), message); index2++; index1++; } while( (index1 < tests.size()) && (index2 < correctOutput.size()) && tests[index1].substr(0,1) == "6"); @@ -395,17 +401,17 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { // each &line is test with two *label with the first expected to pass and second to fail do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "7" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "7" ); string test = tests[index1].substr(2); string message = test + " " + correctOutput[index2]; - BOOST_CHECK_MESSAGE(SpecUtils::starts_with(test, correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(SpecUtils::starts_with(test, correctOutput[index2].substr(2).c_str()), message); index2++; message = test + " " + correctOutput[index2]; - BOOST_CHECK_MESSAGE(!SpecUtils::starts_with(test, correctOutput[index2].substr(2).c_str()), message); + CHECK_MESSAGE(!SpecUtils::starts_with(test, correctOutput[index2].substr(2).c_str()), message); index1++; index2++; }while( (index1 < tests.size()) && (index2 < correctOutput.size()) && tests[index1].substr(0,1) == "7"); @@ -414,10 +420,10 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { // 8 in text file do { - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "8" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "8" ); string input = tests[index1].substr(2); index1++; @@ -428,10 +434,10 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { SpecUtils::split(results, input, delims.c_str()); int expected_length = atoi(correctOutput[index2].substr(2).c_str()); int length = (int)(results.size()); - BOOST_CHECK_EQUAL(expected_length, length); + CHECK_EQ(expected_length, length); index2++; for(int i=0; i results; SpecUtils::split(results, input, delims); - BOOST_CHECK(results.size() == 1); - BOOST_CHECK_EQUAL(results[0], input); + CHECK(results.size() == 1); + CHECK_EQ(results[0], input); SpecUtils::split( results, ",,,hello how are,,", ", " ); - BOOST_CHECK_EQUAL(results.size(), 3); - BOOST_CHECK_EQUAL(results[0], "hello"); - BOOST_CHECK_EQUAL(results[1], "how"); - BOOST_CHECK_EQUAL(results[2], "are"); + CHECK_EQ(results.size(), 3); + CHECK_EQ(results[0], "hello"); + CHECK_EQ(results[1], "how"); + CHECK_EQ(results[2], "are"); SpecUtils::split( results, ",,,hello how are,,", "," ); - BOOST_CHECK_EQUAL(results.size(), 1); - BOOST_CHECK_EQUAL(results[0], "hello how are"); + CHECK_EQ(results.size(), 1); + CHECK_EQ(results[0], "hello how are"); SpecUtils::split( results, ",hello,, how are ", ", " ); - BOOST_CHECK_EQUAL(results.size(), 3); - BOOST_CHECK_EQUAL(results[0], "hello"); - BOOST_CHECK_EQUAL(results[1], "how"); - BOOST_CHECK_EQUAL(results[2], "are"); + CHECK_EQ(results.size(), 3); + CHECK_EQ(results[0], "hello"); + CHECK_EQ(results[1], "how"); + CHECK_EQ(results[2], "are"); SpecUtils::split( results, ", hello,, how are ", " ;" ); - BOOST_CHECK_EQUAL(results.size(), 4); - BOOST_CHECK_EQUAL(results[0], ","); - BOOST_CHECK_EQUAL(results[1], "hello,,"); - BOOST_CHECK_EQUAL(results[2], "how"); - BOOST_CHECK_EQUAL(results[3], "are"); + CHECK_EQ(results.size(), 4); + CHECK_EQ(results[0], ","); + CHECK_EQ(results[1], "hello,,"); + CHECK_EQ(results[2], "how"); + CHECK_EQ(results[3], "are"); SpecUtils::split( results, "hello, how, are,", "," ); - BOOST_CHECK_EQUAL(results.size(), 3); - BOOST_CHECK_EQUAL(results[0], "hello"); - BOOST_CHECK_EQUAL(results[1], " how"); - BOOST_CHECK_EQUAL(results[2], " are"); + CHECK_EQ(results.size(), 3); + CHECK_EQ(results[0], "hello"); + CHECK_EQ(results[1], " how"); + CHECK_EQ(results[2], " are"); input = "hello how are you doing 543 342 "; SpecUtils::split_no_delim_compress( results, input, "" ); - BOOST_CHECK(results.size() == 1); - BOOST_CHECK_EQUAL(results[0], input); + CHECK(results.size() == 1); + CHECK_EQ(results[0], input); input = "hello how are you doing 543 342 "; SpecUtils::split_no_delim_compress( results, input, "," ); - BOOST_CHECK(results.size() == 1); - BOOST_CHECK_EQUAL(results[0], input); + CHECK(results.size() == 1); + CHECK_EQ(results[0], input); input = ",,,hello how are you doing 543 342 ,,"; SpecUtils::split_no_delim_compress( results, input, "," ); - BOOST_CHECK(results.size() == 6); - BOOST_CHECK(results[0].empty()); - BOOST_CHECK(results[1].empty()); - BOOST_CHECK(results[2].empty()); - BOOST_CHECK_EQUAL(results[3], "hello how are you doing 543 342 "); - BOOST_CHECK(results[4].empty()); - BOOST_CHECK(results[5].empty()); + CHECK(results.size() == 6); + CHECK(results[0].empty()); + CHECK(results[1].empty()); + CHECK(results[2].empty()); + CHECK_EQ(results[3], "hello how are you doing 543 342 "); + CHECK(results[4].empty()); + CHECK(results[5].empty()); input = ",A, AAA"; SpecUtils::split_no_delim_compress( results, input, ", " ); - BOOST_CHECK(results.size() == 4); - BOOST_CHECK(results[0].empty()); - BOOST_CHECK_EQUAL(results[1], "A"); - BOOST_CHECK(results[2].empty()); - BOOST_CHECK_EQUAL(results[3], "AAA"); + CHECK(results.size() == 4); + CHECK(results[0].empty()); + CHECK_EQ(results[1], "A"); + CHECK(results[2].empty()); + CHECK_EQ(results[3], "AAA"); input = ",A, AAA "; SpecUtils::split_no_delim_compress( results, input, ", " ); - BOOST_CHECK( results.size() == 5 ); - BOOST_CHECK_EQUAL( results[3], "AAA" ); - BOOST_CHECK( results[4].empty() ); + CHECK( results.size() == 5 ); + CHECK_EQ( results[3], "AAA" ); + CHECK( results[4].empty() ); // tests for SpecUtils::ireplace_all(string &input, const char *pattern, const char *replacement) @@ -521,10 +527,10 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { //Got: '\x20\xffffffff\x5f\x5f\x25\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x25\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\xffffff9b\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x5f\x54\x54\x3c\x50\x4d\x54' (length 3e). - BOOST_REQUIRE_LT( index1, tests.size() ); - BOOST_REQUIRE_LT( index2, correctOutput.size() ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); - BOOST_REQUIRE_EQUAL( tests[index1].substr(0,1), "9" ); + REQUIRE_LT( index1, tests.size() ); + REQUIRE_LT( index2, correctOutput.size() ); + REQUIRE_EQ( tests[index1].substr(0,1), correctOutput[index2].substr(0,1) ); + REQUIRE_EQ( tests[index1].substr(0,1), "9" ); string input = tests[index1].substr(2); index1++; @@ -533,7 +539,7 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { string replacement = tests[index1].substr(2); index1++; SpecUtils::ireplace_all(input, pattern.c_str(), replacement.c_str()); - BOOST_CHECK_EQUAL(input, correctOutput[index2].substr(2)); + CHECK_EQ(input, correctOutput[index2].substr(2)); index2++; } while( (index1 < tests.size()) && (index2 < correctOutput.size()) && tests[index1].substr(0,1) == "9" ); @@ -547,100 +553,100 @@ BOOST_AUTO_TEST_CASE( testUtilityStringFunctions ) { } -BOOST_AUTO_TEST_CASE( checkIFind ) +TEST_CASE( "checkIFind" ) { string corpus = "Hello Dude"; const char *substr = "dude"; size_t correct_substr_pos = 6; size_t substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "Dude"; substr = "Dude"; correct_substr_pos = 0; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "Dude what"; substr = "Dude"; correct_substr_pos = 0; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "Dude what"; substr = " "; correct_substr_pos = 4; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "Dude what"; substr = "--"; correct_substr_pos = std::string::npos; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "--"; substr = "---"; correct_substr_pos = std::string::npos; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "-a--"; substr = "---"; correct_substr_pos = std::string::npos; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "-a--"; substr = "-"; correct_substr_pos = 0; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "-a--"; substr = "--"; correct_substr_pos = 2; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "A"; substr = "a"; correct_substr_pos = 0; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "Aa"; substr = "a"; correct_substr_pos = 0; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "A - BEACh"; substr = "bEACH"; correct_substr_pos = 4; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "shor"; substr = "LongerString"; correct_substr_pos = string::npos; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); + CHECK_EQ(substr_pos, correct_substr_pos); corpus = "12345"; substr = "23"; correct_substr_pos = 1; substr_pos = SpecUtils::ifind_substr_ascii(corpus, substr); - BOOST_CHECK_EQUAL(substr_pos, correct_substr_pos); -}//BOOST_AUTO_TEST_CASE( checkIFind ) + CHECK_EQ(substr_pos, correct_substr_pos); +}//TEST_CASE( checkIFind ) -BOOST_AUTO_TEST_CASE( testPrintCompact ) +TEST_CASE( "testPrintCompact" ) { using namespace std; @@ -715,61 +721,61 @@ BOOST_AUTO_TEST_CASE( testPrintCompact ) // // cout << endl << endl; // - BOOST_CHECK( SpecUtils::printCompact(1e-08,2) == "1E-8" ); - BOOST_CHECK( SpecUtils::printCompact(1e-05,7) == "1E-5" ); - BOOST_CHECK( SpecUtils::printCompact(1e-05,1) == "1E-5" ); - BOOST_CHECK( SpecUtils::printCompact(1.0001,3) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(1.0001,4) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(1.0001,5) == "1.0001" ); - BOOST_CHECK( SpecUtils::printCompact(1.0001,6) == "1.0001" ); - BOOST_CHECK( SpecUtils::printCompact(100000,2) == "1E5" ); - BOOST_CHECK( SpecUtils::printCompact(80999,2) == "80999" ); - BOOST_CHECK( SpecUtils::printCompact(89999,2) == "9E4" ); - BOOST_CHECK( SpecUtils::printCompact(99999,2) == "1E5" ); - BOOST_CHECK( SpecUtils::printCompact(100000,8) == "1E5" ); - BOOST_CHECK( SpecUtils::printCompact(1e+08,2) == "1E8" ); - BOOST_CHECK( SpecUtils::printCompact(1.2345,1) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(1.2345,2) == "1.2" ); - BOOST_CHECK( SpecUtils::printCompact(1.2345,3) == "1.23" ); - BOOST_CHECK( SpecUtils::printCompact(1.2345,4) == "1.234" ); - BOOST_CHECK( SpecUtils::printCompact(1.2345,5) == "1.2345" ); - BOOST_CHECK( SpecUtils::printCompact(1.2345,6) == "1.2345" ); - BOOST_CHECK( SpecUtils::printCompact(1.2345,7) == "1.2345" ); - BOOST_CHECK( SpecUtils::printCompact(1234.5,4) == "1234" ); - BOOST_CHECK( SpecUtils::printCompact(1234.5,5) == "1234.5" ); - BOOST_CHECK( SpecUtils::printCompact(1235.5,4) == "1236" ); - BOOST_CHECK( SpecUtils::printCompact(1235.5,5) == "1235.5" ); - BOOST_CHECK( SpecUtils::printCompact(-1234.5,5) == "-1234.5" ); - BOOST_CHECK( SpecUtils::printCompact(999.9,2) == "1E3" ); - BOOST_CHECK( SpecUtils::printCompact(999.9,3) == "1E3" ); - BOOST_CHECK( SpecUtils::printCompact(999.9,4) == "999.9" ); - BOOST_CHECK( SpecUtils::printCompact(999.9,5) == "999.9" ); - BOOST_CHECK( SpecUtils::printCompact(0.9999,1) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(0.9999,2) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(0.9999,3) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(0.9999,4) == "0.9999" ); - BOOST_CHECK( SpecUtils::printCompact(0.998,3) == "0.998" ); - BOOST_CHECK( SpecUtils::printCompact(0.998,2) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(0.998,1) == "1" ); - BOOST_CHECK( SpecUtils::printCompact(-0.998,3) == "-0.998" ); - BOOST_CHECK( SpecUtils::printCompact(-0.998,2) == "-1" ); - BOOST_CHECK( SpecUtils::printCompact(-0.998,1) == "-1" ); - BOOST_CHECK( SpecUtils::printCompact(1.998,1) == "2" ); - BOOST_CHECK( SpecUtils::printCompact(1.998,2) == "2" ); - BOOST_CHECK( SpecUtils::printCompact(1.998,3) == "2" ); - BOOST_CHECK( SpecUtils::printCompact(1.998,4) == "1.998" ); - BOOST_CHECK( SpecUtils::printCompact(-1.998,1) == "-2" ); - BOOST_CHECK( SpecUtils::printCompact(-1.998,2) == "-2" ); - BOOST_CHECK( SpecUtils::printCompact(-1.998,3) == "-2" ); - BOOST_CHECK( SpecUtils::printCompact(-1.998,4) == "-1.998" ); - BOOST_CHECK( SpecUtils::printCompact(0.00998,1) == "0.01" ); - BOOST_CHECK( SpecUtils::printCompact(0.00998,2) == "0.01" ); - BOOST_CHECK( SpecUtils::printCompact(0.00998,3) == "0.00998" ); - BOOST_CHECK( SpecUtils::printCompact(0.00998,4) == "0.00998" ); - BOOST_CHECK( SpecUtils::printCompact(0.00998,5) == "0.00998" ); - BOOST_CHECK( SpecUtils::printCompact(0.00998,6) == "0.00998" ); - BOOST_CHECK( SpecUtils::printCompact(std::numeric_limits::infinity(),6) == "inf" ); - BOOST_CHECK( SpecUtils::printCompact(std::numeric_limits::quiet_NaN(),6) == "nan" ); + CHECK( SpecUtils::printCompact(1e-08,2) == "1E-8" ); + CHECK( SpecUtils::printCompact(1e-05,7) == "1E-5" ); + CHECK( SpecUtils::printCompact(1e-05,1) == "1E-5" ); + CHECK( SpecUtils::printCompact(1.0001,3) == "1" ); + CHECK( SpecUtils::printCompact(1.0001,4) == "1" ); + CHECK( SpecUtils::printCompact(1.0001,5) == "1.0001" ); + CHECK( SpecUtils::printCompact(1.0001,6) == "1.0001" ); + CHECK( SpecUtils::printCompact(100000,2) == "1E5" ); + CHECK( SpecUtils::printCompact(80999,2) == "80999" ); + CHECK( SpecUtils::printCompact(89999,2) == "9E4" ); + CHECK( SpecUtils::printCompact(99999,2) == "1E5" ); + CHECK( SpecUtils::printCompact(100000,8) == "1E5" ); + CHECK( SpecUtils::printCompact(1e+08,2) == "1E8" ); + CHECK( SpecUtils::printCompact(1.2345,1) == "1" ); + CHECK( SpecUtils::printCompact(1.2345,2) == "1.2" ); + CHECK( SpecUtils::printCompact(1.2345,3) == "1.23" ); + CHECK( SpecUtils::printCompact(1.2345,4) == "1.234" ); + CHECK( SpecUtils::printCompact(1.2345,5) == "1.2345" ); + CHECK( SpecUtils::printCompact(1.2345,6) == "1.2345" ); + CHECK( SpecUtils::printCompact(1.2345,7) == "1.2345" ); + CHECK( SpecUtils::printCompact(1234.5,4) == "1234" ); + CHECK( SpecUtils::printCompact(1234.5,5) == "1234.5" ); + CHECK( SpecUtils::printCompact(1235.5,4) == "1236" ); + CHECK( SpecUtils::printCompact(1235.5,5) == "1235.5" ); + CHECK( SpecUtils::printCompact(-1234.5,5) == "-1234.5" ); + CHECK( SpecUtils::printCompact(999.9,2) == "1E3" ); + CHECK( SpecUtils::printCompact(999.9,3) == "1E3" ); + CHECK( SpecUtils::printCompact(999.9,4) == "999.9" ); + CHECK( SpecUtils::printCompact(999.9,5) == "999.9" ); + CHECK( SpecUtils::printCompact(0.9999,1) == "1" ); + CHECK( SpecUtils::printCompact(0.9999,2) == "1" ); + CHECK( SpecUtils::printCompact(0.9999,3) == "1" ); + CHECK( SpecUtils::printCompact(0.9999,4) == "0.9999" ); + CHECK( SpecUtils::printCompact(0.998,3) == "0.998" ); + CHECK( SpecUtils::printCompact(0.998,2) == "1" ); + CHECK( SpecUtils::printCompact(0.998,1) == "1" ); + CHECK( SpecUtils::printCompact(-0.998,3) == "-0.998" ); + CHECK( SpecUtils::printCompact(-0.998,2) == "-1" ); + CHECK( SpecUtils::printCompact(-0.998,1) == "-1" ); + CHECK( SpecUtils::printCompact(1.998,1) == "2" ); + CHECK( SpecUtils::printCompact(1.998,2) == "2" ); + CHECK( SpecUtils::printCompact(1.998,3) == "2" ); + CHECK( SpecUtils::printCompact(1.998,4) == "1.998" ); + CHECK( SpecUtils::printCompact(-1.998,1) == "-2" ); + CHECK( SpecUtils::printCompact(-1.998,2) == "-2" ); + CHECK( SpecUtils::printCompact(-1.998,3) == "-2" ); + CHECK( SpecUtils::printCompact(-1.998,4) == "-1.998" ); + CHECK( SpecUtils::printCompact(0.00998,1) == "0.01" ); + CHECK( SpecUtils::printCompact(0.00998,2) == "0.01" ); + CHECK( SpecUtils::printCompact(0.00998,3) == "0.00998" ); + CHECK( SpecUtils::printCompact(0.00998,4) == "0.00998" ); + CHECK( SpecUtils::printCompact(0.00998,5) == "0.00998" ); + CHECK( SpecUtils::printCompact(0.00998,6) == "0.00998" ); + CHECK( SpecUtils::printCompact(std::numeric_limits::infinity(),6) == "inf" ); + CHECK( SpecUtils::printCompact(std::numeric_limits::quiet_NaN(),6) == "nan" ); auto check_range = []( const double lower, const double upper ){ const size_t nchecks = 100; @@ -785,14 +791,14 @@ BOOST_AUTO_TEST_CASE( testPrintCompact ) double readinval; const int nread = sscanf( strval.c_str(), "%lf", &readinval ); - BOOST_CHECK( nread == 1 ); + CHECK( nread == 1 ); const double eps = 0.5 * std::pow(10.0, -(nsig - 1)) * fabs(number); //Example: if number is 1.2345E12 --> 1234.5E9, printed to 4 sig figs, then eps is 0.5*1.2345E9 - BOOST_CHECK( fabs( fabs(number) - fabs(readinval) ) <= eps ); - BOOST_CHECK( number==0.0 || readinval==0.0 || (std::signbit(number) == std::signbit(readinval)) ); + CHECK( fabs( fabs(number) - fabs(readinval) ) <= eps ); + CHECK( (number==0.0 || readinval==0.0 || (std::signbit(number) == std::signbit(readinval))) ); } };//check_range(...) diff --git a/unit_tests/test_time_from_string.cpp b/unit_tests/test_time_from_string.cpp index c9c3539..b59f05d 100644 --- a/unit_tests/test_time_from_string.cpp +++ b/unit_tests/test_time_from_string.cpp @@ -29,17 +29,9 @@ #include #include -#include -#include - - -#define BOOST_TEST_MODULE TestTimeFromString -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT +#include "doctest.h" #include "SpecUtils/DateTime.h" #include "SpecUtils/StringAlgo.h" @@ -48,23 +40,32 @@ using namespace std; -using namespace boost::unit_test; -using namespace boost::posix_time; -using namespace boost::gregorian; +// I couldnt quite figure out how to access command line arguments +// from doctest, so we'll just work around it a bit. +vector g_cl_args; + + +int main(int argc, char** argv) +{ + for( int i = 0; i < argc; ++i ) + g_cl_args.push_back( argv[i] ); + + return doctest::Context(argc, argv).run(); +} void compare_delim_duration_from_str( const string test, const double truth ) { const double dur = SpecUtils::delimited_duration_string_to_seconds( test ); - BOOST_CHECK_MESSAGE( fabs(truth - dur) < 1.0E-7*fabs(truth), + CHECK_MESSAGE( fabs(truth - dur) < 1.0E-7*fabs(truth), "Delimited duration formatted '" << test << "' gave " << dur << " seconds, while we expected " << truth << " seconds (diff of " << fabs(truth - dur) << ")." ); }//compare_delim_duration_from_str(...) -BOOST_AUTO_TEST_CASE(durationFromString) +TEST_CASE( "Duration From String" ) { const double minute = 60; const double hour = 3600; @@ -98,29 +99,29 @@ BOOST_AUTO_TEST_CASE(durationFromString) compare_delim_duration_from_str(" 5:0:1.0 ", 5*hour + 1 ); compare_delim_duration_from_str(" -1:0:0 ", -1*hour ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds(":"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds(":32"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds(":32:16"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("--01:32:16"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:32a"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("a 12:32"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds(" a 12:32"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds(" a12:32"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12::1"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12::1:"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:01:-2"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:01:2a"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:32:"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:-32:15.121"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds(":"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("123:60"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("123:61"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("a12:01"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:01a"), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:01a "), std::exception ); - BOOST_CHECK_THROW( SpecUtils::delimited_duration_string_to_seconds("12:01 a"), std::exception ); -}//BOOST_AUTO_TEST_CASE(durationFromString) + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds(":"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds(":32"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds(":32:16"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("--01:32:16"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:32a"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("a 12:32"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds(" a 12:32"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds(" a12:32"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12::1"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12::1:"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:01:-2"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:01:2a"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:32:"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:-32:15.121"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds(":"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("123:60"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("123:61"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("a12:01"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:01a"), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:01a "), std::exception ); + CHECK_THROWS_AS( SpecUtils::delimited_duration_string_to_seconds("12:01 a"), std::exception ); +}//TEST_CASE(durationFromString) void compare_from_str( const string test, const string truth ) { @@ -130,9 +131,9 @@ void compare_from_str( const string test, const string truth ) const string test_fmt_str = SpecUtils::to_iso_string(testptime); const string truth_fmt_str = SpecUtils::to_iso_string(truthptime); - BOOST_REQUIRE_MESSAGE( !SpecUtils::is_special(truthptime), "Truth datetime ('" << truth << "') is invalid" ); + REQUIRE_MESSAGE( !SpecUtils::is_special(truthptime), "Truth datetime ('" << truth << "') is invalid" ); - BOOST_CHECK_MESSAGE( test_fmt_str==truth_fmt_str, + CHECK_MESSAGE( test_fmt_str==truth_fmt_str, "Date formatted '" << test << "' gave datetime '" << test_fmt_str << "' while we expected '" << truth_fmt_str << "' from ('" << truth << "')" ); }//void compare_from_str( const string test, const string truth ) @@ -426,18 +427,17 @@ void minimalTestFormats() }//void minimalTestFormats() -BOOST_AUTO_TEST_CASE(timeFromString) +TEST_CASE( "Time From String" ) { minimalTestFormats(); // "datetimes.txt" contains a lot of date/times that could be seen in spectrum files string indir, input_filename = ""; - const int argc = framework::master_test_suite().argc; - for( int i = 1; i < argc-1; ++i ) + for( size_t i = 1; i < g_cl_args.size()-1; ++i ) { - if( framework::master_test_suite().argv[i] == string("--indir") ) - indir = framework::master_test_suite().argv[i+1]; + if( g_cl_args[i] == string("--indir") ) + indir = g_cl_args[i+1]; } // We will look for "datetimes.txt", in a not-so-elegant way @@ -463,13 +463,13 @@ BOOST_AUTO_TEST_CASE(timeFromString) input_filename = potential; } - BOOST_REQUIRE_MESSAGE( !input_filename.empty(), + REQUIRE_MESSAGE( !input_filename.empty(), "Failed to find input text test file datetimes.txt - you may need to specify the '--indir' command line argument" ); vector original_string, iso_string; ifstream file( input_filename.c_str() ); - BOOST_REQUIRE_MESSAGE( file.is_open(), "Failed to open input text test file '" << input_filename << "'" ); + REQUIRE_MESSAGE( file.is_open(), "Failed to open input text test file '" << input_filename << "'" ); string line; while( SpecUtils::safe_get_line(file, line) ) @@ -482,8 +482,8 @@ BOOST_AUTO_TEST_CASE(timeFromString) if( fields.size() != 2 ) { - cerr << "Input line invalid: '" << line << "' should have to fields seprated by a comma" << endl; - continue; + cerr << "Input line invalid: '" << line << "' should have to fields separated by a comma" << endl; + continue; } original_string.push_back( fields[0] ); @@ -493,7 +493,7 @@ BOOST_AUTO_TEST_CASE(timeFromString) assert( original_string.size() == iso_string.size() ); //BOOST_TEST_MESSAGE( "Will test formats: " << iso_string.size() ); - BOOST_REQUIRE( original_string.size() > 100 ); + REQUIRE( original_string.size() > 100 ); //convert string to ptime object then convert back to string for( size_t i = 0; i < original_string.size(); ++i ) @@ -508,9 +508,9 @@ BOOST_AUTO_TEST_CASE(timeFromString) //bool pass = "not-a-date-time"==s; - BOOST_CHECK_MESSAGE( orig_fmt_answ==iso_fmt_answ, "failed line " << i << " '" + CHECK_MESSAGE( orig_fmt_answ==iso_fmt_answ, "failed line " << i << " '" << (orig_fmt_str+","+iso_frmt_str) << "' which gave '" << orig_fmt_answ_str << "' and '" << iso_fmt_answ_str << "'" ); } - BOOST_TEST_MESSAGE( "Tested " << original_string.size() << " input strings" ); + MESSAGE( "Tested " << original_string.size() << " input strings" ); } diff --git a/unit_tests/test_uri_spectrum.cpp b/unit_tests/test_uri_spectrum.cpp index 18d7567..1562ef8 100755 --- a/unit_tests/test_uri_spectrum.cpp +++ b/unit_tests/test_uri_spectrum.cpp @@ -32,15 +32,8 @@ #include #endif -#include -#include - -#define BOOST_TEST_MODULE TestUriSpectrum -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include "SpecUtils/DateTime.h" @@ -48,13 +41,17 @@ #include "SpecUtils/StringAlgo.h" #include "SpecUtils/UriSpectrum.h" +#if( PERFORM_DEVELOPER_CHECKS ) +#include +#endif + using namespace std; using namespace SpecUtils; -using namespace boost::unit_test; - +#define CHECK_FRACTIONALLY_NEAR(a,b,c) do{ CHECK( fabs(a-b) <= c*std::max(fabs(a),fabs(b)) ); }while(0); +#define CHECK_NEAR(a,b,c) do{ CHECK( fabs(a-b) <= fabs(c) ); }while(0); -BOOST_AUTO_TEST_CASE( testDeflate ) { +TEST_CASE( "testDeflate" ) { random_device rnd_device; mt19937 mersenne_engine{ rnd_device() }; uniform_int_distribution length_dist{1, 1024*5}; @@ -74,9 +71,9 @@ BOOST_AUTO_TEST_CASE( testDeflate ) { deflate_compress( (const void *)original_data.data(), original_data.size(), compressed_data ); string decompressed_data; - BOOST_CHECK_NO_THROW( deflate_decompress( (void *)&(compressed_data[0]), compressed_data.size(), decompressed_data ) ); + CHECK_NOTHROW( deflate_decompress( (void *)&(compressed_data[0]), compressed_data.size(), decompressed_data ) ); - BOOST_CHECK_EQUAL( original_data, decompressed_data ); + CHECK_EQ( original_data, decompressed_data ); }//for( create a bunch of random strings ) @@ -86,15 +83,15 @@ BOOST_AUTO_TEST_CASE( testDeflate ) { string expected = "SpecUtils implements spectrum URI and QR codes."; string decompressed; - BOOST_CHECK_NO_THROW( deflate_decompress( (void *)&(compressed[0]), compressed.size(), decompressed ) ); + CHECK_NOTHROW( deflate_decompress( (void *)&(compressed[0]), compressed.size(), decompressed ) ); - BOOST_CHECK_EQUAL( decompressed, expected ); + CHECK_EQ( decompressed, expected ); // TODO: add test case of compressing and checking that it gets to be a known value -}//BOOST_AUTO_TEST_CASE( testBinaryEncodings ) +}//TEST_CASE( testBinaryEncodings ) -BOOST_AUTO_TEST_CASE( testSpectrumUriEncodings ) { +TEST_CASE( "testSpectrumUriEncodings" ) { //std::shared_ptr to_spec_file( const std::vector &meas ); @@ -103,46 +100,46 @@ BOOST_AUTO_TEST_CASE( testSpectrumUriEncodings ) { // std::vector> specs, // std::string detector_model ); -}//BOOST_AUTO_TEST_CASE( testSpectrumUriEncodings ) +}//TEST_CASE( testSpectrumUriEncodings ) void test_equalish( const UrlSpectrum &orig, const UrlSpectrum &decoded, const bool is_first ) { - BOOST_CHECK( orig.m_source_type == decoded.m_source_type ); - BOOST_REQUIRE( orig.m_energy_cal_coeffs.size() == decoded.m_energy_cal_coeffs.size() ); + CHECK( orig.m_source_type == decoded.m_source_type ); + REQUIRE( orig.m_energy_cal_coeffs.size() == decoded.m_energy_cal_coeffs.size() ); for( size_t cal_index = 0; cal_index < orig.m_energy_cal_coeffs.size(); ++cal_index ) { - BOOST_CHECK_CLOSE( orig.m_energy_cal_coeffs[cal_index], decoded.m_energy_cal_coeffs[cal_index], 0.01 ); + CHECK_FRACTIONALLY_NEAR( orig.m_energy_cal_coeffs[cal_index], decoded.m_energy_cal_coeffs[cal_index], 0.0001 ); } - BOOST_REQUIRE( orig.m_dev_pairs.size() == decoded.m_dev_pairs.size() ); + REQUIRE( orig.m_dev_pairs.size() == decoded.m_dev_pairs.size() ); for( size_t cal_index = 0; cal_index < orig.m_dev_pairs.size(); ++cal_index ) { - BOOST_CHECK_CLOSE( orig.m_dev_pairs[cal_index].first, decoded.m_dev_pairs[cal_index].first, 0.01 ); - BOOST_CHECK_CLOSE( orig.m_dev_pairs[cal_index].second, decoded.m_dev_pairs[cal_index].second, 0.01 ); + CHECK_FRACTIONALLY_NEAR( orig.m_dev_pairs[cal_index].first, decoded.m_dev_pairs[cal_index].first, 0.0001 ); + CHECK_FRACTIONALLY_NEAR( orig.m_dev_pairs[cal_index].second, decoded.m_dev_pairs[cal_index].second, 0.0001 ); } - BOOST_CHECK( orig.m_model == decoded.m_model ); - BOOST_CHECK( orig.m_title == decoded.m_title ); + CHECK( orig.m_model == decoded.m_model ); + CHECK( orig.m_title == decoded.m_title ); const auto tdiff = orig.m_start_time - decoded.m_start_time; - BOOST_CHECK( (tdiff < std::chrono::seconds(2)) && (tdiff > std::chrono::seconds(-2)) ); + CHECK( ((tdiff < std::chrono::seconds(2)) && (tdiff > std::chrono::seconds(-2))) ); - BOOST_CHECK_CLOSE( orig.m_latitude, decoded.m_latitude, 0.01 ); - BOOST_CHECK_CLOSE( orig.m_longitude, decoded.m_longitude, 0.01 ); + CHECK_FRACTIONALLY_NEAR( orig.m_latitude, decoded.m_latitude, 0.0001 ); + CHECK_FRACTIONALLY_NEAR( orig.m_longitude, decoded.m_longitude, 0.0001 ); - BOOST_CHECK( orig.m_neut_sum == decoded.m_neut_sum ); + CHECK( orig.m_neut_sum == decoded.m_neut_sum ); - BOOST_CHECK_CLOSE( orig.m_live_time, decoded.m_live_time, 0.01 ); - BOOST_CHECK_CLOSE( orig.m_real_time, decoded.m_real_time, 0.01 ); + CHECK_FRACTIONALLY_NEAR( orig.m_live_time, decoded.m_live_time, 0.0001 ); + CHECK_FRACTIONALLY_NEAR( orig.m_real_time, decoded.m_real_time, 0.0001 ); - BOOST_CHECK( orig.m_channel_data == decoded.m_channel_data ); + CHECK( orig.m_channel_data == decoded.m_channel_data ); }//void test_equalish( const UrlSpectrum &lhs, const UrlSpectrum &rhs, const bool is_first ) -BOOST_AUTO_TEST_CASE( SimpleSpecEncode ) +TEST_CASE( "SimpleSpecEncode" ) { UrlSpectrum spec; @@ -164,32 +161,32 @@ BOOST_AUTO_TEST_CASE( SimpleSpecEncode ) const uint8_t encode_options = 0; vector encoded; - BOOST_REQUIRE_NO_THROW( encoded = url_encode_spectra( {spec}, encode_options, 1 ) ); - BOOST_REQUIRE( encoded.size() == 1 ); + REQUIRE_NOTHROW( encoded = url_encode_spectra( {spec}, encode_options, 1 ) ); + REQUIRE( encoded.size() == 1 ); vector decoded; - BOOST_REQUIRE_NO_THROW( decoded = decode_spectrum_urls( { url_decode( encoded[0] ) } ) ); - BOOST_REQUIRE( decoded.size() == 1 ); + REQUIRE_NOTHROW( decoded = decode_spectrum_urls( { url_decode( encoded[0] ) } ) ); + REQUIRE( decoded.size() == 1 ); test_equalish( spec, decoded[0], true ); EncodedSpectraInfo url_info; - BOOST_REQUIRE_NO_THROW( url_info = get_spectrum_url_info( url_decode( encoded[0] ) ) ); - BOOST_CHECK_EQUAL( url_info.m_encode_options, encode_options ); - BOOST_CHECK_EQUAL( url_info.m_num_spectra, 1 ); - BOOST_CHECK_EQUAL( url_info.m_url_num, 0 ); - BOOST_CHECK_EQUAL( url_info.m_number_urls, 1 ); - BOOST_CHECK_EQUAL( url_info.m_crc, 0 ); - BOOST_CHECK_EQUAL( url_info.m_orig_url, url_decode(encoded[0]) ); + REQUIRE_NOTHROW( url_info = get_spectrum_url_info( url_decode( encoded[0] ) ) ); + CHECK_EQ( url_info.m_encode_options, encode_options ); + CHECK_EQ( url_info.m_num_spectra, 1 ); + CHECK_EQ( url_info.m_url_num, 0 ); + CHECK_EQ( url_info.m_number_urls, 1 ); + CHECK_EQ( url_info.m_crc, 0 ); + CHECK_EQ( url_info.m_orig_url, url_decode(encoded[0]) ); //url_info.m_raw_data; //url_info.m_data; -}//BOOST_AUTO_TEST_CASE( SimpleSpecEncode ) +}//TEST_CASE( SimpleSpecEncode ) -BOOST_AUTO_TEST_CASE( TestEncodeOptions ) +TEST_CASE( "TestEncodeOptions" ) { UrlSpectrum spec; @@ -231,8 +228,8 @@ BOOST_AUTO_TEST_CASE( TestEncodeOptions ) for( const uint8_t encode_options : encode_opts ) { vector encoded; - BOOST_REQUIRE_NO_THROW( encoded = url_encode_spectra( {spec}, encode_options, 1 ) ); - BOOST_REQUIRE( encoded.size() == 1 ); + REQUIRE_NOTHROW( encoded = url_encode_spectra( {spec}, encode_options, 1 ) ); + REQUIRE( encoded.size() == 1 ); string uri = encoded[0]; @@ -241,20 +238,20 @@ BOOST_AUTO_TEST_CASE( TestEncodeOptions ) size_t pos = uri.find( "raddata://" ); if( pos == string::npos ) pos = uri.find( "RADDATA://" ); - BOOST_REQUIRE( pos != string::npos ); + REQUIRE( pos != string::npos ); uri = uri.substr( pos ); uri = url_decode( uri ); } vector decoded; - BOOST_REQUIRE_NO_THROW( decoded = decode_spectrum_urls( { url_decode( uri ) } ) ); - BOOST_REQUIRE( decoded.size() == 1 ); + REQUIRE_NOTHROW( decoded = decode_spectrum_urls( { url_decode( uri ) } ) ); + REQUIRE( decoded.size() == 1 ); test_equalish( spec, decoded[0], true ); } -}//BOOST_AUTO_TEST_CASE( TestEncodeOptions ) +}//TEST_CASE( TestEncodeOptions ) -BOOST_AUTO_TEST_CASE( TestNonAsciiTitleAndModelStrings ) +TEST_CASE( "TestNonAsciiTitleAndModelStrings" ) { UrlSpectrum spec; @@ -275,19 +272,19 @@ BOOST_AUTO_TEST_CASE( TestNonAsciiTitleAndModelStrings ) for( const uint8_t encode_options : encode_opts ) { vector encoded; - BOOST_REQUIRE_NO_THROW( encoded = url_encode_spectra( {spec}, encode_options, 1 ) ); - BOOST_REQUIRE( encoded.size() == 1 ); + REQUIRE_NOTHROW( encoded = url_encode_spectra( {spec}, encode_options, 1 ) ); + REQUIRE( encoded.size() == 1 ); vector decoded; - BOOST_REQUIRE_NO_THROW( decoded = decode_spectrum_urls( { url_decode( encoded[0] ) } ) ); - BOOST_REQUIRE( decoded.size() == 1 ); + REQUIRE_NOTHROW( decoded = decode_spectrum_urls( { url_decode( encoded[0] ) } ) ); + REQUIRE( decoded.size() == 1 ); test_equalish( spec, decoded[0], true ); } -}//BOOST_AUTO_TEST_CASE( TestNonAsciiTitleAndModelStrings ) +}//TEST_CASE( TestNonAsciiTitleAndModelStrings ) -BOOST_AUTO_TEST_CASE( MultiUriSpectrum ) +TEST_CASE( "MultiUriSpectrum" ) { UrlSpectrum spec; @@ -310,9 +307,9 @@ BOOST_AUTO_TEST_CASE( MultiUriSpectrum ) const uint8_t encode_options = 0; const size_t num_parts = 9; // We could maybe get away with encoded.size() == 7, but we'll stretch to 9 vector encoded; - BOOST_REQUIRE_NO_THROW( encoded = url_encode_spectra( {spec}, encode_options, num_parts ) ); + REQUIRE_NOTHROW( encoded = url_encode_spectra( {spec}, encode_options, num_parts ) ); - BOOST_REQUIRE( encoded.size() == num_parts ); + REQUIRE( encoded.size() == num_parts ); vector urls; string total_uri; @@ -322,15 +319,15 @@ BOOST_AUTO_TEST_CASE( MultiUriSpectrum ) urls.push_back( unencoded ); const size_t g0_pos = unencoded.find( "G0/" ); - BOOST_REQUIRE( g0_pos != string::npos ); - BOOST_CHECK_LT( g0_pos, 120 ); + REQUIRE( g0_pos != string::npos ); + CHECK_LT( g0_pos, 120 ); total_uri += unencoded.substr(g0_pos + 3); } vector decoded; - BOOST_REQUIRE_NO_THROW( decoded = decode_spectrum_urls( urls ) ); - BOOST_REQUIRE( decoded.size() == 1 ); + REQUIRE_NOTHROW( decoded = decode_spectrum_urls( urls ) ); + REQUIRE( decoded.size() == 1 ); test_equalish( spec, decoded[0], true ); @@ -338,20 +335,20 @@ BOOST_AUTO_TEST_CASE( MultiUriSpectrum ) for( size_t i = 0; i < urls.size(); ++i ) { EncodedSpectraInfo url_info; - BOOST_REQUIRE_NO_THROW( url_info = get_spectrum_url_info( urls[i] ) ); - BOOST_CHECK_EQUAL( url_info.m_encode_options, encode_options ); - BOOST_CHECK_EQUAL( url_info.m_num_spectra, 1 ); - BOOST_CHECK_EQUAL( url_info.m_url_num, i ); - BOOST_CHECK_EQUAL( url_info.m_number_urls, num_parts ); - //BOOST_CHECK_EQUAL( url_info.m_crc, expected_crc ); TODO: fix this! - BOOST_CHECK_EQUAL( url_info.m_orig_url, urls[i] ); + REQUIRE_NOTHROW( url_info = get_spectrum_url_info( urls[i] ) ); + CHECK_EQ( url_info.m_encode_options, encode_options ); + CHECK_EQ( url_info.m_num_spectra, 1 ); + CHECK_EQ( url_info.m_url_num, i ); + CHECK_EQ( url_info.m_number_urls, num_parts ); + //CHECK_EQ( url_info.m_crc, expected_crc ); TODO: fix this! + CHECK_EQ( url_info.m_orig_url, urls[i] ); //first_url_info.m_raw_data; //first_url_info.m_data; }//for( size_t i = 0; i < urls.size(); ++i ) -}//BOOST_AUTO_TEST_CASE( SimpleSpecEncode ) +}//TEST_CASE( SimpleSpecEncode ) -BOOST_AUTO_TEST_CASE( TwoSpectrumEncode ) +TEST_CASE( "TwoSpectrumEncode" ) { UrlSpectrum spec, back; @@ -382,15 +379,15 @@ BOOST_AUTO_TEST_CASE( TwoSpectrumEncode ) // Dont set the second spectrums energy calibration to same as first to check that its assigned during decode since same model detector - BOOST_REQUIRE( spec.m_channel_data.size() == back.m_channel_data.size() ); + REQUIRE( spec.m_channel_data.size() == back.m_channel_data.size() ); const uint8_t encode_options = 0; vector encoded; - BOOST_REQUIRE_NO_THROW( encoded = url_encode_spectra( {spec, back}, encode_options, 1 ) ); - BOOST_REQUIRE( encoded.size() == 1 ); + REQUIRE_NOTHROW( encoded = url_encode_spectra( {spec, back}, encode_options, 1 ) ); + REQUIRE( encoded.size() == 1 ); const vector decoded = decode_spectrum_urls( { url_decode( encoded[0] ) } ); - BOOST_REQUIRE( decoded.size() == 2 ); + REQUIRE( decoded.size() == 2 ); // Now setup the values we expect decoded from background UrlSpectrum expected_back = back; @@ -404,20 +401,20 @@ BOOST_AUTO_TEST_CASE( TwoSpectrumEncode ) EncodedSpectraInfo url_info; - BOOST_REQUIRE_NO_THROW( url_info = get_spectrum_url_info( url_decode( encoded[0] ) ) ); + REQUIRE_NOTHROW( url_info = get_spectrum_url_info( url_decode( encoded[0] ) ) ); - BOOST_CHECK_EQUAL( url_info.m_encode_options, encode_options ); - BOOST_CHECK_EQUAL( url_info.m_num_spectra, 2 ); - BOOST_CHECK_EQUAL( url_info.m_url_num, 0 ); - BOOST_CHECK_EQUAL( url_info.m_number_urls, 1 ); - //BOOST_CHECK_EQUAL( url_info.m_crc, 0 ); - BOOST_CHECK_EQUAL( url_info.m_orig_url, url_decode(encoded[0]) ); + CHECK_EQ( url_info.m_encode_options, encode_options ); + CHECK_EQ( url_info.m_num_spectra, 2 ); + CHECK_EQ( url_info.m_url_num, 0 ); + CHECK_EQ( url_info.m_number_urls, 1 ); + //CHECK_EQ( url_info.m_crc, 0 ); + CHECK_EQ( url_info.m_orig_url, url_decode(encoded[0]) ); -}//BOOST_AUTO_TEST_CASE( TwoSpectrumEncode ) +}//TEST_CASE( TwoSpectrumEncode ) -BOOST_AUTO_TEST_CASE( TestFromUri ) +TEST_CASE( "TestFromUri" ) { // URI taken from figure 0-1 of "Draft Specification for Representing Gamma Radiation Spectra in QR codes, v1.1" @@ -450,90 +447,90 @@ BOOST_AUTO_TEST_CASE( TestFromUri ) EncodedSpectraInfo url_info; - BOOST_REQUIRE_NO_THROW( url_info = get_spectrum_url_info( url_decode( test_uri ) ) ); - - BOOST_CHECK_EQUAL( url_info.m_encode_options, 0 ); - BOOST_CHECK_EQUAL( url_info.m_num_spectra, 2 ); - BOOST_CHECK_EQUAL( url_info.m_url_num, 0 ); - BOOST_CHECK_EQUAL( url_info.m_number_urls, 1 ); - BOOST_CHECK_EQUAL( url_info.m_crc, 0 ); - BOOST_CHECK_EQUAL( url_info.m_orig_url, url_decode(test_uri) ); + REQUIRE_NOTHROW( url_info = get_spectrum_url_info( url_decode( test_uri ) ) ); + + CHECK_EQ( url_info.m_encode_options, 0 ); + CHECK_EQ( url_info.m_num_spectra, 2 ); + CHECK_EQ( url_info.m_url_num, 0 ); + CHECK_EQ( url_info.m_number_urls, 1 ); + CHECK_EQ( url_info.m_crc, 0 ); + CHECK_EQ( url_info.m_orig_url, url_decode(test_uri) ); //url_info.m_raw_data; //url_info.m_data; vector decoded; - BOOST_REQUIRE_NO_THROW( decoded = decode_spectrum_urls( {url_decode(test_uri)} ) ); + REQUIRE_NOTHROW( decoded = decode_spectrum_urls( {url_decode(test_uri)} ) ); - BOOST_REQUIRE( decoded.size() == 2 ); + REQUIRE( decoded.size() == 2 ); const auto &fore = decoded[0]; const auto &back = decoded[1]; - BOOST_CHECK_CLOSE( fore.m_live_time, 119.84, 0.01 ); - BOOST_CHECK_CLOSE( fore.m_real_time, 120, 0.01 ); + CHECK_FRACTIONALLY_NEAR( fore.m_live_time, 119.84f, 0.0001 ); + CHECK_FRACTIONALLY_NEAR( fore.m_real_time, 120.0f, 0.0001 ); - BOOST_CHECK_CLOSE( back.m_live_time, 300.06, 0.01 ); // What was encoded - but clearly a non-sense value - BOOST_CHECK_CLOSE( back.m_real_time, 120.00, 0.01 ); // What was encoded - but clearly a non-sense value + CHECK_FRACTIONALLY_NEAR( back.m_live_time, 300.06f, 0.0001 ); // What was encoded - but clearly a non-sense value + CHECK_FRACTIONALLY_NEAR( back.m_real_time, 120.00f, 0.0001 ); // What was encoded - but clearly a non-sense value - BOOST_CHECK( fore.m_source_type == SpecUtils::SourceType::Foreground ); - BOOST_CHECK( back.m_source_type == SpecUtils::SourceType::Background ); + CHECK( fore.m_source_type == SpecUtils::SourceType::Foreground ); + CHECK( back.m_source_type == SpecUtils::SourceType::Background ); - BOOST_CHECK_EQUAL( fore.m_model, "Some Model" ); - BOOST_CHECK_EQUAL( back.m_model, "Some Model" ); + CHECK_EQ( fore.m_model, "Some Model" ); + CHECK_EQ( back.m_model, "Some Model" ); - BOOST_CHECK_EQUAL( fore.m_channel_data.size(), 1024 ); - BOOST_CHECK_EQUAL( back.m_channel_data.size(), 1024 ); + CHECK_EQ( fore.m_channel_data.size(), 1024 ); + CHECK_EQ( back.m_channel_data.size(), 1024 ); - BOOST_REQUIRE_EQUAL( fore.m_energy_cal_coeffs.size(), 3 ); - BOOST_CHECK_CLOSE( fore.m_energy_cal_coeffs[0], -2.73386598, 0.0001 ); - BOOST_CHECK_CLOSE( fore.m_energy_cal_coeffs[1], 2.79616, 0.0001 ); - BOOST_CHECK_CLOSE( fore.m_energy_cal_coeffs[2], 0.000225977, 0.0001 ); - BOOST_REQUIRE_EQUAL( fore.m_dev_pairs.size(), 0 ); + REQUIRE_EQ( fore.m_energy_cal_coeffs.size(), 3 ); + CHECK_FRACTIONALLY_NEAR( fore.m_energy_cal_coeffs[0], -2.73386598f, 0.000001 ); + CHECK_FRACTIONALLY_NEAR( fore.m_energy_cal_coeffs[1], 2.79616f, 0.000001 ); + CHECK_FRACTIONALLY_NEAR( fore.m_energy_cal_coeffs[2], 0.000225977f, 0.000001 ); + REQUIRE_EQ( fore.m_dev_pairs.size(), 0 ); - BOOST_REQUIRE_EQUAL( back.m_energy_cal_coeffs.size(), 3 ); - BOOST_CHECK_CLOSE( back.m_energy_cal_coeffs[0], -2.73386598, 0.0001 ); - BOOST_CHECK_CLOSE( back.m_energy_cal_coeffs[1], 2.79616, 0.001 ); - BOOST_CHECK_CLOSE( back.m_energy_cal_coeffs[2], 0.000225977, 0.0001 ); - BOOST_REQUIRE_EQUAL( back.m_dev_pairs.size(), 0 ); + REQUIRE_EQ( back.m_energy_cal_coeffs.size(), 3 ); + CHECK_FRACTIONALLY_NEAR( back.m_energy_cal_coeffs[0], -2.73386598f, 0.000001 ); + CHECK_FRACTIONALLY_NEAR( back.m_energy_cal_coeffs[1], 2.79616f, 0.00001 ); + CHECK_FRACTIONALLY_NEAR( back.m_energy_cal_coeffs[2], 0.000225977f, 0.000001 ); + REQUIRE_EQ( back.m_dev_pairs.size(), 0 ); - BOOST_REQUIRE_LE( fore.m_neut_sum, -1 ); - BOOST_REQUIRE_LE( back.m_neut_sum, -1 ); + REQUIRE_LE( fore.m_neut_sum, -1 ); + REQUIRE_LE( back.m_neut_sum, -1 ); - BOOST_CHECK_CLOSE( back.m_latitude, -999.9, 0.1 ); - BOOST_CHECK_CLOSE( back.m_longitude, -999.9, 0.1 ); + CHECK_FRACTIONALLY_NEAR( back.m_latitude, -999.9, 0.001 ); + CHECK_FRACTIONALLY_NEAR( back.m_longitude, -999.9, 0.001 ); - BOOST_CHECK( fore.m_start_time == time_from_string("2020-01-01T01:00:00") ); + CHECK( fore.m_start_time == time_from_string("2020-01-01T01:00:00") ); shared_ptr spec_file; - BOOST_REQUIRE_NO_THROW( spec_file = to_spec_file( decoded ) ); - BOOST_REQUIRE( !!spec_file ); - BOOST_REQUIRE_EQUAL( spec_file->num_measurements(), 2 ); + REQUIRE_NOTHROW( spec_file = to_spec_file( decoded ) ); + REQUIRE( !!spec_file ); + REQUIRE_EQ( spec_file->num_measurements(), 2 ); shared_ptr fore_file = spec_file->measurements()[0]; shared_ptr back_file = spec_file->measurements()[1]; - BOOST_REQUIRE( !!fore_file ); - BOOST_REQUIRE( !!back_file ); + REQUIRE( !!fore_file ); + REQUIRE( !!back_file ); - BOOST_CHECK( fore_file->source_type() == SpecUtils::SourceType::Foreground ); - BOOST_CHECK( back_file->source_type() == SpecUtils::SourceType::Background ); + CHECK( fore_file->source_type() == SpecUtils::SourceType::Foreground ); + CHECK( back_file->source_type() == SpecUtils::SourceType::Background ); - BOOST_CHECK_CLOSE( fore_file->gamma_count_sum(), 67771, 0.001 ); - BOOST_CHECK_CLOSE( back_file->gamma_count_sum(), 35501, 0.001 ); + CHECK_FRACTIONALLY_NEAR( fore_file->gamma_count_sum(), 67771, 0.00001 ); + CHECK_FRACTIONALLY_NEAR( back_file->gamma_count_sum(), 35501, 0.00001 ); - BOOST_CHECK_CLOSE( fore_file->live_time(), 119.84, 0.01 ); - BOOST_CHECK_CLOSE( fore_file->real_time(), 120, 0.01 ); + CHECK_FRACTIONALLY_NEAR( fore_file->live_time(), 119.84f, 0.0001f ); + CHECK_FRACTIONALLY_NEAR( fore_file->real_time(), 120.0f, 0.0001f ); - BOOST_CHECK_CLOSE( back_file->live_time(), 300.06, 0.01 ); // What was encoded - but clearly a non-sense value - BOOST_CHECK_CLOSE( back_file->real_time(), 120.00, 0.01 ); // What was encoded - but clearly a non-sense value + CHECK_FRACTIONALLY_NEAR( back_file->live_time(), 300.06f, 0.0001f ); // What was encoded - but clearly a non-sense value + CHECK_FRACTIONALLY_NEAR( back_file->real_time(), 120.00f, 0.0001f ); // What was encoded - but clearly a non-sense value - BOOST_CHECK_EQUAL( spec_file->instrument_model(), "Some Model" ); + CHECK_EQ( spec_file->instrument_model(), "Some Model" ); - BOOST_CHECK( fore_file->start_time() == time_from_string("2020-01-01T01:00:00") ); -}//BOOST_AUTO_TEST_CASE( TestFromUri ) + CHECK( fore_file->start_time() == time_from_string("2020-01-01T01:00:00") ); +}//TEST_CASE( TestFromUri ) -BOOST_AUTO_TEST_CASE( testCalcCrc16Arc ) +TEST_CASE( "testCalcCrc16Arc" ) { const std::pair known_values[] = { {"", 0}, @@ -545,36 +542,272 @@ BOOST_AUTO_TEST_CASE( testCalcCrc16Arc ) {"\xCF\x87\xC2\xB2", 10334}, {"\x01\x02\x03\x04", 4001}, {" Some other val ", 29802}, - {"123456789", 47933} + {"123456789", 47933}, + // A bunch of randomly generated strings + {string("\x88\x98\x47\x6f\x1c\xb7\x2b\xc5\xb2\x77\x77\x52\x69\xfc\xbd\x81\x1d\x25\xcb\x56\x72\x06\x7e\x7f\xf5",25),5705}, + {string("\xe6\x0e",2),42187}, + {string("\xae\x1c\xa5\xaa\x62\x86\x9b\x7c\x75\xbe\x86\xfa\xfb\x0d\xc8\x90\x4e\x24\xcb\xfb\xef\xa8\x2e\x2b\x0e\xd0",26),63895}, + {string("\x53\x33\xc0\x00\x85\x40\x03\x4e\xf0\x83\xa4\x48\x65\xd3\x1d\x92\xb9\xcf\x32\xda\xee\x1e\xd7",23),6529}, + {string("\x82\x5f\x37\x2a\xde\x61\x85\x03\xf7",9),41883}, + {string("\x81\x3f\xc0\x5e\xc2\xac\x2d\xe5\x54\x5e\x71\x8d\x49\xe3\x1e\x21\xb8\xc4\x72",19),15141}, + {string("\x62\x06\x66\xd7\xd8\xa1\x98\xb3\xf5\x03\xb4",11),12172}, + {string("\x43\x0c\xb1\xb5\x38\x4f\xa6\xef\x1c\x61\x64\x7c\x3a\xc7\x31\x5b\xad\x25\x81\xe4\xa4\xf7\xc1\x13",24),19742}, + {string("\x31\xb8\x9a\xe3\xa3\x32\x02\x70\x7b\x98\xe8\x94\x76\x4b\x72\xee\x31\x0e\xfd\x62\x45",21),10292}, + {string("\xfd\x7d\x13\x14\xaf\x8e\x1b\x58\xff\x20\x4c\xa1\xa8\xb7\xb5\x9f\x3d",17),29398}, + {string("\x16\x25\xb1\x49\x08\xe8\xdb\x60\xb5\x2d\xd5\x3c\xb6\x8d\x52\xa5\x8f\x85\x70\xfd\x77\x26\x65\x4b\x5e\x93\xea\xfb\xdc\x1b",30),37309}, + {string("\xd2\xc0\xb9",3),35633}, + {string("\x36\x15\x7e\x3b\x80\xba\x95\xc8\x01\xfe\x05\x8b\x26\x1c\xc3\x89\xcd\xe2\xaa\xe7\x1c\xe9\xec\xcd",24),12553}, + {string("\x8d\xe1\x35\x02\xe6\x39\xd4\x83\xbf\xb1\x15\x4e\xa2\xb4\x29\xa6\x13\xfe\x43\x3d\x76\x5e\x6b",23),59727}, + {string("\x2c\x79\x9d\x2e\x82\xa3\x46\xf1\x7b\xc7\xc7\xfa\xce\xeb\x2a\x89\xd4\x78\x5e\x6f\xe8\xfe\x07\x19\x1c\xfa\x2e\x7a\x2f\xa9",30),3403}, + {string("\x68\xeb\xe7\x7f\x41\x65\x68\x9c\x29\x76\xa1\x74\xb7\xe9",14),52324}, + {string("\x84\x6c\xb2\xb5\xc6\xe1\x17\xc8\xf8\x60\x3c\x4b\xa7\xbb\xaf\x56\xa7\x23\x77\x74\xb8\xd5",22),2627}, + {string("\xd9\xa1\x28\xfe\x76\xbd\xc1\xd8\x14\x5c\x0e\xfe\x61\x60\xb2\xf7\xb4\x94\x5d\xcf\x19",21),61284}, + {string("\x38\xcc\x2d\x9d\x14\x84\xaa\xb7",8),4254}, + {string("\x2d\xe9\x99\x42\x86\xbb\x84\x0a\xf7\xf1\x42\x03\xe4\x74",14),16138}, + {string("\x1a\xd5\x08\xba\x80\x2d\xdc\xb0\xee\x4f",10),43036}, + {string("\x20\xff\x51\x4d\x92\xfe\x21\xb3\x41\x8e\xf0\xc6\xe1\x11\xdf\x4d",16),39086}, + {string("\x0f\x4f\xcf\x1f",4),64294}, + {string("\xef\x85\x25\x9d\x3a\x33\xb2\xb5\x46\xcf\x2b\xfd\x5f\x96\xe0\x26\x63\x07\x32\xad\x4d\x4b\xf0",23),1186}, + {string("\xd7\xa7\x5a\x37\xa6\x54\x41\xc4\x44\xc6",10),23911}, + {string("\x18\xe2\xf6\xe3\x05\x80\x4b\x50\xb4\x8c\xca\x65\x9f\x25\x65",15),32995}, + {string("\xda\x70\xc5\x35\x66\x8c\xb8\xb8\x69\xab\x7c\x35\xc1\x67\xcc\xcc\x2c\xa4\x9a\x31\x75\xdb\xcc\x07\xec\x1d\xb3\xb0\x0c",29),27421}, + {string("\x46\xfd\x19\x96\x4a\x2d\x42\x9c\xe3\x4a",10),52535}, + {string("\x20\x32\x6a\x2f\x0c\x57\x5a\x6a\x1c\x24\x3c\x67\xfa\x6c\xaf\x85\x59\x95\xb8\x1a\x73",21),7111}, + {string("\x99\x3f\x18\xc1\x51\xf7\xa8\x3b\xb2\xac\x52\x26\xb6\x88\xd5\x87\x39\x04\x1e\x15\x1a\xf9\x47\x5b\xfa",25),23456}, + {string("\x5d\x42\xdd\xa3\x5b\x4e\x9c\x57\x31\x78\xbf\xb2\x05\xdb",14),7365}, + {string("\xcb\x87\x3b\x7e\x4a\x8d\xad\xe7\xf6\x6f\x80\x1b\xe2\x67\x48",15),27616}, + {string("\xe6\xdf\x6e\x2f\x1b\x8c\x3e\x38\x37\x75\x46\xe5\x04\x2b\x5c\xb0\x5e\xde\x04",19),48043}, + {string("\xe2\xbd\xe1\x24\x20\x53\x11\xf3\x67\x81\xeb\x79\xf3\xd6\xbf\x2c\x17\x56\xa1\xc2\x3c\x0f\x82\x62\x3d",25),35311}, + {string("\xf7\x13\xe4\xa9\x9c\xf6\x75\x16\x10\x1f\xd6\x9b\xd6\x35\xe1\xc5\x52\x58\xbe",19),43044}, + {string("\x1f\x6b",2),57161}, + {string("\xc9\xb6\xdc\x13\x49\x64\xfa\x46\x24\x57\xf7\xe5\xc5\x56\x75\xc5\x00\x08\x3c\x76\xce\x01\x02\x78\x01",25),33578}, + {string("\x12\x0a\x5f\xa3\x61\xf6\xe1",7),54354}, + {string("\xf6\x6f\x2a\xc6\x08\xda\x83\xd4\x35\x6d\xf1\x16\xd2\xed\x7b\xc6\x58\x0c\x7f\xb5\x77\x13\xf3",23),56563}, + {string("\x45\x4c\xd8\x4c\xe7\x75\x81\xea",8),27788}, + {string("\x5f\xb5\xc4\x44\xf0\xb1\xbd\xa7\xd3\x15\xfc\x41\x23\x04\xb5\xdd\xa9\xca",18),19023}, + {string("\xb5\x2a\x52\x3d\x22\x3f\x5a\xa0\xa6\xf9\x1f\x33\x1a",13),1805}, + {string("\x7a\x01\x34\xee\xe6\xc1\x2b\x2a\xbd\x49\x6c\xe0\x9b\xc0\x98\x09\xa4\x9e\x47\x35\x8a\x01\x58\x44",24),30313}, + {string("\x6f\x1d\x7e\x41\xe9\x2d\x55\xab",8),49767}, + {string("\xb1\x39\xc6\x6b\x9b\xf2",6),1312}, + {string("\x1f\xa1\x23\x5b\x14\xae\x64\x18\x60\xd2\x09\xf7\x58\x96\x89\x50\x76\x7a\x13\xf4\xf7\x26\x9e",23),24197}, + {string("\x26\x2c\xa7\x69\x77\xdc\xd9\xe8\xca\xc2\x78\x25\x0e\x33\x11\x04\xf8\xea\x74\xea\xdf\x28\xd6\x1c",24),60823}, + {string("\x58\xcf\xb8\xb3\xdc\x36\xc1\x29\x7d\xc7\xaa\xde\xa4\x48\xd4\x8f\xbd\x87\x7f\x7b\x88",21),60651}, + {string("\xdc\xd5\xad\x10\x19\x06\xac\xd5\xad\x7e\x0c\x7d\xfc\x5f",14),26371}, + {string("\x04\x76\x0e\xf4\x64\x4c\xd6\xbc",8),63783}, + {string("\x6b\xce\xe5\x7d\x0e\x9b\xab\x2a\xa5\xd7\x14\xad\xca\xc5\xf3\x51\xe4",17),62282}, + {string("\x4d\x0a\xb9",3),1367}, + {string("\x29\xef\xc3\x96\x24\x16",6),34964}, + {string("\x09\xff\xf3\xaf\xff\x64\x0f\x17\x03\x51\x13\x28\x06\xc5\x43\xe9\x71\x85\x92\x6c\x2b\xde",22),43868}, + {string("\xbe\x78\xd9\xd7\x69\x59\xa6\x03",8),51939}, + {string("\xf5\x42\x53\x3e\x50\x71\xf4\xf3\x36\xcf\x59\xed\x8f\x28",14),61714}, + {string("\xdc\x49\x44\x2f\x87\x33\x7a\x18\x34\x92\xc1\x97\xb1\x14\xf0\x9d\xb0\x17",18),43975}, + {string("\x04\xe7\xca\x5f\x04\x72\xcb\xea\xa1\x96\xa2\xc6\x38\x11\xd5\xe0\xc6\x64\xdc\xfa\x2d\xdb\x80\x58\x88\x84\x41\x9b",28),15716}, + {string("\xc9\x72\xe9\x71\x79\x2a\x05\x8d\xf1\xbd\x9d\x57\xd5\xa3\xde\x4c\xde\x99\x68\x2f\x37\x99\x5e\xa3\x97\x8b\xc6\x44",28),22995}, + {string("\x2b\xc9\xd5\x74\x71\x5b\x56\xeb\x0a\xee\x1d\x65\x5b\xb1\xd8\xd3\x20\x39\xd3\x73\xe4\x14\x37\x43",24),5451}, + {string("\x73\x13\xc8\x91\xaf\x87\x39\xc6\x30\xbe\xbf\xd6\x5e\x2e\x77",15),10253}, + {string("\xb4\x25\x66\x9c\xb7\x2b\xee\xdc\xa9\x01\xf8\x9a\xd3\xfa\xeb\x0e\x5f\xff\x6b\xe1\x22\x66",22),53420}, + {string("\x51\xb7\xb9\x76\x01\x63\x92\xc1\x0f\x78\xf4\x29\x53\x51\x32\x54",16),3670}, + {string("\x17\x42\xf5\x2f\x7a\xe9\x68\x02\x87\x7a\x72\x6c\x88\x85\x06\x47\x31\xdb\xbf\x97\x31\x79\x15",23),755}, + {string("\x99\xf8\x99\x0e\xe9\xf1\x2a\x6a\x82\xcd\x58\x14\x5b\x9c\x6a\xc4\x87\x1b\x8f\xab\x5e\x51\xa1\x74\xf7\xd5\x1b\xe4\xa5",29),61277}, + {string("\x68\x9a\xfa\x59\xd2\x7b\x4b\x21\x66\x4c\x51\x6d\xd5\x44\xb3\xb4\x46",17),47115}, + {string("\x01\x0b\xb7\x88\xa6\x70\xac\x3d\xc4\xa0\x36\xa5\xe3",13),35992}, + {string("\xa4\xe1",2),35002}, + {string("\xb1\xb6\xea\x30\xe3\x7a\x45\x85\x97\x0b\x9f\x8f\xe2\x4a\x42\x95\x31\x5d",18),16451}, + {string("\x71\x02\x24\x9a\x53\xbb\x85\x42\x44\x76\xb3\xbe\x53\x0c\x2e\xc3\xb7\xc5\x43\x3e\xce\x69\x5e\xd4\x26\x30\xbd\x1d",28),23955}, + {string("\xee\x14\x7a\x7e\xa9\xf6\xf1",7),64666}, + {string("\x0b\x6e\x6a\x05\x4c\x06\xd9\x17\x3d\x4a\xaa\xc3\x8c\x6a\xe2\xcf\x10\xfa\xcc\x84\x64\x8c",22),53189}, + {string("\x02\xcc\x45\x19\x7f\xcf\x99\xc6\x77\x33\x87",11),27226}, + {string("\xa3\x90\xa8\x9b\x7d\xc1\x1c\x31\xd8\xbf\xa9\xcb\x8e\x68\x18\x5e\xc0\xf0\xad\x6f\xf9\x2f\x65\x1d\x02\xe0\x98\x4c\x5b\x47",30),40606}, + {string("\x51\xf5\x86\x93\xbd\xd9\xc9\xfc\x3c\xf0",10),34218}, + {string("\x18\x12\x26\xa8\x3e\x86\xb4\xb2\xdc\x76\x91\x51\xce\x32\x5c\x6e\xa2\x22\xb3\xf5\xd0\x90\x52\xec",24),48235}, + {string("\x8b\x3a\x5e\x24\x01\x78\x1d\x26\x2c\xfd\xbe\xda\x30\x26\x2b\xaa",16),39409}, + {string("\x41\x72\x80\x2f\x68\x6a\xe3",7),10684}, + {string("\xcf\x19\x27",3),46459}, + {string("\xa6\xf7\x76\x46\xd5\x0d\xa8\x20\xbf\xd2",10),41099}, + {string("\xa7\x3d\x5d\x69\x50\x3d\x80\x16\x3c\x11\xb0\x14",12),10612}, + {string("\x2f\xbc\x38\xb6\xa4\x46\xc4\x9b\x54\x87\xd4\x6a\x87\xb8\xf7\x0f\x6f",17),34740}, + {string("\xcc\xf5\x8e\x84\x59\x66\x36\x77\x64\x38\xa1\xee\x74\xc0\x8d",15),61871}, + {string("\xe2\x94\x83\x68\x8a\x39\x75\x33\xba\xe6",10),28417}, + {string("\xb0\xea\xae\x69\xbb\x55\x4f\x82\xab\x4b\xbf\xd4\x80\x1e\x5d\xc2\xc8\x02\x11\x68\x6c\xfa\x45\x5f\x18",25),55605}, + {string("\x12\x47\x00",3),62867}, + {string("\xea\xe0\x0f\x1b\xb9\x6e\xcb\x8b\x03\xf7\x19",11),35242}, + {string("\xb2\x17\x3a\xd5\x5a\x7f\x68\xef\x2a\x51\xd4\x45\x1b\x21\x17\x0f\xee\x2a\xea\x22\xda\x87",22),38003}, + {string("\x03",1),320}, + {string("\x24\x19\x50\x4b\xb2\xf4\x6e\x1e\x9b",9),9494}, + {string("\xbd\xf8\xaf\x44\x69\xbd\x02\x93\x0d\xab\xd7\x37\x28\xb9\xd3\x9a\x96\x08\x34\xed\xcf\x89\x19",23),26692}, + {string("\x26\xe1\x7f\xe1\x18\xa8\x62\x06\x41\xf7",10),9343}, + {string("\xc1\x93\x40\x51",4),60733}, + {string("\x9a\xaa\xc6\x76\x92\x29\x4b\xd2\x21\x38\x4f\x18\x19\x15\x37\x17\x5b\x76\x47\x21\x7a\x43\xf1",23),42428}, + {string("\x8c\x10\xa2\xed\x4f\xe4\xb6\xe1\x8b\x0d\xdf\x57\xfc\xba\x6a\x00\x4a\x64\x52\xa3\x6f\xb0\x7d\x47\x6d\x5f\xfb\x56",28),5889}, + {string("\x6a\xd3\x49\x4f\x80\xf7\xf2\x19\x9e\x8b\x87\x02\x19\xe7\xdf\x73\xe2\xa7\x58\xf5\x3b\x4b\x44\x23\xaf",25),49455}, + {string("\xfd\x23\xf9\x53\xdc\xb1\x71\x3e\xa3\x69\xfd\xf5\xd8\x2f\x7c\x6d\x3f\x54\xe9",19),55969}, + {string("\xc3\x98\x9a\xeb\x50\x4c\xae\x3d\x89\xa4\x1d\xb8\x41\x7a\x55\x3f\xd4\xa4\x61\xfc\xfa\xf1",22),12832}, + {string("\xd1\xcc\x7e\x9a\x5b\x9d\x13\xba\x98",9),50134}, + {string("\xd6\x7d\xa3\xb8\x8a\xf2",6),30779}, + {string("\x3b\xb2\x04\xeb\xc6\x87\xfa\x99\x83\x52",10),674}, + {string("\x4f\xde\x70\x49\x4b\xae\x58",7),25078}, + {string("\x57\x36\xde\x77\xac\xd5\x6f\x8b\xf3\x3a\x35\xc3\xe3\xb6\x52\x7a\x7b\x04\x7b\xc6\xcb\xf0\xb6\x3b\xd1\x1e\x68\xee\x02",29),60540}, + {string("\xad\x5c\xce\x2e\x5b",5),11394}, + {string("\x0d\xac\x5c\x07\xcd\x24\x8b\x97\x95\xaf\x09\x38\x5b\x10\x49\x4b\x4d",17),42472}, + {string("\xa1\x6b\x70\x00\x6f\x6a\x7d\xac\xd4\xa6\x47\x1e\xf5\xc7\x6f\xa7\x83\x8d\xe1\x1e\xd8\xa7\x24\x41\x5e",25),64779}, + {string("\xb6\x19\x2b\xf1\xd8\x19\x80\x34",8),8691}, + {string("\x26\x36\x22\x8a\x4a\xca\x6f\xfd\xfe\xc8\x35\xd9\x7c\x6e\x54\x72\x0a\xb2\x89\xc4\x81\xde\xca\xe7\x19\xf8\xb1",27),19469}, + {string("\x02\xf2\xbf\x9f\xa6\x5e\xda\xa8\x2a\x02",10),49421}, + {string("\x19\x6b\x55\xbb",4),41737}, + {string("\xf5\x22\x1f\x7f\xe6\x02\x0a\xf6",8),45770}, + {string("\x5a\x44\x70\xf0\x0f\x51\x5e\x04\x01\xf5\xb6",11),1220}, + {string("\x1a\xd3\x09\x42\x48\x21\xc6",7),3960}, + {string("\xb0\x36\xdb\xc3\x74\x11\xb6\xc0\x0a\xc5\x99\xe7\xcc\xde\x91\xd1\x29",17),32048}, + {string("\x51\xa6\xf1\xc9\xe0\x45\xca\xd5\x86\x16\x09\x38\x27\x4e\x8b\xc4\xb3\x81\x4d\xfe\x1d\xe6",22),24999}, + {string("\x10\x65\x45\x21\x09\x1b\x19\x1b\x7c\x1e\xfa\x61\xe4\x04\x93\x58\x88\x49\x82\x9f\x3f\x03\x51\x5a",24),48063}, + {string("\x9a\x14\x01\x44\xbf\xd3\xd2\x50\xdf\x97\xfc\xa5\xad\xb2\x34\x18\x07\x37\xc5\x8f\x80\xc7\x75\x49\xd2\x4c\x04\x0a",28),9204}, + {string("\xcc\x2e\x56\xd5\x42\x0e\x6e\x94\x6b\x3a\x68\x07\x5b\x95\xaf\x2c\x0d\x5d\x50\x0a\xbc\x2b\xf6\xb7\xd7\xa8\x0c\xb1",28),27582}, + {string("\x98\x8c\xaf\x80\xf3\xf1\x01\x4a\x2e\x35\x4e\xc2\x5c",13),56303}, + {string("\x6d\xd7\x69\x0c\xcb\x5c\xbd\x04\xc6\x57\x6b\x86\x00\xf0\x58\xcd\xad\xda\xdd\xfb\xd1\xc3",22),46687}, + {string("\x78\x40\x46\x7b\x8b\xf8\x48\xc0\x62\x6f\xdd\x90",12),17480}, + {string("\xa8\x14\x6f\xc6\x94\x3d\x86\x10\x5c\x95\x64\xbf\xe5\xe1\xd4\x95\x25\x31\xcd\x5d\x97\xc3\xf0\x08\xc1\xa5\x64\x3e\xa2\x44",30),10593}, + {string("\x54\xba\x42\x13\x9d\x69\x24\x7d\x99\xfb\xf0\xfb\x61\x1d\xf6\x20\x0d\x24\xba\xf2\xa9\x32\xa6\xc1\x6a\xf3\x40",27),44179}, + {string("\x23\x61",2),55512}, + {string("\xcb",1),38721}, + {string("\xfe\xc4\x7d\x75\x1a\x32\x8a\x38\x0b\xb9\x2d\xd9\xf4\xf8\xd7\xad\xd9\x46\xb1\xb1",20),13310}, + {string("\x4a\x51\x2c\xc0\x39\x66\x30\xd3\xa0\xb1\xcf\xf2\x50\x85\x7e\x2a\x88\xe1\x34\xf7\x5a\xe8\x42\x79\xa7\x21",26),5059}, + {string("\x35\x80\x64\x05",4),59364}, + {string("\xd1\x3e\x2e\xd6\x75\xfd\xa1\xce\x68\x18",10),11378}, + {string("\x64\x76\x5f\xa7\xc7\xa2\xcd\xd1\xbf\xab\xcd\x8d\x44\x96\x93\xa8\x58\x2a\x0a\x21\xe4\x34",22),46993}, + {string("\x6e\x73\x15",3),8837}, + {string("\x88\x53\x3a\x5d\x01\xd0\x3a\xc8\x14\x0b\x22\x63\x96\xd4\x7b\x30\x01\xf1\x65\xb0\xaf\x15\x08\x60\x06\xa8\x13",27),45951}, + {string("\x1a\x48\x3e\x62\xcd\xfc\xc3\x98",8),42779}, + {string("\x9f\x3f\xe1\xb2\x82\x68\xe2\xcb\x88\xa0\x78\x41\xb2\x40\xf9\x43\x70\x11\x85\x3d\x58\xa1\x5b",23),49364}, + {string("\x93\x38\x11\x61\x19\x93\x07\xa8\x18\x06\xa4\xff\x92\x15\x12\x6f\xf6\x7b\x28\x58\x6c\x82",22),2660}, + {string("\x95\xe0\x12\x57\x79\x87\x5a\x95\xfb",9),17945}, + {string("\x1b\x93\x60\x5a\x44\x06\x04\x4f\x09\xb0\xbf\x0f\x32\xf8\x44\x82\x66\xdc\x2a\x6c\x9e",21),8393}, + {string("\xb3\xb2\x5f\x05\x9a\xde\x28\x07\xc1\x4e\x6a\xe7\x88\x21\xa7\x20\xcd",17),55855}, + {string("\x2e\x25\x84\xde\x7d",5),41530}, + {string("\x09\x26\x21\x04\x24\x49\xb8\x6d\x6a\x0d\x16\x6d\xf9\x07\xc2\xc0\x6b\xff\x42\x89\xb6\xbe\x1c\xaa\x3a\x95\x5c\x69",28),53802}, + {string("\xaf\x4e\x64\x91\x34\x9a\x98",7),5159}, + {string("\x51\xce\x83\x45\xcc\xbe\x06\xf7\xed\x7c\x7b\xb2\x7e\x7f\x9c\xe4",16),53872}, + {string("\x37\xe8\xb5\x13\xb7\xa2\x78\x90\x99\x4e\x86\x15\xa1\x60\x42\x56\xc7\xaa",18),30240}, + {string("\x6b\xe9\x3a\x83\x6b\x3b\x5c\x11\xd1\xaf\x42\x09\x28\x9e\x4d\x79\x8b\x3b\xa8\xc3\x7a\xbb\x98\xf2\x87\x57",26),59699}, + {string("\x00\x5b\x8d\xcb\xde\xf8\x11\x6c\x83\xf6\x71\xd0\xe1\xd9\x81\x04\x8b\xd6\xc1\x1e\xe6\x9b\xa5\x3b",24),38424}, + {string("\x8d\x8f\xa4\xdf",4),57121}, + {string("\xb6\xfc\x6b\x2e\x3f\xab\x5d\x3f\x12\xe7\x59\xf5\x8b\x51\x8d\xb5\x93\xf3\xa7\xea\x0f\x82\xfd\x1a\xca",25),6681}, + {string("\x0b\xb5\x5b\x0b\x7a\xa0\x88\xf8\x06\xd7\x5f\xa7\xeb\xfc\x5a\x3c\xac\xda\xef\x33\xb8\x09\x09\x56\x62",25),814}, + {string("\xb2\x98",2),2677}, + {string("\x95\x54\x3a\x8d\x2e\x15\x96\xaf\x75\xc8\x20\x66\x7b\x37\x64\xdf\x80",17),27018}, + {string("\xdb\xc7\xec",3),34339}, + {string("\x0d\x0f\xd3\x03\x34\x6d\x08\x1d\x7b\x4e\x68\x25\x45\x7a\xd2\xb8\xf1\x9c\xa7\x5c\x21\xa6\x94\x25\xaf\xe7\x1d\x7c\xe9",29),36145}, + {string("\x0d\x54\x35\xb3\x35\xc9\x47\x6a\x22\x55\xb7\x12\x87\xca\x65\xe4\xae\xf0\x32\x1e\x9c\x59\x60\xcf\xc4",25),53932}, + {string("\x91\x17\x43\x72\x21\xc4\xe9\xe7\xa2\x6f\x49\x20\xe2\x2f\x47\x10",16),29952}, + {string("\xb8\x75\x6b\x5d\xfe\x59\xaf\x8d\x5b\x74\xa2\x48\x57\xc8\x39\x62",16),47999}, + {string("\x86\xb6\x69\x80\x27\x46\x2d",7),8650}, + {string("\xec\x8b\x34\x8e\x42\x35\x7c\xb0\xf3\x76\x1b\xf7\xe3\x6d\x52\x81\x9b\x35\xed\x4f\xf9\x0e\x09\x56",24),10955}, + {string("\x2c\x1e\x96\x07\x46\x77\xb1\xb0\x02\xfa\x98\xcd\xd2",13),29935}, + {string("\x30\x0f\x34\xd9\xcc\x4e\x8c\x37\xca\xe9\xff\x50\x57\x45\x0f\xda\x86\x82",18),42623}, + {string("\xea\x4f\x63\x43\x6e",5),49487}, + {string("\x7e\x3a\x9c\x82\xf8\x03\xe1\x53\x3c\xdc\x53\x58",12),27542}, + {string("\x91\x58\x32\x51\x62\x42\x91\xba\x74",9),21620}, + {string("\x56\xe7\x26\x87\x7e\xa5\x1a\xb0\xa3",9),223}, + {string("\x00",1),0}, + {string("\x4c\xae",2),31925}, + {string("\x1b\x1f\x0e\x77\x5e\x04\xb6\xb8\xbf",9),20576}, + {string("\x3f\x95\x0f\xae\xda\xb9",6),13809}, + {string("\x52\x14\xb1\x7f\xab\xa9\x69\x71\xda\x0c\x01",11),14229}, + {string("\x8d\x6e\xb9\xa4\x54\xee",6),10029}, + {string("\xaf\x9d\xdd\x2f\x4e\xc7\xce\xd5\x7f\xee\x27\xe4\x35\xd1\xfa\xd8\x5f\xa9\x61\xe9\xb9\xad",22),43625}, + {string("\x56",1),16000}, + {string("\x2f\xa0\x1f\x35\xfc\xf6\x0a\xc3\xb6\x93\xbb\x73\x23\xed\x7f\x3d\xd3\xe3\x3a\x62\x0a\x2a\xd9\x5c\x27\x43\x22\x2b\x6f",29),14833}, + {string("\xc8\x66\xd1\xcb\x40\xf6\x8d\x89\xdf\x18\x91\x09\xb0\x5f\x18\x8e",16),64627}, + {string("\xab\xe0\x3d\x97\x8b\xbb\x2a\xbb\x6e\xd8\xdd\x69\x0e\x36\xc2\xcc\x11\x0e\x1c\xbb\x4a\x2f\x79\x22\xb0",25),22707}, + {string("\xbe\xbc\x44\xb6\xcc\xc7\x01\xf0\x44\xd9\x7f\x17\x7d\xb4\xc1\x6b\x87\xbb\xf1",19),57923}, + {string("\x7d\xf3\x87\xeb\xdc\x55\xf7\xc5\x5d\x1b\x0f\x40\x16\xf2\xe7\x8f\x08\xc8\xa3\x1f\x4e",21),8953}, + {string("\x8c\x81\x34",3),27808}, + {string("\x07\x66\x6f\x08\xe5\x19\xe9\xf9\x69\xd2\x67\x6a\xd8\x07\xbe\x6e\xcf\xdb\x7e\x03\x24\xf1\x2a",23),57605}, + {string("\x91\x73\xa1\xbc\xe6\x6b\xb1\x4e\xbe\x73",10),21716}, + {string("\x87\x99\xb1\x22\xc4\x0b\xc4\x38\x01\x57\xad\x6e\xe4\xbd\xcb\x34\x6a\xaa\x40\xf1\x72\x7a\xb1\x7c\x4d\xb9\x6a\x40\xc9",29),7602}, + {string("\x2e\x35\xdb\x96\x16\x29\x26\x8a\xbd\x03\x46\x0d\xe6\x09\x9a\x48",16),2462}, + {string("\x7c\x6d\x14",3),18413}, + {string("\xab",1),48961}, + {string("\x50\x8f\x8a\x4f\x83\x25\x0a\x12",8),45711}, + {string("\xfb\xe3\xc4\x74\x67\x5b\xec\x7c\xae\x6f\x54\x70\x5e\xb0\xa9\xdb",16),42501}, + {string("\x00\x88\xbb\xae\x07\x82\x14\x1f\x77\xc6\x27\xff\xc8\x3a\xaa\x28\xa7\x3e\x08\x12\xb9\xdd",22),1429}, + {string("\xfd\x37\x4b\xfa\xd3\x1a\xe5\x4d\x2a\xfa\xb7\x7f\x81\x7f",14),652}, + {string("\xbc\x86\x66\x2c\x36\xe6\xa0\x7a\x28\xfa\xf6\x6d\x07\x33\x22\x32\xe5",17),1114}, + {string("\x18\x89\x13\xb6\xe1\x2c\x86\x0c\x6e\x39\xa3\x2b\xbf\x4f\x7b\x9c\xe3\xa9\xff\x81\xd6\x01",22),10096}, + {string("\x37\x3e\xd6\xb3\xf8\x98\x51\x20\xf9\x4c\x18\xba\x4d\x52\x9c",15),64938}, + {string("\x98\x02\x7f\x5f\x4e\xec\x9f\x90\x72\xa8\x85",11),10760}, + {string("\xf0\xe1\xfd\x08\x1d\xa5\x03\xb3\x36\x5e\x23\xe8\xc6\x07\xcd\x7b\x68\x46\x57\xa3\x57\x84\x71\x53\x94\xaf\xc4",27),9737}, + {string("\xf0\xc5\x1b\x2f",4),4456}, + {string("\x16\xfc\x56\xf9\xd5\x11\x40\x39\xae\xb5\xac\xe3\xf7\x18\x7d\xd2\x07\x2e\x9a\x9e\x61\xfc\x5b\xd4\x54\x40\x95\x5a\xe1\x26",30),58273}, + {string("\xd3\x0f\x3c\xd7\xf9\x74\x10\x9c",8),18622}, + {string("\xf3\xfa\x58\x12\xf7\x92\x49\x45",8),49093}, + {string("\x7f\x10\x70\x83\xcf\x47\xad\xff\x8d\x82\xa0\x82\x72\xb0\x8f\x26\x0f\x74\xc5\x76\x33\x2e\x71\x82\x89\x53\x1e\x24",28),45307}, + {string("\x8f\x56\xaa\xb2\x31\x66\x91\x95\x55\x2a\x3f\x08\xcd\x10\xee\x16\x69\xd5\xd5\xde\x31\x9f",22),39323}, + {string("\x7d\x05\x13\xee\x2d\xf1\x0f\x00\xa1\x77\x86\xeb\x7d\x09\xc2\x3d\x9d",17),54897}, + {string("\xb9\xd3\x89\x9d\x96\xd4\x69\x47\x78\xba\xbd\x8b\x90\x2d\xe6\xf0\x23\xed\xa7\xc9",20),38991}, + {string("\x4d\x57\x69\x6e\xa5\x9c\xea\xb6\x7c\x3c\x9d\x07\x81\x42",14),45635}, + {string("\x21\xf5\x11\xfd\x5d\x00\x3b",7),2360}, + {string("\xfc\xc3\x21\xa8\x10\xdb",6),27286}, + {string("\xde\xe9\x05\x5f\xbd",5),53109}, + {string("\x07\xd9\xab\x03\x50\x62\x9e\x08\x3e\x68\x6a\xb0\xa2\x45\x80\xe5\x61\x67\x1c\x3a\x00\xde\x51\xd5\x78",25),6319}, + {string("\x7e\x61\xeb\xb5\xe1",5),6897}, + {string("\xbd\xeb\xd3\xea\x90\xfa\x44",7),25737}, + {string("\x9d\x00\x5e\x2b\xaa\xc5",6),24257}, + {string("\x4e\xde\xda\xa2\x6a\xcc\xd4\x80\xa9\xfd\x9e\x14\xae",13),63550}, + {string("\xe3\x73\xee\x8d\x27\xeb\xe0\x8e\xe0\xa4\x5f\xe8\x95\x2d\x01\x3a\x07\x8b\x23\x0d\xa2\x1b\x53\xe8",24),20996}, + {string("\x06\x98\xb9\x92\x36\xfa\x0e\xaf\x88\x71\x3c\x0e\x03\x9d\x59\xa0\x01\x19\x26\x50\x50\x23\xeb",23),47797}, + {string("\x4d\xf5\xb8\x46\x94\x0f\x8c\xc2",8),29451}, + {string("\x7b\x86\x09\xa8\x4b\x04\x13\xee\x65\x87\x5d\xe4\x13\x35\xbc",15),7859}, + {string("\x33\x68",2),7701}, + {string("\x59\x2c\xa8\x0e\x64\xd5\xb8\x4a\x9d\xd3\xae\x64\xd4\x45\x3a\x6a\x0a\xbb\x77\xb2\x40\xfc\xb0\x06\x50",25),36863}, + {string("\xa3\x0a\x3d\x73\x73\x66\x0a\xc9\x43\x1f\x5f\x09\x93\x1c\xcf\x75\x26\x89",18),3260}, + {string("\x7b\x33\xa6\x2f\xe5\x92\xb4\xe2\x95\x21\x03\x37\xe4\xf7\x19\xcb\xfa\x8b\xfb\xfa\xb1\xe7\x29",23),23686}, + {string("\x60\x70\xb1\x29\x4c\x35\x67\x11\x39\xca\xfa\xe7\x70\x81\x49\x25\xa6\x54",18),22511}, + {string("\x14\x86\xbe\x47\xb3\xbc\x1d\x18\xe5\xc5\xef\x61\xdf\x2f\x1a\xd9\xf1\xe5\x7c\xd7\xfb\xb1\x21\xf8\x16\x8c\x8c\x86",28),24247}, + {string("\x52\xaf",2),7293}, + {string("\x21\x55\xb3\x33\x75\x38\x8e\xdc\x5c\x41\xfe\x99\xe1\x0b\x3f\x8c\x40\xf9\x01\xa9\x09",21),47963}, + {string("\x77\x1d\xdf\x2e\x5b\x7a\xa7\x9f\xea\x58\x6e\xbf\xb9\x69",14),52471}, + {string("\x93\x97\x9b\xc1\x53\xb6\x7e\x71\x5e\x59\x4d\x66\xa9\x5a\x99\x5a\xb6\x4e\xbb\x7b\x1a\x01\x57\x6a\x64",25),51668}, + {string("\xb8\x17\x98\x52\xe2\x55\x6e\xb2\xd0\xcb\x68\x43\x20\x85\x0d\xa1\x80\x07\x2f\xc3\x4f\x40\xf1\xe1\xb4\x43\x97\x23\x44\x72",30),2181}, + {string("\xdf\x93\xba\xeb\x0c\xf2\xdd\x0d\x40\x27\x2c\xcf\xc9\x4b\x3a\xc9",16),3932}, + {string("\x8a\x1c\x57\x37\x3e\xeb\x05\xe6\xc8\xb9\xfb\x79\x22\x4a\xaa\xae\x25\x92\x67\xb4\xf4\x81\x55\x59\x40\xa3\xc7\xc8\xca",29),38558}, + {string("\xb1\x45\x1a\x88\x3a\xba\xbe\x9f\x93\xd6",10),54260} }; for( const auto &str_crc : known_values ) { +#if( PERFORM_DEVELOPER_CHECKS ) boost::crc_16_type crc_computer; crc_computer.process_bytes( (void const *)str_crc.first.data(), str_crc.first.size() ); const uint16_t boost_crc = crc_computer.checksum(); - BOOST_REQUIRE( boost_crc == str_crc.second ); - + REQUIRE( boost_crc == str_crc.second ); +#endif //PERFORM_DEVELOPER_CHECKS + const uint16_t our_crc = SpecUtils::calc_CRC16_ARC( str_crc.first ); - BOOST_CHECK_EQUAL( our_crc, str_crc.second ); + CHECK_EQ( our_crc, str_crc.second ); }//for( const auto &str_crc : known_values ) +#if( PERFORM_DEVELOPER_CHECKS ) + //cout << "const std::pair rnd_tst_values[] = {" << endl; // Generate a bunch of random strings, and check things there random_device rnd_device; mt19937 mersenne_engine{ rnd_device() }; - uniform_int_distribution length_dist{1, 1024*128}; + uniform_int_distribution length_dist{1, 30 /*1024*128*/}; uniform_int_distribution value_dist{0, 255}; for( size_t i = 0; i < 512; ++i ) { const size_t len = length_dist(mersenne_engine); string input( len, '\0' ); - for( char &c : input ) + //cout << "\t{string(\""; + for( size_t i = 0; i < input.size(); ++i ) { + char &c = input[i]; const uint8_t rval = static_cast( value_dist(mersenne_engine) ); c = reinterpret_cast( rval ); + + //std::cout << "\\x" << std::hex << std::setw(2) << std::setfill('0') << static_cast(rval); } boost::crc_16_type crc_computer; @@ -583,19 +816,22 @@ BOOST_AUTO_TEST_CASE( testCalcCrc16Arc ) const uint16_t our_crc = SpecUtils::calc_CRC16_ARC( input ); - BOOST_CHECK_EQUAL( our_crc, boost_crc ); + //cout << "\"," << std::dec << len << ")," << std::dec << static_cast(boost_crc) << "}," << endl; + + CHECK_EQ( our_crc, boost_crc ); }//for( create a bunch of random strings ) -}//BOOST_AUTO_TEST_CASE( testCalcCrc16Arc ) +#endif //PERFORM_DEVELOPER_CHECKS +}//TEST_CASE( testCalcCrc16Arc ) -BOOST_AUTO_TEST_CASE( base64url_encoding ) +TEST_CASE( "base64url_encoding" ) { - BOOST_CHECK( base64url_encode("HelloWorld",true) == "SGVsbG9Xb3JsZA==" ); - BOOST_CHECK( base64url_encode("HelloWorld",false) == "SGVsbG9Xb3JsZA" ); + CHECK( base64url_encode("HelloWorld",true) == "SGVsbG9Xb3JsZA==" ); + CHECK( base64url_encode("HelloWorld",false) == "SGVsbG9Xb3JsZA" ); - BOOST_CHECK( base64url_encode("0/?",false) == "MC8_" ); - BOOST_CHECK( base64url_encode("0/?/\\}{_=+,",false) == "MC8_L1x9e189Kyw" ); - BOOST_CHECK( base64url_encode("",false) == "" ); + CHECK( base64url_encode("0/?",false) == "MC8_" ); + CHECK( base64url_encode("0/?/\\}{_=+,",false) == "MC8_L1x9e189Kyw" ); + CHECK( base64url_encode("",false) == "" ); for( uint8_t i = 0x00; true ; ++i ) @@ -603,11 +839,11 @@ BOOST_AUTO_TEST_CASE( base64url_encoding ) const char val = reinterpret_cast( i ); const string input( 3, val ); const string encode_output = base64url_encode( input, false ); - BOOST_CHECK( encode_output.size() == 4 ); + CHECK( encode_output.size() == 4 ); const vector decode_output_bytes = base64url_decode( encode_output ); string decode_output( decode_output_bytes.size(), '\0' ); memcpy( &(decode_output[0]), &(decode_output_bytes[0]), decode_output_bytes.size() ); - BOOST_CHECK( decode_output == input ); + CHECK( decode_output == input ); if( i == 255 ) break; @@ -622,13 +858,13 @@ BOOST_AUTO_TEST_CASE( base64url_encoding ) const string encode_output = base64url_encode( input, (rand() % 2) ); const vector decode_output_bytes = base64url_decode( encode_output ); - BOOST_CHECK( decode_output_bytes == input ); + CHECK( decode_output_bytes == input ); }//for( size_t i = 0; i < 1000; ++i ) -}//BOOST_AUTO_TEST_CASE( base64url_encoding ) +}//TEST_CASE( base64url_encoding ) -BOOST_AUTO_TEST_CASE( base45Encoding ) +TEST_CASE( "base45Encoding" ) { string encode_output, decode_input; vector encode_input, decode_output; @@ -636,107 +872,107 @@ BOOST_AUTO_TEST_CASE( base45Encoding ) //Encoding example 1: encode_input = { 65, 66 }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "BB8" ); + CHECK( encode_output == "BB8" ); //Encoding example 2: encode_input = { 72, 101, 108, 108, 111, 33, 33 }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "%69 VD92EX0" ); + CHECK( encode_output == "%69 VD92EX0" ); //Encoding example 3: encode_input = { 98, 97, 115, 101, 45, 52, 53 }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "UJCLQE7W581" ); + CHECK( encode_output == "UJCLQE7W581" ); //Decoding example 1: decode_output = base45_decode( "QED8WEX0" ); const string expected_decode_output = "ietf!"; - BOOST_CHECK( decode_output.size() == expected_decode_output.size() ); + CHECK( decode_output.size() == expected_decode_output.size() ); for( size_t i = 0; i < decode_output.size(); ++i ) { - BOOST_CHECK( static_cast(decode_output[i]) == expected_decode_output[i] ); + CHECK( static_cast(decode_output[i]) == expected_decode_output[i] ); } // invalid character - BOOST_REQUIRE_THROW( base45_decode( "=~QED8WEX0" ), std::exception ); + REQUIRE_THROWS_AS( base45_decode( "=~QED8WEX0" ), std::exception ); // invalid number characters - BOOST_REQUIRE_THROW( base45_decode( "A" ), std::exception ); - BOOST_REQUIRE_THROW( base45_decode( "AAAA" ), std::exception ); + REQUIRE_THROWS_AS( base45_decode( "A" ), std::exception ); + REQUIRE_THROWS_AS( base45_decode( "AAAA" ), std::exception ); // Triplet producing too large of a value (>=65536) - BOOST_REQUIRE_THROW( base45_decode( "GGW" ), std::exception ); + REQUIRE_THROWS_AS( base45_decode( "GGW" ), std::exception ); encode_input = { 0x80, 0x80 }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "1BG" ); + CHECK( encode_output == "1BG" ); decode_output = base45_decode( encode_output ); - BOOST_CHECK( decode_output == encode_input ); + CHECK( decode_output == encode_input ); encode_input = { 0x80, 0x80, 0x80 }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "1BG%2" ); + CHECK( encode_output == "1BG%2" ); decode_output = base45_decode( encode_output ); - BOOST_CHECK( decode_output == encode_input ); + CHECK( decode_output == encode_input ); encode_input = { 0x8F, 0x80, 0x8F }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "G6I83" ); + CHECK( encode_output == "G6I83" ); decode_output = base45_decode( encode_output ); - BOOST_CHECK( decode_output == encode_input ); + CHECK( decode_output == encode_input ); encode_input = { 0x8F, 0x80, 0x8F, 0xF0 }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "G6I%8I" ); + CHECK( encode_output == "G6I%8I" ); decode_output = base45_decode( encode_output ); - BOOST_CHECK( decode_output == encode_input ); + CHECK( decode_output == encode_input ); encode_input = { 0x01, 0xFF }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "GB0" ); + CHECK( encode_output == "GB0" ); decode_output = base45_decode( encode_output ); - BOOST_CHECK( decode_output == encode_input ); + CHECK( decode_output == encode_input ); encode_input = { 0xAA, 0xFF }; encode_output = base45_encode( encode_input ); - BOOST_CHECK( encode_output == "ZRL" ); + CHECK( encode_output == "ZRL" ); decode_output = base45_decode( encode_output ); - BOOST_CHECK( decode_output == encode_input ); + CHECK( decode_output == encode_input ); for( uint8_t i = 0x00; true ; ++i ) { const char val = reinterpret_cast( i ); const string input( 2, val ); const string encode_output = base45_encode( input ); - BOOST_CHECK( encode_output.size() == 3 ); + CHECK( encode_output.size() == 3 ); const vector decode_output_bytes = base45_decode( encode_output ); string decode_output( decode_output_bytes.size(), '\0' ); memcpy( &(decode_output[0]), &(decode_output_bytes[0]), decode_output_bytes.size() ); - BOOST_CHECK( decode_output == input ); + CHECK( decode_output == input ); if( i == 255 ) break; } -}//BOOST_AUTO_TEST_CASE( base45Encoding ) +}//TEST_CASE( base45Encoding ) -BOOST_AUTO_TEST_CASE( testPercentEncoding ) +TEST_CASE( "testPercentEncoding" ) { string original, expected, encoded, decoded; original = "Why dids a?!Three % did^!`?"; //Note that the ! character doesnt have to be encoded, although some encoders do expected = "Why%20dids%20a%3F!Three%20%25%20did%5E!%60%3F"; encoded = SpecUtils::url_encode( original ); - BOOST_CHECK_EQUAL( expected, encoded ); + CHECK_EQ( expected, encoded ); decoded = SpecUtils::url_decode( encoded ); - BOOST_CHECK_EQUAL( original, decoded ); + CHECK_EQ( original, decoded ); // Email encode not allowed: "%&;=/?#[]" @@ -745,17 +981,17 @@ BOOST_AUTO_TEST_CASE( testPercentEncoding ) expected = "What Does %25@%3Bmean<> |"; encoded = SpecUtils::email_encode( original ); - BOOST_CHECK_EQUAL( encoded, expected ); + CHECK_EQ( encoded, expected ); decoded = SpecUtils::url_decode( encoded ); - BOOST_CHECK_EQUAL( original, decoded ); + CHECK_EQ( original, decoded ); // TODO: add more test cases here -}//BOOST_AUTO_TEST_CASE( testPercentEncoding ) +}//TEST_CASE( testPercentEncoding ) -BOOST_AUTO_TEST_CASE( StreamVByte ) +TEST_CASE( "StreamVByte" ) { for( size_t i = 0; i < 50; ++i ) { @@ -766,16 +1002,16 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) const vector encoded = encode_stream_vbyte( input ); const size_t nbytedec = decode_stream_vbyte(encoded,decoded); - BOOST_CHECK( nbytedec == encoded.size() ); - BOOST_CHECK( decoded == input ); + CHECK( nbytedec == encoded.size() ); + CHECK( decoded == input ); if( len ) { vector bad_bytes( begin(encoded), begin(encoded) + (encoded.size() - 1) ); - BOOST_REQUIRE_THROW( decode_stream_vbyte( bad_bytes, decoded ), std::exception ); + REQUIRE_THROWS_AS( decode_stream_vbyte( bad_bytes, decoded ), std::exception ); vector bad_bytes_2 = encoded; bad_bytes_2[0] += 1; - BOOST_REQUIRE_THROW( decode_stream_vbyte( bad_bytes_2, decoded ), std::exception ); + REQUIRE_THROWS_AS( decode_stream_vbyte( bad_bytes_2, decoded ), std::exception ); } }//for( size_t i = 0; i < 10; ++i ) @@ -799,7 +1035,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 2, 2, 0, 21, 1, 1, 0, 7, 1, 0, 1, 1, 1, 0, 3, 1, 0, 6, 1, 0, 16, 1, 0, 14, 1, 0, 1, 1, 1, 0, 8, 1, 0, 2, 1, 0, 40, 1, 0, 21 }; - BOOST_REQUIRE( test_1_chan_cnts.size() == 322 ); + REQUIRE( test_1_chan_cnts.size() == 322 ); const vector test_1_packed{ 66, 1, 0, 0, 84, 85, 1, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 38, 108, 156, 169, 219, 247, 243, 26, 1, 51, 1, 57, 1, 62, 1, @@ -811,13 +1047,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 12, 1, 0, 1, 1, 1, 0, 18, 2, 1, 1, 0, 8, 1, 0, 16, 1, 0, 9, 1, 0, 1, 1, 0, 23, 1, 0, 2, 2, 0, 21, 1, 1, 0, 7, 1, 0, 1, 1, 1, 0, 3, 1, 0, 6, 1, 0, 16, 1, 0, 14, 1, 0, 1, 1, 1, 0, 8, 1, 0, 2, 1, 0, 40, 1, 0, 21 }; - BOOST_REQUIRE( test_1_packed.size() == 417 ); + REQUIRE( test_1_packed.size() == 417 ); const vector test_1_encoded = encode_stream_vbyte( test_1_chan_cnts ); - BOOST_CHECK( test_1_encoded == test_1_packed ); + CHECK( test_1_encoded == test_1_packed ); vector test_1_dec; const size_t test_1_nbytedec = decode_stream_vbyte(test_1_encoded,test_1_dec); - BOOST_CHECK( test_1_nbytedec == test_1_packed.size() ); - BOOST_CHECK( test_1_dec == test_1_chan_cnts ); + CHECK( test_1_nbytedec == test_1_packed.size() ); + CHECK( test_1_dec == test_1_chan_cnts ); @@ -839,7 +1075,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 1, 1, 0, 3, 1, 0, 2, 1, 0, 1, 1, 0, 10, 1, 0, 1, 1, 0, 26, 1, 0, 2, 1, 0, 18, 1, 0, 18, 1, 1, 0, 8, 1, 0, 28, 2, 1, 0, 7, 1, 0, 15, 1, 0, 30, 1, 0, 6, 1, 0, 66 }; - BOOST_REQUIRE( test_2_chan_cnts.size() == 293 ); + REQUIRE( test_2_chan_cnts.size() == 293 ); const vector test_2_packed{ 37, 1, 0, 64, 85, 85, 1, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 36, 96, 143, 221, 231, 20, 1, 30, 1, 36, 1, 57, 1, 85, 1, 75, 1, 69, 1, 40, 1, 41, @@ -850,13 +1086,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 4, 1, 0, 2, 1, 0, 2, 1, 0, 2, 2, 0, 1, 1, 2, 1, 0, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 1, 0, 3, 1, 0, 1, 1, 0, 3, 1, 0, 2, 1, 0, 1, 1, 0, 10, 1, 0, 1, 1, 0, 26, 1, 0, 2, 1, 0, 18, 1, 0, 18, 1, 1, 0, 8, 1, 0, 28, 2, 1, 0, 7, 1, 0, 15, 1, 0, 30, 1, 0, 6, 1, 0, 66 }; - BOOST_REQUIRE( test_2_packed.size() == 383 ); + REQUIRE( test_2_packed.size() == 383 ); const vector test_2_encoded = encode_stream_vbyte( test_2_chan_cnts ); - BOOST_CHECK( test_2_encoded == test_2_packed ); + CHECK( test_2_encoded == test_2_packed ); vector test_2_dec; const size_t test_2_nbytedec = decode_stream_vbyte(test_2_encoded,test_2_dec); - BOOST_CHECK( test_2_nbytedec == test_2_packed.size() ); - BOOST_CHECK( test_2_dec == test_2_chan_cnts ); + CHECK( test_2_nbytedec == test_2_packed.size() ); + CHECK( test_2_dec == test_2_chan_cnts ); @@ -881,7 +1117,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 8, 1, 0, 8, 1, 0, 5, 1, 0, 3, 1, 0, 14, 1, 0, 5, 1, 0, 9, 2, 0, 11, 2, 0, 19, 1, 0, 8, 1, 0, 7, 1, 0, 4, 1, 0, 32, 1, 0, 4, 1, 0, 25 }; - BOOST_REQUIRE( test_3_chan_cnts.size() == 343 ); + REQUIRE( test_3_chan_cnts.size() == 343 ); const vector test_3_packed{ 87, 1, 0, 64, 85, 85, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 39, 111, 136, 215, 238, 21, 1, 40, 1, 59, @@ -893,13 +1129,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 2, 0, 1, 1, 1, 2, 0, 1, 1, 0, 1, 1, 1, 1, 0, 7, 1, 0, 3, 1, 0, 20, 1, 1, 0, 1, 1, 0, 2, 1, 0, 2, 1, 1, 0, 1, 1, 0, 9, 1, 0, 13, 1, 0, 4, 1, 0, 1, 2, 0, 8, 1, 0, 8, 1, 0, 5, 1, 0, 3, 1, 0, 14, 1, 0, 5, 1, 0, 9, 2, 0, 11, 2, 0, 19, 1, 0, 8, 1, 0, 7, 1, 0, 4, 1, 0, 32, 1, 0, 4, 1, 0, 25 }; - BOOST_REQUIRE( test_3_packed.size() == 444 ); + REQUIRE( test_3_packed.size() == 444 ); const vector test_3_encoded = encode_stream_vbyte( test_3_chan_cnts ); - BOOST_CHECK( test_3_encoded == test_3_packed ); + CHECK( test_3_encoded == test_3_packed ); vector test_3_dec; const size_t test_3_nbytedec = decode_stream_vbyte(test_3_encoded,test_3_dec); - BOOST_CHECK( test_3_nbytedec == test_3_packed.size() ); - BOOST_CHECK( test_3_dec == test_3_chan_cnts ); + CHECK( test_3_nbytedec == test_3_packed.size() ); + CHECK( test_3_dec == test_3_chan_cnts ); @@ -922,7 +1158,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 2, 2, 1, 0, 2, 1, 0, 5, 1, 0, 5, 1, 0, 14, 1, 0, 3, 1, 0, 2, 1, 0, 1, 1, 0, 12, 1, 0, 4, 1, 0, 27, 1, 0, 5, 1, 0, 28, 1, 0, 6, 2, 0, 17, 1, 0, 20, 1, 0, 8, 1, 0, 68 }; - BOOST_REQUIRE( test_4_chan_cnts.size() == 314 ); + REQUIRE( test_4_chan_cnts.size() == 314 ); const vector test_4_packed{ 58, 1, 0, 64, 85, 85, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 42, 97, 132, 163, 242, 22, 1, 32, 1, 61, 1, 47, 1, 45, 1, 66, 1, @@ -934,13 +1170,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 4, 1, 0, 2, 2, 1, 0, 2, 1, 0, 5, 1, 0, 5, 1, 0, 14, 1, 0, 3, 1, 0, 2, 1, 0, 1, 1, 0, 12, 1, 0, 4, 1, 0, 27, 1, 0, 5, 1, 0, 28, 1, 0, 6, 2, 0, 17, 1, 0, 20, 1, 0, 8, 1, 0, 68 }; - BOOST_REQUIRE( test_4_packed.size() == 408 ); + REQUIRE( test_4_packed.size() == 408 ); const vector test_4_encoded = encode_stream_vbyte( test_4_chan_cnts ); - BOOST_CHECK( test_4_encoded == test_4_packed ); + CHECK( test_4_encoded == test_4_packed ); vector test_4_dec; const size_t test_4_nbytedec = decode_stream_vbyte(test_4_encoded,test_4_dec); - BOOST_CHECK( test_4_nbytedec == test_4_packed.size() ); - BOOST_CHECK( test_4_dec == test_4_chan_cnts ); + CHECK( test_4_nbytedec == test_4_packed.size() ); + CHECK( test_4_dec == test_4_chan_cnts ); @@ -964,7 +1200,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 7, 1, 0, 2, 1, 1, 0, 6, 1, 1, 0, 6, 1, 0, 2, 1, 0, 7, 1, 0, 32, 1, 0, 22, 1, 0, 3, 1, 0, 14, 1, 0, 8, 1, 0, 14, 1, 0, 22, 1, 0, 6, 1, 0, 42, 1, 0, 23 }; - BOOST_REQUIRE( test_5_chan_cnts.size() == 330 ); + REQUIRE( test_5_chan_cnts.size() == 330 ); const vector test_5_packed{ 74, 1, 0, 64, 85, 21, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 41, 89, 143, 180, 248, 11, 1, 16, 1, 30, 1, 30, 1, @@ -976,13 +1212,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 1, 1, 0, 3, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 3, 1, 0, 7, 1, 0, 1, 1, 0, 2, 1, 1, 0, 7, 1, 0, 2, 1, 1, 0, 6, 1, 1, 0, 6, 1, 0, 2, 1, 0, 7, 1, 0, 32, 1, 0, 22, 1, 0, 3, 1, 0, 14, 1, 0, 8, 1, 0, 14, 1, 0, 22, 1, 0, 6, 1, 0, 42, 1, 0, 23 }; - BOOST_REQUIRE( test_5_packed.size() == 427 ); + REQUIRE( test_5_packed.size() == 427 ); const vector test_5_encoded = encode_stream_vbyte( test_5_chan_cnts ); - BOOST_CHECK( test_5_encoded == test_5_packed ); + CHECK( test_5_encoded == test_5_packed ); vector test_5_dec; const size_t test_5_nbytedec = decode_stream_vbyte(test_5_encoded,test_5_dec); - BOOST_CHECK( test_5_nbytedec == test_5_packed.size() ); - BOOST_CHECK( test_5_dec == test_5_chan_cnts ); + CHECK( test_5_nbytedec == test_5_packed.size() ); + CHECK( test_5_dec == test_5_chan_cnts ); @@ -1258,7 +1494,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 5, 8, 5, 4, 1, 1, 2, 0, 6, 1, 0, 76, 1, 0, 56, 1, 0, 38, 1, 0, 76, 1, 0, 55, 1, 0, 43, 1, 0, 86, 1, 0, 73, 1, 0, 52, 1, 0, 98, 1, 0, 131, 1, 0, 245 }; - BOOST_REQUIRE( test_6_chan_cnts.size() == 5365 ); + REQUIRE( test_6_chan_cnts.size() == 5365 ); const vector test_6_packed{ 245, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1396,13 +1632,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 52, 1, 0, 35, 1, 0, 25, 2, 1, 2, 2, 3, 6, 4, 6, 5, 8, 5, 4, 1, 1, 2, 0, 6, 1, 0, 76, 1, 0, 56, 1, 0, 38, 1, 0, 76, 1, 0, 55, 1, 0, 43, 1, 0, 86, 1, 0, 73, 1, 0, 52, 1, 0, 98, 1, 0, 131, 1, 0, 245 }; - BOOST_REQUIRE( test_6_packed.size() == 6710 ); + REQUIRE( test_6_packed.size() == 6710 ); const vector test_6_encoded = encode_stream_vbyte( test_6_chan_cnts ); - BOOST_CHECK( test_6_encoded == test_6_packed ); + CHECK( test_6_encoded == test_6_packed ); vector test_6_dec; const size_t test_6_nbytedec = decode_stream_vbyte(test_6_encoded,test_6_dec); - BOOST_CHECK( test_6_nbytedec == test_6_packed.size() ); - BOOST_CHECK( test_6_dec == test_6_chan_cnts ); + CHECK( test_6_nbytedec == test_6_packed.size() ); + CHECK( test_6_dec == test_6_chan_cnts ); @@ -1678,7 +1914,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 60, 1, 0, 38, 1, 0, 12, 1, 0, 5, 1, 0, 3, 1, 1, 1, 1, 1, 4, 7, 3, 7, 11, 5, 4, 2, 1, 1, 0, 113, 1, 0, 38, 1, 0, 374, 1, 0, 196, 1, 0, 26, 1, 0, 100, 1, 0, 166, 1, 0, 26 }; - BOOST_REQUIRE( test_7_chan_cnts.size() == 5373 ); + REQUIRE( test_7_chan_cnts.size() == 5373 ); const vector test_7_packed{ 253, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 1, 0, 0, 0, 0, 0, 0, 0, 0, @@ -1816,13 +2052,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 1, 0, 18, 1, 0, 38, 1, 0, 19, 1, 0, 19, 1, 0, 24, 1, 0, 63, 1, 0, 61, 1, 0, 24, 1, 0, 34, 1, 0, 60, 1, 0, 38, 1, 0, 12, 1, 0, 5, 1, 0, 3, 1, 1, 1, 1, 1, 4, 7, 3, 7, 11, 5, 4, 2, 1, 1, 0, 113, 1, 0, 38, 1, 0, 118, 1, 1, 0, 196, 1, 0, 26, 1, 0, 100, 1, 0, 166, 1, 0, 26 }; - BOOST_REQUIRE( test_7_packed.size() == 6732 ); + REQUIRE( test_7_packed.size() == 6732 ); const vector test_7_encoded = encode_stream_vbyte( test_7_chan_cnts ); - BOOST_CHECK( test_7_encoded == test_7_packed ); + CHECK( test_7_encoded == test_7_packed ); vector test_7_dec; const size_t test_7_nbytedec = decode_stream_vbyte(test_7_encoded,test_7_dec); - BOOST_CHECK( test_7_nbytedec == test_7_packed.size() ); - BOOST_CHECK( test_7_dec == test_7_chan_cnts ); + CHECK( test_7_nbytedec == test_7_packed.size() ); + CHECK( test_7_dec == test_7_chan_cnts ); @@ -2102,7 +2338,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 40, 1, 0, 17, 1, 0, 7, 1, 0, 1, 1, 0, 72, 1, 0, 49, 1, 0, 10, 1, 0, 11, 1, 0, 95, 1, 0, 87, 1, 0, 1, 1, 0, 71, 1, 0, 60, 1, 0, 6, 1, 0, 123, 1, 0, 11, 1, 0, 121, 1, 0, 248 }; - BOOST_REQUIRE( test_8_chan_cnts.size() == 5454 ); + REQUIRE( test_8_chan_cnts.size() == 5454 ); const vector test_8_packed{ 78, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2242,13 +2478,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 73, 1, 0, 2, 1, 0, 1, 2, 2, 10, 4, 3, 6, 9, 5, 0, 1, 1, 2, 1, 0, 40, 1, 0, 17, 1, 0, 7, 1, 0, 1, 1, 0, 72, 1, 0, 49, 1, 0, 10, 1, 0, 11, 1, 0, 95, 1, 0, 87, 1, 0, 1, 1, 0, 71, 1, 0, 60, 1, 0, 6, 1, 0, 123, 1, 0, 11, 1, 0, 121, 1, 0, 248 }; - BOOST_REQUIRE( test_8_packed.size() == 6824 ); + REQUIRE( test_8_packed.size() == 6824 ); const vector test_8_encoded = encode_stream_vbyte( test_8_chan_cnts ); - BOOST_CHECK( test_8_encoded == test_8_packed ); + CHECK( test_8_encoded == test_8_packed ); vector test_8_dec; const size_t test_8_nbytedec = decode_stream_vbyte(test_8_encoded,test_8_dec); - BOOST_CHECK( test_8_nbytedec == test_8_packed.size() ); - BOOST_CHECK( test_8_dec == test_8_chan_cnts ); + CHECK( test_8_nbytedec == test_8_packed.size() ); + CHECK( test_8_dec == test_8_chan_cnts ); @@ -2526,7 +2762,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 53, 1, 0, 251, 1, 0, 55, 1, 0, 15, 1, 0, 20, 1, 0, 24, 1, 0, 13, 1, 0, 126, 1, 0, 44, 1, 0, 123, 1, 0, 10, 1, 0, 43, 1, 0, 16, 1, 0, 188, 1, 0, 20, 1, 0, 1, 1, 0, 30 }; - BOOST_REQUIRE( test_9_chan_cnts.size() == 5409 ); + REQUIRE( test_9_chan_cnts.size() == 5409 ); const vector test_9_packed{ 33, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2665,13 +2901,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 4, 1, 0, 54, 1, 0, 1, 1, 2, 2, 2, 6, 6, 8, 3, 4, 4, 5, 2, 0, 53, 1, 0, 251, 1, 0, 55, 1, 0, 15, 1, 0, 20, 1, 0, 24, 1, 0, 13, 1, 0, 126, 1, 0, 44, 1, 0, 123, 1, 0, 10, 1, 0, 43, 1, 0, 16, 1, 0, 188, 1, 0, 20, 1, 0, 1, 1, 0, 30 }; - BOOST_REQUIRE( test_9_packed.size() == 6770 ); + REQUIRE( test_9_packed.size() == 6770 ); const vector test_9_encoded = encode_stream_vbyte( test_9_chan_cnts ); - BOOST_CHECK( test_9_encoded == test_9_packed ); + CHECK( test_9_encoded == test_9_packed ); vector test_9_dec; const size_t test_9_nbytedec = decode_stream_vbyte(test_9_encoded,test_9_dec); - BOOST_CHECK( test_9_nbytedec == test_9_packed.size() ); - BOOST_CHECK( test_9_dec == test_9_chan_cnts ); + CHECK( test_9_nbytedec == test_9_packed.size() ); + CHECK( test_9_dec == test_9_chan_cnts ); @@ -2951,7 +3187,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 40, 1, 0, 17, 1, 0, 7, 1, 0, 1, 1, 0, 72, 1, 0, 49, 1, 0, 10, 1, 0, 11, 1, 0, 95, 1, 0, 87, 1, 0, 1, 1, 0, 71, 1, 0, 60, 1, 0, 6, 1, 0, 123, 1, 0, 11, 1, 0, 121, 1, 0, 247 }; - BOOST_REQUIRE( test_10_chan_cnts.size() == 5454 ); + REQUIRE( test_10_chan_cnts.size() == 5454 ); const vector test_10_packed{ 78, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3091,13 +3327,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 73, 1, 0, 2, 1, 0, 1, 2, 2, 10, 4, 3, 6, 9, 5, 0, 1, 1, 2, 1, 0, 40, 1, 0, 17, 1, 0, 7, 1, 0, 1, 1, 0, 72, 1, 0, 49, 1, 0, 10, 1, 0, 11, 1, 0, 95, 1, 0, 87, 1, 0, 1, 1, 0, 71, 1, 0, 60, 1, 0, 6, 1, 0, 123, 1, 0, 11, 1, 0, 121, 1, 0, 247 }; - BOOST_REQUIRE( test_10_packed.size() == 6824 ); + REQUIRE( test_10_packed.size() == 6824 ); const vector test_10_encoded = encode_stream_vbyte( test_10_chan_cnts ); - BOOST_CHECK( test_10_encoded == test_10_packed ); + CHECK( test_10_encoded == test_10_packed ); vector test_10_dec; const size_t test_10_nbytedec = decode_stream_vbyte(test_10_encoded,test_10_dec); - BOOST_CHECK( test_10_nbytedec == test_10_packed.size() ); - BOOST_CHECK( test_10_dec == test_10_chan_cnts ); + CHECK( test_10_nbytedec == test_10_packed.size() ); + CHECK( test_10_dec == test_10_chan_cnts ); @@ -3139,7 +3375,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 1, 1, 0, 1, 1, 0, 15, 1, 0, 9, 1, 0, 4, 1, 1, 0, 1, 1, 0, 4, 1, 2, 0, 2, 1, 0, 3, 1, 0, 2, 1, 0, 15, 2, 0, 102, 1, 0, 1, 1, 0, 15 }; - BOOST_REQUIRE( test_11_chan_cnts.size() == 683 ); + REQUIRE( test_11_chan_cnts.size() == 683 ); const vector test_11_packed{ 171, 2, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3160,13 +3396,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 21, 1, 0, 3, 1, 0, 20, 1, 1, 0, 13, 1, 0, 1, 1, 0, 1, 1, 0, 15, 1, 0, 9, 1, 0, 4, 1, 1, 0, 1, 1, 0, 4, 1, 2, 0, 2, 1, 0, 3, 1, 0, 2, 1, 0, 15, 2, 0, 102, 1, 0, 1, 1, 0, 15 }; - BOOST_REQUIRE( test_11_packed.size() == 857 ); + REQUIRE( test_11_packed.size() == 857 ); const vector test_11_encoded = encode_stream_vbyte( test_11_chan_cnts ); - BOOST_CHECK( test_11_encoded == test_11_packed ); + CHECK( test_11_encoded == test_11_packed ); vector test_11_dec; const size_t test_11_nbytedec = decode_stream_vbyte(test_11_encoded,test_11_dec); - BOOST_CHECK( test_11_nbytedec == test_11_packed.size() ); - BOOST_CHECK( test_11_dec == test_11_chan_cnts ); + CHECK( test_11_nbytedec == test_11_packed.size() ); + CHECK( test_11_dec == test_11_chan_cnts ); @@ -3211,7 +3447,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 13, 1, 0, 35, 1, 0, 8, 1, 1, 0, 16, 1, 0, 7, 1, 0, 10, 1, 1, 0, 13, 1, 0, 23, 1, 0, 3, 1, 0, 4, 1, 0, 1, 1, 0, 4, 1, 0, 27, 1, 0, 6, 1, 0, 42 }; - BOOST_REQUIRE( test_12_chan_cnts.size() == 747 ); + REQUIRE( test_12_chan_cnts.size() == 747 ); const vector test_12_packed{ 235, 2, 80, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3238,13 +3474,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 6, 1, 0, 11, 1, 1, 1, 0, 3, 1, 1, 0, 2, 2, 0, 5, 2, 0, 15, 1, 0, 6, 1, 0, 4, 1, 0, 22, 2, 0, 10, 1, 0, 13, 1, 0, 35, 1, 0, 8, 1, 1, 0, 16, 1, 0, 7, 1, 0, 10, 1, 1, 0, 13, 1, 0, 23, 1, 0, 3, 1, 0, 4, 1, 0, 1, 1, 0, 4, 1, 0, 27, 1, 0, 6, 1, 0, 42 }; - BOOST_REQUIRE( test_12_packed.size() == 1178 ); + REQUIRE( test_12_packed.size() == 1178 ); const vector test_12_encoded = encode_stream_vbyte( test_12_chan_cnts ); - BOOST_CHECK( test_12_encoded == test_12_packed ); + CHECK( test_12_encoded == test_12_packed ); vector test_12_dec; const size_t test_12_nbytedec = decode_stream_vbyte(test_12_encoded,test_12_dec); - BOOST_CHECK( test_12_nbytedec == test_12_packed.size() ); - BOOST_CHECK( test_12_dec == test_12_chan_cnts ); + CHECK( test_12_nbytedec == test_12_packed.size() ); + CHECK( test_12_dec == test_12_chan_cnts ); @@ -3284,7 +3520,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 13, 1, 0, 1, 1, 0, 3, 1, 0, 6, 1, 0, 34, 1, 0, 26, 1, 0, 2, 1, 0, 8, 1, 0, 18, 1, 0, 14, 1, 0, 6, 1, 0, 14, 1, 0, 79, 1, 1, 0, 21 }; - BOOST_REQUIRE( test_13_chan_cnts.size() == 642 ); + REQUIRE( test_13_chan_cnts.size() == 642 ); const vector test_13_packed{ 130, 2, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 21, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3306,13 +3542,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 15, 1, 0, 12, 1, 0, 3, 1, 0, 3, 1, 0, 3, 1, 0, 1, 1, 0, 1, 1, 1, 0, 4, 1, 1, 0, 2, 1, 0, 5, 2, 0, 11, 1, 0, 1, 1, 0, 9, 1, 1, 0, 6, 1, 0, 6, 1, 0, 16, 1, 0, 13, 1, 0, 1, 1, 0, 3, 1, 0, 6, 1, 0, 34, 1, 0, 26, 1, 0, 2, 1, 0, 8, 1, 0, 18, 1, 0, 14, 1, 0, 6, 1, 0, 14, 1, 0, 79, 1, 1, 0, 21 }; - BOOST_REQUIRE( test_13_packed.size() == 943 ); + REQUIRE( test_13_packed.size() == 943 ); const vector test_13_encoded = encode_stream_vbyte( test_13_chan_cnts ); - BOOST_CHECK( test_13_encoded == test_13_packed ); + CHECK( test_13_encoded == test_13_packed ); vector test_13_dec; const size_t test_13_nbytedec = decode_stream_vbyte(test_13_encoded,test_13_dec); - BOOST_CHECK( test_13_nbytedec == test_13_packed.size() ); - BOOST_CHECK( test_13_dec == test_13_chan_cnts ); + CHECK( test_13_nbytedec == test_13_packed.size() ); + CHECK( test_13_dec == test_13_chan_cnts ); @@ -3355,7 +3591,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 4, 1, 0, 3, 1, 0, 3, 1, 0, 13, 1, 0, 3, 1, 1, 0, 20, 1, 0, 50, 1, 0, 1, 1, 0, 2, 1, 0, 12, 1, 0, 1, 1, 0, 7, 1, 0, 5, 1, 0, 10, 1, 0, 1, 1, 0, 4, 1, 0, 21, 1, 0, 1, 1, 0, 9, 1, 0, 84 }; - BOOST_REQUIRE( test_14_chan_cnts.size() == 719 ); + REQUIRE( test_14_chan_cnts.size() == 719 ); const vector test_14_packed{ 207, 2, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3377,13 +3613,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 3, 1, 0, 13, 1, 0, 3, 1, 1, 0, 20, 1, 0, 50, 1, 0, 1, 1, 0, 2, 1, 0, 12, 1, 0, 1, 1, 0, 7, 1, 0, 5, 1, 0, 10, 1, 0, 1, 1, 0, 4, 1, 0, 21, 1, 0, 1, 1, 0, 9, 1, 0, 84 }; - BOOST_REQUIRE( test_14_packed.size() == 903 ); + REQUIRE( test_14_packed.size() == 903 ); const vector test_14_encoded = encode_stream_vbyte( test_14_chan_cnts ); - BOOST_CHECK( test_14_encoded == test_14_packed ); + CHECK( test_14_encoded == test_14_packed ); vector test_14_dec; const size_t test_14_nbytedec = decode_stream_vbyte(test_14_encoded,test_14_dec); - BOOST_CHECK( test_14_nbytedec == test_14_packed.size() ); - BOOST_CHECK( test_14_dec == test_14_chan_cnts ); + CHECK( test_14_nbytedec == test_14_packed.size() ); + CHECK( test_14_dec == test_14_chan_cnts ); @@ -3426,7 +3662,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 2, 1, 0, 7, 1, 0, 5, 1, 0, 6, 1, 0, 14, 1, 0, 47, 1, 1, 0, 6, 1, 0, 8, 1, 0, 9, 1, 0, 9, 1, 1, 0, 69, 1, 0, 25, 1, 0, 10, 1, 0, 1, 1, 0, 14, 1, 0, 23 }; - BOOST_REQUIRE( test_15_chan_cnts.size() == 710 ); + REQUIRE( test_15_chan_cnts.size() == 710 ); const vector test_15_packed{ 198, 2, 80, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3450,13 +3686,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 5, 1, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 1, 1, 1, 1, 0, 2, 1, 0, 15, 1, 0, 14, 1, 0, 2, 1, 0, 7, 1, 0, 5, 1, 0, 6, 1, 0, 14, 1, 0, 47, 1, 1, 0, 6, 1, 0, 8, 1, 0, 9, 1, 0, 9, 1, 1, 0, 69, 1, 0, 25, 1, 0, 10, 1, 0, 1, 1, 0, 14, 1, 0, 23 }; - BOOST_REQUIRE( test_15_packed.size() == 1025 ); + REQUIRE( test_15_packed.size() == 1025 ); const vector test_15_encoded = encode_stream_vbyte( test_15_chan_cnts ); - BOOST_CHECK( test_15_encoded == test_15_packed ); + CHECK( test_15_encoded == test_15_packed ); vector test_15_dec; const size_t test_15_nbytedec = decode_stream_vbyte(test_15_encoded,test_15_dec); - BOOST_CHECK( test_15_nbytedec == test_15_packed.size() ); - BOOST_CHECK( test_15_dec == test_15_chan_cnts ); + CHECK( test_15_nbytedec == test_15_packed.size() ); + CHECK( test_15_dec == test_15_chan_cnts ); @@ -3720,7 +3956,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 86, 1, 0, 38, 1, 0, 408, 1, 0, 372, 1, 0, 21, 1, 0, 31, 1, 0, 75, 1, 0, 38, 1, 0, 254, 1, 0, 434, 1, 0, 94, 1, 0, 102, 1, 0, 42, 1, 0, 168, 1, 0, 61, 1, 0, 198 }; - BOOST_REQUIRE( test_16_chan_cnts.size() == 5127 ); + REQUIRE( test_16_chan_cnts.size() == 5127 ); const vector test_16_packed{ 7, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -3852,13 +4088,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 61, 1, 0, 2, 1, 0, 87, 1, 0, 96, 1, 0, 18, 1, 0, 203, 1, 0, 119, 1, 0, 86, 1, 0, 38, 1, 0, 152, 1, 1, 0, 116, 1, 1, 0, 21, 1, 0, 31, 1, 0, 75, 1, 0, 38, 1, 0, 254, 1, 0, 178, 1, 1, 0, 94, 1, 0, 102, 1, 0, 42, 1, 0, 168, 1, 0, 61, 1, 0, 198 }; - BOOST_REQUIRE( test_16_packed.size() == 6421 ); + REQUIRE( test_16_packed.size() == 6421 ); const vector test_16_encoded = encode_stream_vbyte( test_16_chan_cnts ); - BOOST_CHECK( test_16_encoded == test_16_packed ); + CHECK( test_16_encoded == test_16_packed ); vector test_16_dec; const size_t test_16_nbytedec = decode_stream_vbyte(test_16_encoded,test_16_dec); - BOOST_CHECK( test_16_nbytedec == test_16_packed.size() ); - BOOST_CHECK( test_16_dec == test_16_chan_cnts ); + CHECK( test_16_nbytedec == test_16_packed.size() ); + CHECK( test_16_dec == test_16_chan_cnts ); @@ -4223,7 +4459,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 16, 1, 0, 104, 1, 0, 492, 1, 0, 207, 1, 0, 114, 1, 0, 123, 1, 0, 412, 1, 0, 7, 1, 0, 658, 1, 0, 33, 1, 0, 507, 1, 0, 238, 1, 0, 14, 1, 0, 311, 1, 0, 109 }; - BOOST_REQUIRE( test_17_chan_cnts.size() == 7145 ); + REQUIRE( test_17_chan_cnts.size() == 7145 ); const vector test_17_packed{ 233, 27, 0, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, @@ -4427,13 +4663,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 114, 1, 0, 127, 1, 0, 44, 1, 0, 17, 1, 0, 32, 1, 0, 35, 1, 0, 200, 1, 0, 56, 1, 0, 61, 1, 0, 222, 1, 1, 0, 142, 1, 0, 25, 1, 0, 24, 2, 1, 0, 48, 1, 1, 0, 61, 1, 0, 16, 1, 0, 104, 1, 0, 236, 1, 1, 0, 207, 1, 0, 114, 1, 0, 123, 1, 0, 156, 1, 1, 0, 7, 1, 0, 146, 2, 1, 0, 33, 1, 0, 251, 1, 1, 0, 238, 1, 0, 14, 1, 0, 55, 1, 1, 0, 109 }; - BOOST_REQUIRE( test_17_packed.size() == 10046 ); + REQUIRE( test_17_packed.size() == 10046 ); const vector test_17_encoded = encode_stream_vbyte( test_17_chan_cnts ); - BOOST_CHECK( test_17_encoded == test_17_packed ); + CHECK( test_17_encoded == test_17_packed ); vector test_17_dec; const size_t test_17_nbytedec = decode_stream_vbyte(test_17_encoded,test_17_dec); - BOOST_CHECK( test_17_nbytedec == test_17_packed.size() ); - BOOST_CHECK( test_17_dec == test_17_chan_cnts ); + CHECK( test_17_nbytedec == test_17_packed.size() ); + CHECK( test_17_dec == test_17_chan_cnts ); @@ -4686,7 +4922,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 721, 1, 0, 80, 1, 0, 20, 1, 0, 434, 1, 0, 65, 1, 0, 136, 1, 0, 148, 1, 0, 35, 1, 0, 53, 1, 0, 387, 1, 0, 92, 1, 0, 106, 1, 0, 516, 1, 0, 568, 1, 0, 187, 1, 0, 249, 1, 0, 59, 1, 0, 122 }; - BOOST_REQUIRE( test_18_chan_cnts.size() == 4914 ); + REQUIRE( test_18_chan_cnts.size() == 4914 ); const vector test_18_packed{ 50, 19, 0, 0, 0, 84, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, @@ -4828,13 +5064,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 20, 1, 0, 178, 1, 1, 0, 65, 1, 0, 136, 1, 0, 148, 1, 0, 35, 1, 0, 53, 1, 0, 131, 1, 1, 0, 92, 1, 0, 106, 1, 0, 4, 2, 1, 0, 56, 2, 1, 0, 187, 1, 0, 249, 1, 0, 59, 1, 0, 122 }; - BOOST_REQUIRE( test_18_packed.size() == 6902 ); + REQUIRE( test_18_packed.size() == 6902 ); const vector test_18_encoded = encode_stream_vbyte( test_18_chan_cnts ); - BOOST_CHECK( test_18_encoded == test_18_packed ); + CHECK( test_18_encoded == test_18_packed ); vector test_18_dec; const size_t test_18_nbytedec = decode_stream_vbyte(test_18_encoded,test_18_dec); - BOOST_CHECK( test_18_nbytedec == test_18_packed.size() ); - BOOST_CHECK( test_18_dec == test_18_chan_cnts ); + CHECK( test_18_nbytedec == test_18_packed.size() ); + CHECK( test_18_dec == test_18_chan_cnts ); @@ -5205,7 +5441,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 1, 0, 195, 1, 0, 263, 1, 0, 2, 1, 0, 188, 1, 0, 11, 1, 0, 69, 1, 0, 14, 1, 0, 126, 1, 0, 34, 1, 0, 100, 1, 0, 124, 1, 0, 37, 1, 0, 140, 1, 0, 135, 1, 0, 14 }; - BOOST_REQUIRE( test_19_chan_cnts.size() == 7265 ); + REQUIRE( test_19_chan_cnts.size() == 7265 ); const vector test_19_packed{ 97, 28, 0, 0, 64, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, 85, @@ -5409,13 +5645,13 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 127, 1, 0, 28, 1, 0, 17, 1, 0, 195, 1, 0, 7, 1, 1, 0, 2, 1, 0, 188, 1, 0, 11, 1, 0, 69, 1, 0, 14, 1, 0, 126, 1, 0, 34, 1, 0, 100, 1, 0, 124, 1, 0, 37, 1, 0, 140, 1, 0, 135, 1, 0, 14 }; - BOOST_REQUIRE( test_19_packed.size() == 10003 ); + REQUIRE( test_19_packed.size() == 10003 ); const vector test_19_encoded = encode_stream_vbyte( test_19_chan_cnts ); - BOOST_CHECK( test_19_encoded == test_19_packed ); + CHECK( test_19_encoded == test_19_packed ); vector test_19_dec; const size_t test_19_nbytedec = decode_stream_vbyte(test_19_encoded,test_19_dec); - BOOST_CHECK( test_19_nbytedec == test_19_packed.size() ); - BOOST_CHECK( test_19_dec == test_19_chan_cnts ); + CHECK( test_19_nbytedec == test_19_packed.size() ); + CHECK( test_19_dec == test_19_chan_cnts ); @@ -5683,7 +5919,7 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 38, 1, 0, 83, 1, 0, 109, 1, 0, 256, 1, 0, 137, 1, 0, 81, 1, 0, 54, 1, 0, 180, 1, 0, 45, 1, 0, 270, 1, 0, 28, 1, 0, 136, 1, 0, 17, 1, 0, 65, 1, 0, 15, 1, 0, 263, 1, 0, 172, 1, 0, 56 }; - BOOST_REQUIRE( test_20_chan_cnts.size() == 5212 ); + REQUIRE( test_20_chan_cnts.size() == 5212 ); const vector test_20_packed{ 92, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -5817,12 +6053,12 @@ BOOST_AUTO_TEST_CASE( StreamVByte ) 0, 119, 1, 0, 2, 1, 0, 70, 1, 0, 15, 1, 0, 6, 1, 0, 38, 1, 0, 83, 1, 0, 109, 1, 0, 0, 1, 1, 0, 137, 1, 0, 81, 1, 0, 54, 1, 0, 180, 1, 0, 45, 1, 0, 14, 1, 1, 0, 28, 1, 0, 136, 1, 0, 17, 1, 0, 65, 1, 0, 15, 1, 0, 7, 1, 1, 0, 172, 1, 0, 56 }; - BOOST_REQUIRE( test_20_packed.size() == 6521 ); + REQUIRE( test_20_packed.size() == 6521 ); const vector test_20_encoded = encode_stream_vbyte( test_20_chan_cnts ); - BOOST_CHECK( test_20_encoded == test_20_packed ); + CHECK( test_20_encoded == test_20_packed ); vector test_20_dec; const size_t test_20_nbytedec = decode_stream_vbyte(test_20_encoded,test_20_dec); - BOOST_CHECK( test_20_nbytedec == test_20_packed.size() ); - BOOST_CHECK( test_20_dec == test_20_chan_cnts ); + CHECK( test_20_nbytedec == test_20_packed.size() ); + CHECK( test_20_dec == test_20_chan_cnts ); -}//BOOST_AUTO_TEST_CASE( StreamVByte ) +}//TEST_CASE( StreamVByte ) diff --git a/unit_tests/test_utf8_limit_str_size.cpp b/unit_tests/test_utf8_limit_str_size.cpp index 3aa6b85..95507d1 100644 --- a/unit_tests/test_utf8_limit_str_size.cpp +++ b/unit_tests/test_utf8_limit_str_size.cpp @@ -28,166 +28,160 @@ #include #include #include -#include -#define BOOST_TEST_MODULE test_utf8_limit_str_size -#include - -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" #include "SpecUtils/StringAlgo.h" using namespace std; -using namespace boost::unit_test; -BOOST_AUTO_TEST_CASE( test_utf8_limit_str_size ) +TEST_CASE( "Test utf8 limit str size" ) { string teststr = ""; SpecUtils::utf8_limit_str_size( teststr, 0 ); - BOOST_CHECK_EQUAL( teststr, "" ); + CHECK_EQ( teststr, "" ); teststr = ""; SpecUtils::utf8_limit_str_size( teststr, 1 ); - BOOST_CHECK_EQUAL( teststr, "" ); + CHECK_EQ( teststr, "" ); teststr = ""; SpecUtils::utf8_limit_str_size( teststr, 5 ); - BOOST_CHECK_EQUAL( teststr, "" ); + CHECK_EQ( teststr, "" ); teststr = "AAAA"; SpecUtils::utf8_limit_str_size( teststr, 0 ); - BOOST_CHECK_EQUAL( teststr, "" ); + CHECK_EQ( teststr, "" ); teststr = "AAAA"; SpecUtils::utf8_limit_str_size( teststr, 1 ); - BOOST_CHECK_EQUAL( teststr, "A" ); + CHECK_EQ( teststr, "A" ); teststr = "AAAA"; SpecUtils::utf8_limit_str_size( teststr, 4 ); - BOOST_CHECK_EQUAL( teststr, "AAAA" ); + CHECK_EQ( teststr, "AAAA" ); teststr = "AAA"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, "AAA" ); + CHECK_EQ( teststr, "AAA" ); teststr = "AAA"; SpecUtils::utf8_limit_str_size( teststr, 4 ); - BOOST_CHECK_EQUAL( teststr, "AAA" ); + CHECK_EQ( teststr, "AAA" ); teststr = u8"ⓧ"; SpecUtils::utf8_limit_str_size( teststr, 0 ); - BOOST_CHECK_EQUAL( teststr, "" ); + CHECK_EQ( teststr, "" ); teststr = u8"ⓧ"; SpecUtils::utf8_limit_str_size( teststr, 1 ); - BOOST_CHECK_EQUAL( teststr, "" ); + CHECK_EQ( teststr, "" ); teststr = u8"ⓧ"; SpecUtils::utf8_limit_str_size( teststr, 2 ); - BOOST_CHECK_EQUAL( teststr, "" ); + CHECK_EQ( teststr, "" ); teststr = u8"ⓧ"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, u8"ⓧ" ); + CHECK_EQ( teststr, u8"ⓧ" ); teststr = u8"aⓧ"; SpecUtils::utf8_limit_str_size( teststr, 1 ); - BOOST_CHECK_EQUAL( teststr, "a" ); + CHECK_EQ( teststr, "a" ); teststr = u8"ⓧⓧ"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, u8"ⓧ" ); + CHECK_EQ( teststr, u8"ⓧ" ); teststr = u8"ⓧⓧ"; SpecUtils::utf8_limit_str_size( teststr, 6 ); - BOOST_CHECK_EQUAL( teststr, u8"ⓧⓧ" ); + CHECK_EQ( teststr, u8"ⓧⓧ" ); teststr = u8"ⓧⓧaaa"; SpecUtils::utf8_limit_str_size( teststr, 6 ); - BOOST_CHECK_EQUAL( teststr, u8"ⓧⓧ" ); + CHECK_EQ( teststr, u8"ⓧⓧ" ); teststr = u8"ⓧⓧaaa"; SpecUtils::utf8_limit_str_size( teststr, 7 ); - BOOST_CHECK_EQUAL( teststr, u8"ⓧⓧa" ); + CHECK_EQ( teststr, u8"ⓧⓧa" ); teststr = u8"aaⓧⓧaaa"; SpecUtils::utf8_limit_str_size( teststr, 5 ); - BOOST_CHECK_EQUAL( teststr, u8"aaⓧ" ); + CHECK_EQ( teststr, u8"aaⓧ" ); teststr = u8"aaⓧⓧaaa"; SpecUtils::utf8_limit_str_size( teststr, 6 ); - BOOST_CHECK_EQUAL( teststr, u8"aaⓧ" ); + CHECK_EQ( teststr, u8"aaⓧ" ); teststr = u8"aaⓧⓧaaa"; SpecUtils::utf8_limit_str_size( teststr, 7 ); - BOOST_CHECK_EQUAL( teststr, u8"aaⓧ" ); + CHECK_EQ( teststr, u8"aaⓧ" ); teststr = u8"aõ"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, u8"aõ" ); + CHECK_EQ( teststr, u8"aõ" ); teststr = u8"õa"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, u8"õa" ); + CHECK_EQ( teststr, u8"õa" ); teststr = u8"õ"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, u8"õ" ); + CHECK_EQ( teststr, u8"õ" ); teststr = u8"õ"; SpecUtils::utf8_limit_str_size( teststr, 2 ); - BOOST_CHECK_EQUAL( teststr, u8"õ" ); + CHECK_EQ( teststr, u8"õ" ); teststr = u8"õ"; SpecUtils::utf8_limit_str_size( teststr, 1 ); - BOOST_CHECK_EQUAL( teststr, u8"" ); + CHECK_EQ( teststr, u8"" ); teststr = u8"÷õ"; SpecUtils::utf8_limit_str_size( teststr, 2 ); - BOOST_CHECK_EQUAL( teststr, u8"÷" ); + CHECK_EQ( teststr, u8"÷" ); teststr = u8"÷õ"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, u8"÷" ); + CHECK_EQ( teststr, u8"÷" ); teststr = u8"÷õ"; SpecUtils::utf8_limit_str_size( teststr, 4 ); - BOOST_CHECK_EQUAL( teststr, u8"÷õ" ); + CHECK_EQ( teststr, u8"÷õ" ); teststr = u8"÷õ"; SpecUtils::utf8_limit_str_size( teststr, 5 ); - BOOST_CHECK_EQUAL( teststr, u8"÷õ" ); + CHECK_EQ( teststr, u8"÷õ" ); teststr = u8"÷aõ"; SpecUtils::utf8_limit_str_size( teststr, 5 ); - BOOST_CHECK_EQUAL( teststr, u8"÷aõ" ); + CHECK_EQ( teststr, u8"÷aõ" ); teststr = u8"÷aõa"; SpecUtils::utf8_limit_str_size( teststr, 5 ); - BOOST_CHECK_EQUAL( teststr, u8"÷aõ" ); + CHECK_EQ( teststr, u8"÷aõ" ); teststr = u8"÷aõa"; SpecUtils::utf8_limit_str_size( teststr, 3 ); - BOOST_CHECK_EQUAL( teststr, u8"÷a" ); + CHECK_EQ( teststr, u8"÷a" ); teststr = u8"÷aõa"; SpecUtils::utf8_limit_str_size( teststr, 2 ); - BOOST_CHECK_EQUAL( teststr, u8"÷" ); + CHECK_EQ( teststr, u8"÷" ); teststr = u8"÷aõa"; SpecUtils::utf8_limit_str_size( teststr, 1 ); - BOOST_CHECK_EQUAL( teststr, u8"" ); + CHECK_EQ( teststr, u8"" ); teststr = u8"a÷aõa"; SpecUtils::utf8_limit_str_size( teststr, 1 ); - BOOST_CHECK_EQUAL( teststr, u8"a" ); + CHECK_EQ( teststr, u8"a" ); /* @@ -238,11 +232,11 @@ BOOST_AUTO_TEST_CASE( test_utf8_limit_str_size ) while( SpecUtils::safe_get_line(output_check, line) ) output_vector.push_back( line ); - BOOST_REQUIRE_EQUAL( input_vector.size(), output_vector.size() ); + REQUIRE_EQ( input_vector.size(), output_vector.size() ); for( size_t i = 0; i < input_vector.size(); ++i ) { - BOOST_CHECK_EQUAL( input_vector[i], output_vector[i] ); + CHECK_EQ( input_vector[i], output_vector[i] ); } */ } diff --git a/unit_tests/test_utf8_str_len.cpp b/unit_tests/test_utf8_str_len.cpp index 052e91c..6fbfa86 100644 --- a/unit_tests/test_utf8_str_len.cpp +++ b/unit_tests/test_utf8_str_len.cpp @@ -28,27 +28,23 @@ #include #include #include -#include -#define BOOST_TEST_MODULE test_utf8_str_len -#include +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" -//#define BOOST_TEST_DYN_LINK -// To use boost unit_test as header only (no link to boost unit test library): -//#include +#include #include "SpecUtils/StringAlgo.h" using namespace std; -using namespace boost::unit_test; void check_str( const std::string str, const size_t ncharacters ) { const size_t ncounted = SpecUtils::utf8_str_len( str.c_str(), str.size() ); - BOOST_CHECK_MESSAGE( ncharacters == ncounted, "Failed on string '" << str << "' with getting " << ncounted << " but expected " << ncharacters ); + CHECK_MESSAGE( ncharacters == ncounted, "Failed on string '" << str << "' with getting " << ncounted << " but expected " << ncharacters ); } -BOOST_AUTO_TEST_CASE( test_utf8_str_len ) +TEST_CASE( "Testing utf8 strlen" ) { //With MSVC 2017, even with adding the /utf-8 definition, string literals like u8"÷aõa" // are not interpreted by the compiler right (or rather, how I would like - e.g., like From fd24efd49b50a45ca0f5a90fa7b68cb2ebe24473 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 8 Aug 2024 11:50:16 -0600 Subject: [PATCH 008/100] syntax highlighting getting confused --- unit_tests/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 0abc930..08a8aac 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -28,7 +28,7 @@ endif( NOT Boost_FOUND ) # Set some command line arguments that all/most of the tests will use set( COMMON_TEST_ARGS --log_level=test_suite --report_level=detailed --catch_system_errors=yes ) -set( DATA_DIR_ARGS --indir=\\"${CMAKE_CURRENT_SOURCE_DIR}/test_data\\" ) +set( DATA_DIR_ARGS --indir=${CMAKE_CURRENT_SOURCE_DIR}/test_data ) if( CMAKE_GENERATOR STREQUAL "Xcode" ) From 17cc031ffc54d75b30cedb2db71bdc34cadcab1a Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Fri, 9 Aug 2024 18:12:01 -0600 Subject: [PATCH 009/100] Make API a little easier --- SpecUtils/ParseUtils.h | 37 +++++++ SpecUtils/SpecFile.h | 32 ++++-- SpecUtils/StringAlgo.h | 2 + bindings/swig/fortran/SpecUtilsFortran.i | 14 ++- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 50 +++++++++- bindings/swig/fortran/SpecUtilsWrap.f90 | 50 ++++++++++ src/SpecFile.cpp | 35 ++++--- unit_tests/CMakeLists.txt | 10 +- unit_tests/test_spec_file.cpp | 97 +++++++++++++++++++ unit_tests/test_string_functions.cpp | 53 +++++++++- 10 files changed, 351 insertions(+), 29 deletions(-) create mode 100644 unit_tests/test_spec_file.cpp diff --git a/SpecUtils/ParseUtils.h b/SpecUtils/ParseUtils.h index e10af40..a418c82 100644 --- a/SpecUtils/ParseUtils.h +++ b/SpecUtils/ParseUtils.h @@ -31,6 +31,8 @@ #include #include +#include "SpecUtils/StringAlgo.h" + /** Some functions and definitions that help to parse and write spectrum files, but maybe dont fit in other sections of code. */ @@ -290,6 +292,41 @@ Integral float_to_integral( float d ) static constexpr Integral max_int_val = std::numeric_limits::max(); return std::signbit(d) ? min_int_val : max_int_val; }//float_to_integral + + template + inline std::string get_source(const StringVec & vec) + { + auto retVal = std::string(); + auto sourceStringOffset = 8U; + for(auto str : vec) + { + if(SpecUtils::istarts_with(str, "Source:")) + { + retVal = str.substr(sourceStringOffset); + trim(retVal); + break; + } + } + return retVal; + } + + template + inline std::string get_description(const StringVec & vec) + { + auto retVal = std::string(); + auto descrOffset = 12U; + for(auto str : vec) + { + if(SpecUtils::istarts_with(str, "Description:")) + { + retVal = str.substr(descrOffset); + trim(retVal); + break; + } + } + return retVal; + } + }//namespace SpecUtils #endif //SpecUtils_ParseUtils_h diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index e3e3995..633558b 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -512,12 +512,8 @@ double gamma_integral( const std::shared_ptr &hist, // InterSpec is using to represent detector response functions on disk. const std::string &detectorTypeToString( const DetectorType type ); - - - - - - +using FloatVec = std::vector; +using FloatVecPtr = std::shared_ptr; class Measurement { @@ -537,9 +533,19 @@ class Measurement //live_time(): returned in units of seconds. Will be 0 if not known. float live_time() const; + + void set_live_time(float time) + { + live_time_ = time; + } //real_time(): returned in units of seconds. Will be 0 if not known. float real_time() const; + + void set_real_time(float time) + { + real_time_ = time; + } //contained_neutron(): returns whether or not the measurement is thought to // contain the possibility to detect neutrons (e.g. if a neutron detector was @@ -792,7 +798,15 @@ class Measurement */ void set_gamma_counts( std::shared_ptr> counts, const float livetime, const float realtime ); - + + void set_gamma_counts( std::shared_ptr> counts ); + + void set_gamma_counts(const FloatVec& spectrum) + { + auto counts = std::make_shared(spectrum); + + set_gamma_counts(counts, 0.0F, 0.0F); + } /** Sets the neutron counts, and also updates #Measurement::neutron_counts_sum_ and #Measurement::contained_neutron_ . @@ -808,7 +822,7 @@ class Measurement If `neutron_live_time` is less than or equal to zero, the gamma real time will be used. */ - void set_neutron_counts( const std::vector &counts, const float neutron_live_time ); + void set_neutron_counts( const std::vector &counts, const float neutron_live_time=-1.0F ); //To set real and live times, see SpecFile::set_live_time(...) @@ -1469,7 +1483,7 @@ class SpecFile // number available if that detector does not already have that one or else // its assigned to be one larger sample number - this by no means captures // all use cases, but good enough for now. - void add_measurement( std::shared_ptr meas, const bool doCleanup ); + void add_measurement( std::shared_ptr meas, const bool doCleanup=true ); //remove_measurement(...): removes the measurement from this SpecFile // object and if 'doCleanup' is specified, then all sums will be diff --git a/SpecUtils/StringAlgo.h b/SpecUtils/StringAlgo.h index bae132d..f4243f8 100644 --- a/SpecUtils/StringAlgo.h +++ b/SpecUtils/StringAlgo.h @@ -413,6 +413,8 @@ namespace SpecUtils unsigned int levenshtein_distance( const std::string &source, const std::string &target, const size_t max_str_len = 128 ); + + }//namespace SpecUtils diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 293a5de..2f105bc 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -2,7 +2,7 @@ %{ #include - +#include %} @@ -44,6 +44,18 @@ namespace std { { return $self->gamma_counts()->at(index-1); } + + std::string get_description() + { + auto &remarks = $self->remarks(); + return SpecUtils::get_description(remarks); + } + + std::string get_source() + { + auto &remarks = $self->remarks(); + return SpecUtils::get_source(remarks); + } } %extend SpecUtils::SpecFile diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 5ad1881..6f92659 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -293,7 +293,7 @@ template T SwigValueInit() { #include - +#include #include @@ -662,6 +662,14 @@ struct SWIG_null_deleter { SWIGINTERN float SpecUtils_Measurement_gamma_count_at(SpecUtils::Measurement *self,int index){ return self->gamma_counts()->at(index-1); } +SWIGINTERN std::string SpecUtils_Measurement_get_description(SpecUtils::Measurement *self){ + auto &remarks = self->remarks(); + return SpecUtils::get_description(remarks); + } +SWIGINTERN std::string SpecUtils_Measurement_get_source(SpecUtils::Measurement *self){ + auto &remarks = self->remarks(); + return SpecUtils::get_source(remarks); + } SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ return self->measurement(static_cast(index-1)); } @@ -3107,6 +3115,46 @@ SWIGEXPORT float _wrap_Measurement_gamma_count_at(SwigClassWrapper *farg1, int c } +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_description(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = SpecUtils_Measurement_get_description(arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_source(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = SpecUtils_Measurement_get_source(arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 18ade8e..ce99e6a 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -415,6 +415,8 @@ module specutilswrap procedure :: rebin => swigf_Measurement_rebin procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node procedure :: gamma_count_at => swigf_Measurement_gamma_count_at + procedure :: get_description => swigf_Measurement_get_description + procedure :: get_source => swigf_Measurement_get_source procedure :: release => swigf_Measurement_release procedure, private :: swigf_Measurement_op_assign__ generic :: assignment(=) => swigf_Measurement_op_assign__ @@ -2389,6 +2391,26 @@ function swigc_Measurement_gamma_count_at(farg1, farg2) & real(C_FLOAT) :: fresult end function +function swigc_Measurement_get_description(farg1) & +bind(C, name="_wrap_Measurement_get_description") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_get_source(farg1) & +bind(C, name="_wrap_Measurement_get_source") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + subroutine swigc_delete_Measurement(farg1) & bind(C, name="_wrap_delete_Measurement") use, intrinsic :: ISO_C_BINDING @@ -7138,6 +7160,34 @@ function swigf_Measurement_gamma_count_at(self, index) & swig_result = fresult end function +function swigf_Measurement_get_description(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_get_description(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_get_source(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_get_source(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + subroutine swigf_Measurement_release(self) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(inout) :: self diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index 4f684dc..e02c0ec 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -80,6 +80,7 @@ // #if( defined(__x86_64__) || defined(__i386__) ) #include +#include "SpecFile.h" #else static_assert( 0, "SpecUtils_USE_SIMD is currently only enabled for i386/x86" ); #endif @@ -907,31 +908,35 @@ void Measurement::set_gamma_counts( std::shared_ptr> co { live_time_ = livetime; real_time_ = realtime; + set_gamma_counts(counts); +}//set_gamma_counts + +void Measurement::set_gamma_counts(std::shared_ptr counts) +{ gamma_count_sum_ = 0.0; - - //const size_t oldnchan = gamma_counts_ ? gamma_counts_->size() : 0u; - - if( !counts ) + + // const size_t oldnchan = gamma_counts_ ? gamma_counts_->size() : 0u; + + if (!counts) counts = std::make_shared>(); gamma_counts_ = counts; - for( const float val : *counts ) + for (const float val : *counts) gamma_count_sum_ += val; - - assert( energy_calibration_ ); - + + assert(energy_calibration_); + const auto &cal = *energy_calibration_; const size_t newnchan = gamma_counts_->size(); const size_t calnchan = cal.num_channels(); - - if( (newnchan != calnchan) && (cal.type() != EnergyCalType::LowerChannelEdge) ) + + if ((newnchan != calnchan) && (cal.type() != EnergyCalType::LowerChannelEdge)) { - //We could preserve the old coefficients for Polynomial and FRF, and just create a new - // calibration... it isnt clear if we should do that, or just clear out the calibration... + // We could preserve the old coefficients for Polynomial and FRF, and just create a new + // calibration... it isnt clear if we should do that, or just clear out the calibration... energy_calibration_ = std::make_shared(); } -}//set_gamma_counts - - +} + void Measurement::set_neutron_counts( const std::vector &counts, const float live_time ) { neutron_counts_ = counts; diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 08a8aac..5c71c10 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -36,6 +36,14 @@ if( CMAKE_GENERATOR STREQUAL "Xcode" ) endif( CMAKE_GENERATOR STREQUAL "Xcode" ) message( "Args: ${COMMON_TEST_ARGS}") + +add_executable( test_spec_file test_spec_file.cpp ) +target_link_libraries( test_spec_file PRIVATE SpecUtils ) +set_target_properties( test_spec_file PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) +add_test( NAME test_spec_file + COMMAND $ +) + add_executable( test_energy_calibration test_energy_calibration.cpp ) target_link_libraries( test_energy_calibration PRIVATE SpecUtils ) set_target_properties( test_energy_calibration PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) @@ -96,7 +104,7 @@ add_executable( test_string_functions test_string_functions.cpp ) target_link_libraries( test_string_functions PRIVATE SpecUtils ) set_target_properties( test_string_functions PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) add_test( - NAME TestUtilityStringFunctions + NAME test_string_functions COMMAND $ ${COMMON_TEST_ARGS} -- ${DATA_DIR_ARGS} WORKING_DIRECTORY ${test_data_dir} ) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp new file mode 100644 index 0000000..8191af2 --- /dev/null +++ b/unit_tests/test_spec_file.cpp @@ -0,0 +1,97 @@ +#include +#include +#include + +#include +namespace fs = std::filesystem; + +#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN +#include "doctest.h" + +void CheckFileExistanceAndDelete(fs::path filePath) +{ + // Check if the file exists + if (fs::exists(filePath)) + { + std::cout << "File exists. Deleting the file..." << std::endl; + // Delete the file + if (fs::remove(filePath)) + { + std::cout << "File deleted successfully." << std::endl; + } + } +} +using SpecUtils::FloatVec; +using SpecUtils::FloatVecPtr; + +TEST_CASE("Round Trip") +{ + auto fname = std::string("round-trip-cpp.pcf"); + + SUBCASE("Write PCF File") + { + SpecUtils::SpecFile specfile; + CheckFileExistanceAndDelete(fname); + auto m = std::make_shared(); + + const auto now_sys = std::chrono::system_clock::now(); + const auto now = std::chrono::time_point_cast( now_sys ); + + //SpecUtils::time_point_t now = SpecUtils::time_point_t::clock::now(); + m->set_start_time( now ); + m->set_title("Test Measurment"); + auto remarks = m->remarks(); + remarks.push_back("Description: test_descr"); + remarks.push_back("Source: source123"); + m->set_remarks(remarks); + + FloatVec ncounts{99.0F}; + m->set_neutron_counts(ncounts, 0.0F); + + FloatVec spectrum; + for (size_t i = 0; i < 128; i++) + { + spectrum.push_back(i * 1.0F); + } + + m->set_gamma_counts(spectrum); + m->set_live_time(99.0F); + m->set_real_time(100.0F); + + auto ecal = std::make_shared(); + auto coeffs = std::vector{4.41F, 3198.33F, 0.0F, 0.0F}; + ecal->set_full_range_fraction(spectrum.size(), coeffs, {} ); + m->set_energy_calibration(ecal); + + specfile.add_measurement(m); + + specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf); + + SUBCASE("Read PCF File") + { + SpecUtils::SpecFile specfileToRead; + auto success = specfileToRead.load_file(fname, SpecUtils::ParserType::Auto); + CHECK(success); + auto &expectedM = *(specfile.measurements().at(0)); + auto &actualM = *(specfileToRead.measurements().at(0)); + CHECK(expectedM.title() == actualM.title()); + + CHECK(now == actualM.start_time()); + + auto & expSpectrum = *expectedM.gamma_counts(); + auto & actualSpectrum = *expectedM.gamma_counts(); + CHECK(expSpectrum == actualSpectrum); + + auto &rmarks = specfileToRead.remarks(); + CHECK( SpecUtils::get_description(remarks) == "test_descr" ); + CHECK( SpecUtils::get_source(remarks) == "source123" ); + + auto newEcal = *actualM.energy_calibration(); + CHECK(newEcal.coefficients() == ecal->coefficients()); + } + } + + + + +} \ No newline at end of file diff --git a/unit_tests/test_string_functions.cpp b/unit_tests/test_string_functions.cpp index 2248af3..9469a77 100755 --- a/unit_tests/test_string_functions.cpp +++ b/unit_tests/test_string_functions.cpp @@ -644,8 +644,6 @@ TEST_CASE( "checkIFind" ) CHECK_EQ(substr_pos, correct_substr_pos); }//TEST_CASE( checkIFind ) - - TEST_CASE( "testPrintCompact" ) { using namespace std; @@ -807,3 +805,54 @@ TEST_CASE( "testPrintCompact" ) check_range(-1000000.0,10000000.0); check_range(-1.0E32,1.0E32); }//void testPrintCompact() + +TEST_CASE( "Find Source String") +{ + std::vector remarks{ + "Description: TestDescription", + "Source: TestSource"}; + + auto expected = std::string("TestSource"); + auto actual = SpecUtils::get_source(remarks); + + CHECK(actual == expected); + +} + +TEST_CASE( "Find Description String") +{ + std::vector remarks{ + "Description: TestDescription", + "Source: TestSource"}; + + auto expected = std::string("TestDescription"); + auto actual = SpecUtils::get_description(remarks); + + CHECK(actual == expected); + +} + +TEST_CASE( "No Description Yields Empty String") +{ + std::vector remarks{ + "DescriptionZZZZZ: TestDescription", + "Source: TestSource"}; + + auto expected = std::string(); + auto actual = SpecUtils::get_description(remarks); + + CHECK(actual == expected); +} + +TEST_CASE( "No Source Yields Empty String") +{ + std::vector remarks{ + "DescriptionZZZZZ: TestDescription", + "SourceYYYY: TestSource"}; + + auto expected = std::string(); + auto actual = SpecUtils::get_source(remarks); + + CHECK(actual == expected); +} + From 48421d9b87d3d5700681780b9e9943e81be925b6 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 12 Aug 2024 10:41:22 -0600 Subject: [PATCH 010/100] add round trip test --- unit_tests/test_spec_file.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 8191af2..46537e8 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -1,7 +1,7 @@ #include #include #include - +#include #include namespace fs = std::filesystem; @@ -37,7 +37,6 @@ TEST_CASE("Round Trip") const auto now_sys = std::chrono::system_clock::now(); const auto now = std::chrono::time_point_cast( now_sys ); - //SpecUtils::time_point_t now = SpecUtils::time_point_t::clock::now(); m->set_start_time( now ); m->set_title("Test Measurment"); auto remarks = m->remarks(); @@ -76,7 +75,10 @@ TEST_CASE("Round Trip") auto &actualM = *(specfileToRead.measurements().at(0)); CHECK(expectedM.title() == actualM.title()); - CHECK(now == actualM.start_time()); + //auto timesEqual = expectedM.start_time() == actualM.start_time(); + auto timeStr1 = SpecUtils::to_iso_string(expectedM.start_time() ); + auto timeStr2 = SpecUtils::to_iso_string(actualM.start_time() ); + CHECK( timeStr1 == timeStr2); auto & expSpectrum = *expectedM.gamma_counts(); auto & actualSpectrum = *expectedM.gamma_counts(); From 0c59d478e9e567af913d3b0a7cfe3567573cc4c1 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 12 Aug 2024 11:06:28 -0600 Subject: [PATCH 011/100] use seconds precision --- unit_tests/test_spec_file.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 46537e8..a450a68 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -35,7 +35,7 @@ TEST_CASE("Round Trip") auto m = std::make_shared(); const auto now_sys = std::chrono::system_clock::now(); - const auto now = std::chrono::time_point_cast( now_sys ); + const auto now = std::chrono::time_point_cast( now_sys ); m->set_start_time( now ); m->set_title("Test Measurment"); From 8af3a3b7ea205e1c5e356c2d11bbe8b7edf8ea1f Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 12 Aug 2024 16:41:52 -0600 Subject: [PATCH 012/100] add deviation pairs to test --- SpecUtils/EnergyCalibration.h | 3 +++ unit_tests/test_spec_file.cpp | 15 +++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index 88dfbdb..81f27ee 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -41,6 +41,9 @@ */ namespace SpecUtils { + + using DevPair = std::pair; + using DeviationPairs = std::vector; /** The energy (or FWHM) calibration type that the calibration coefficients should be interpreted as. diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index a450a68..0d9eac7 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -58,8 +58,17 @@ TEST_CASE("Round Trip") m->set_real_time(100.0F); auto ecal = std::make_shared(); - auto coeffs = std::vector{4.41F, 3198.33F, 0.0F, 0.0F}; - ecal->set_full_range_fraction(spectrum.size(), coeffs, {} ); + auto coeffs = std::vector{4.41F, 3198.33F, 1.0F, 2.0F}; + + SpecUtils::DeviationPairs devPairs; + //auto + for (size_t i = 0; i < 4; i++) + { + auto devPair = std::make_pair(i+10.0, i * -1.0F); + devPairs.push_back(devPair); + } + + ecal->set_full_range_fraction(spectrum.size(), coeffs, devPairs ); m->set_energy_calibration(ecal); specfile.add_measurement(m); @@ -90,6 +99,8 @@ TEST_CASE("Round Trip") auto newEcal = *actualM.energy_calibration(); CHECK(newEcal.coefficients() == ecal->coefficients()); + + CHECK(expectedM.deviation_pairs() == actualM.deviation_pairs()); } } From 358b70678db27df19fa2ebc4a94a56aaf46eb65c Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 12 Aug 2024 16:55:28 -0600 Subject: [PATCH 013/100] check neutrons --- unit_tests/test_spec_file.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 0d9eac7..0ec25d7 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -91,8 +91,12 @@ TEST_CASE("Round Trip") auto & expSpectrum = *expectedM.gamma_counts(); auto & actualSpectrum = *expectedM.gamma_counts(); + CHECK(actualSpectrum.at(100) > 0); CHECK(expSpectrum == actualSpectrum); + CHECK( actualM.neutron_counts().at(0) > 0 ); + CHECK( actualM.neutron_counts() == expectedM.neutron_counts() ); + auto &rmarks = specfileToRead.remarks(); CHECK( SpecUtils::get_description(remarks) == "test_descr" ); CHECK( SpecUtils::get_source(remarks) == "source123" ); From c89674cec0473150894b992011c7fe8113cbf89b Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 12 Aug 2024 16:59:10 -0600 Subject: [PATCH 014/100] use vax string --- unit_tests/test_spec_file.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 0ec25d7..94e7bb0 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -35,7 +35,7 @@ TEST_CASE("Round Trip") auto m = std::make_shared(); const auto now_sys = std::chrono::system_clock::now(); - const auto now = std::chrono::time_point_cast( now_sys ); + const auto now = std::chrono::time_point_cast( now_sys ); m->set_start_time( now ); m->set_title("Test Measurment"); @@ -84,9 +84,9 @@ TEST_CASE("Round Trip") auto &actualM = *(specfileToRead.measurements().at(0)); CHECK(expectedM.title() == actualM.title()); - //auto timesEqual = expectedM.start_time() == actualM.start_time(); - auto timeStr1 = SpecUtils::to_iso_string(expectedM.start_time() ); - auto timeStr2 = SpecUtils::to_iso_string(actualM.start_time() ); + // times for PCFs should be compared as vax strings. + auto timeStr1 = SpecUtils::to_vax_string(expectedM.start_time() ); + auto timeStr2 = SpecUtils::to_vax_string(actualM.start_time() ); CHECK( timeStr1 == timeStr2); auto & expSpectrum = *expectedM.gamma_counts(); From 4aef394cc0ef250b4714072837f0b337b7837eca Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 14 Aug 2024 14:22:10 -0600 Subject: [PATCH 015/100] Yeah!!! Figured out fortran array to c++ typemap. --- bindings/swig/fortran/SpecUtilsFortran.i | 94 + .../swig/fortran/SpecUtilsFortran_wrap.cxx | 995 ++- bindings/swig/fortran/SpecUtilsWrap.f90 | 7896 ++++++++++------- 3 files changed, 5845 insertions(+), 3140 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 2f105bc..2f9f340 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -3,6 +3,9 @@ %{ #include #include +#include +#include +#include %} @@ -17,6 +20,8 @@ namespace std { } +//%template(TimePoint) std::chrono::time_point; + %include "std_shared_ptr.i" %shared_ptr(vector) @@ -28,11 +33,17 @@ namespace std { //%include "std_wstring.i" %include "wchar.i" +//%template(StringVector) std::vector; + %ignore combine_gamma_channels; %ignore truncate_gamma_channels; %ignore set_energy_calibration; %ignore descriptionText; %ignore operator=; +%ignore set_gamma_counts; + +%include + %include "SpecUtils/SpecFile.h" @@ -56,6 +67,77 @@ namespace std { auto &remarks = $self->remarks(); return SpecUtils::get_source(remarks); } + + std::string get_start_time_string() + { + auto timeStr = SpecUtils::to_vax_string( $self->start_time() ); + return timeStr; + } + + void set_start_time_from_string(std::string time_str) + { + auto tp = SpecUtils::time_from_string(time_str); + $self->set_start_time(tp); + } + + void set_description(std::string description) + { + auto remarks = $self->remarks(); + + // If there is already a description, remove it first. + auto it = remarks.begin(); + for(; it != remarks.end(); ) { + if(SpecUtils::istarts_with(*it, "Description:")) + it = remarks.erase(it); + it++; + } + remarks.push_back( "Description: " + description ); + $self->set_remarks(remarks); + } + + void set_source(std::string source) + { + auto remarks = $self->remarks(); + + // If there is already a source, remove it first. + auto it = remarks.begin(); + for(; it != remarks.end(); ) { + if(SpecUtils::istarts_with(*it, "source:")) + it = remarks.erase(it); + it++; + } + remarks.push_back( "Source: " + source ); + $self->set_remarks(remarks); + } + + void set_neutron_count(float count) + { + SpecUtils::FloatVec ncounts{count}; + $self->set_neutron_counts(ncounts, 0.0F); + } + //%apply (SWIGTYPE ARRAY[], size_t num_channels) { (const float* spectrum, size_t num_channels) }; + %apply (SWIGTYPE *DATA, size_t SIZE) { (const float* spectrum, size_t num_channels) }; + void set_spectrum(const float *spectrum, size_t num_channels) + { + SpecUtils::FloatVec counts; + for (size_t i = 0; i < num_channels; i++) + { + counts.push_back(spectrum[i]); + } + + $self->set_gamma_counts(counts); + } + + %apply (SWIGTYPE *DATA, size_t SIZE) { (float* spectrum, size_t num_channels) }; + void get_spectrum(float *spectrum, size_t num_channels) + { + auto & counts = *$self->gamma_counts(); + for (size_t i = 0 ; i < num_channels ; i++) + { + spectrum[i] = counts.at(i); + } + } + } %extend SpecUtils::SpecFile @@ -67,3 +149,15 @@ namespace std { return $self->measurement(static_cast(index-1)); } } + +//%include "SpecUtils/DateTime.h" + +%include "std_pair.i" + +%template(DevPair) std::pair; +//%template(DeviationPairs) std::vector; + +%ignore set_lower_channel_energy; +%ignore energy_cal_from_CALp_file; + +%include "SpecUtils/EnergyCalibration.h" \ No newline at end of file diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 6f92659..193bc0d 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -227,6 +227,8 @@ enum AssignmentType { #define SWIGPOLICY_SpecUtils_DetectorAnalysisResult swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_DetectorAnalysis swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_MultimediaData swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_DEFAULT #ifdef __cplusplus #include @@ -294,6 +296,9 @@ template T SwigValueInit() { #include #include +#include +#include +#include #include @@ -670,6 +675,60 @@ SWIGINTERN std::string SpecUtils_Measurement_get_source(SpecUtils::Measurement * auto &remarks = self->remarks(); return SpecUtils::get_source(remarks); } +SWIGINTERN std::string SpecUtils_Measurement_get_start_time_string(SpecUtils::Measurement *self){ + auto timeStr = SpecUtils::to_vax_string( self->start_time() ); + return timeStr; + } +SWIGINTERN void SpecUtils_Measurement_set_start_time_from_string(SpecUtils::Measurement *self,std::string time_str){ + auto tp = SpecUtils::time_from_string(time_str); + self->set_start_time(tp); + } +SWIGINTERN void SpecUtils_Measurement_set_description(SpecUtils::Measurement *self,std::string description){ + auto remarks = self->remarks(); + + // If there is already a description, remove it first. + auto it = remarks.begin(); + for(; it != remarks.end(); ) { + if(SpecUtils::istarts_with(*it, "Description:")) + it = remarks.erase(it); + it++; + } + remarks.push_back( "Description: " + description ); + self->set_remarks(remarks); + } +SWIGINTERN void SpecUtils_Measurement_set_source(SpecUtils::Measurement *self,std::string source){ + auto remarks = self->remarks(); + + // If there is already a source, remove it first. + auto it = remarks.begin(); + for(; it != remarks.end(); ) { + if(SpecUtils::istarts_with(*it, "source:")) + it = remarks.erase(it); + it++; + } + remarks.push_back( "Source: " + source ); + self->set_remarks(remarks); + } +SWIGINTERN void SpecUtils_Measurement_set_neutron_count(SpecUtils::Measurement *self,float count){ + SpecUtils::FloatVec ncounts{count}; + self->set_neutron_counts(ncounts, 0.0F); + } +SWIGINTERN void SpecUtils_Measurement_set_spectrum(SpecUtils::Measurement *self,float const *spectrum,size_t num_channels){ + SpecUtils::FloatVec counts; + for (size_t i = 0; i < num_channels; i++) + { + counts.push_back(spectrum[i]); + } + + self->set_gamma_counts(counts); + } +SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self,float *spectrum,size_t num_channels){ + auto & counts = *self->gamma_counts(); + for (size_t i = 0 ; i < num_channels ; i++) + { + spectrum[i] = counts.at(i); + } + } SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ return self->measurement(static_cast(index-1)); } @@ -2108,6 +2167,18 @@ SWIGEXPORT float _wrap_Measurement_live_time(SwigClassWrapper *farg1) { } +SWIGEXPORT void _wrap_Measurement_set_live_time(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + (arg1)->set_live_time(arg2); +} + + SWIGEXPORT float _wrap_Measurement_real_time(SwigClassWrapper *farg1) { float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2122,6 +2193,18 @@ SWIGEXPORT float _wrap_Measurement_real_time(SwigClassWrapper *farg1) { } +SWIGEXPORT void _wrap_Measurement_set_real_time(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + (arg1)->set_real_time(arg2); +} + + SWIGEXPORT int _wrap_Measurement_contained_neutron(SwigClassWrapper *farg1) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2750,34 +2833,31 @@ SWIGEXPORT void _wrap_Measurement_set_detector_number(SwigClassWrapper *farg1, i } -SWIGEXPORT void _wrap_Measurement_set_gamma_counts(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, float const *farg3, float const *farg4) { +SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, float const *farg3) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< std::vector< float > const > arg2 ; + std::vector< float > *arg2 = 0 ; float arg3 ; - float arg4 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - if (farg2->cptr) arg2 = *static_cast >*>(farg2->cptr); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &,float const)", return ) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); arg3 = (float)(*farg3); - arg4 = (float)(*farg4); - (arg1)->set_gamma_counts(arg2,arg3,arg4); + (arg1)->set_neutron_counts((std::vector< float > const &)*arg2,arg3); } -SWIGEXPORT void _wrap_Measurement_set_neutron_counts(SwigClassWrapper *farg1, SwigClassWrapper *farg2, float const *farg3) { +SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::vector< float > *arg2 = 0 ; - float arg3 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &,float const)", return ) + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &)", return ) arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - arg3 = (float)(*farg3); - (arg1)->set_neutron_counts((std::vector< float > const &)*arg2,arg3); + (arg1)->set_neutron_counts((std::vector< float > const &)*arg2); } @@ -3155,6 +3235,102 @@ SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_source(SwigClassWrapper *farg1 } +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_start_time_string(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = SpecUtils_Measurement_get_start_time_string(arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_set_start_time_from_string(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SpecUtils_Measurement_set_start_time_from_string(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_Measurement_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SpecUtils_Measurement_set_description(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_Measurement_set_source(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SpecUtils_Measurement_set_source(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_Measurement_set_neutron_count(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + SpecUtils_Measurement_set_neutron_count(arg1,arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float *arg2 = (float *) 0 ; + size_t arg3 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float *)farg2->data; + arg3 = farg2->size; + SpecUtils_Measurement_set_spectrum(arg1,(float const *)arg2,SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT void _wrap_Measurement_get_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float *arg2 = (float *) 0 ; + size_t arg3 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float *)farg2->data; + arg3 = farg2->size; + SpecUtils_Measurement_get_spectrum(arg1,arg2,SWIG_STD_MOVE(arg3)); +} + + SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; @@ -4112,7 +4288,7 @@ SWIGEXPORT void _wrap_SpecFile_change_sample_numbers(SwigClassWrapper *farg1, Sw } -SWIGEXPORT void _wrap_SpecFile_add_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { +SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; std::shared_ptr< SpecUtils::Measurement > arg2 ; bool arg3 ; @@ -4125,6 +4301,17 @@ SWIGEXPORT void _wrap_SpecFile_add_measurement(SwigClassWrapper *farg1, SwigClas } +SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::Measurement > arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + (arg1)->add_measurement(arg2); +} + + SWIGEXPORT void _wrap_SpecFile_remove_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; std::shared_ptr< SpecUtils::Measurement const > arg2 ; @@ -6754,5 +6941,789 @@ SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigCl } +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { + SwigClassWrapper fresult ; + std::pair< float,float > *result = 0 ; + + result = (std::pair< float,float > *)new std::pair< float,float >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_1(float const *farg1, float const *farg2) { + SwigClassWrapper fresult ; + float arg1 ; + float arg2 ; + std::pair< float,float > *result = 0 ; + + arg1 = (float)(*farg1); + arg2 = (float)(*farg2); + result = (std::pair< float,float > *)new std::pair< float,float >(arg1,arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_2(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::pair< float,float > *arg1 = 0 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > const &", "DevPair", "std::pair< float,float >::pair(std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (std::pair< float,float > *)new std::pair< float,float >((std::pair< float,float > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DevPair_first_set(SwigClassWrapper *farg1, float const *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return ); + arg1 = (std::pair< float,float > *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->first = arg2; +} + + +SWIGEXPORT float _wrap_DevPair_first_get(SwigClassWrapper *farg1) { + float fresult ; + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return 0); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (float) ((arg1)->first); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DevPair_second_set(SwigClassWrapper *farg1, float const *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return ); + arg1 = (std::pair< float,float > *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->second = arg2; +} + + +SWIGEXPORT float _wrap_DevPair_second_get(SwigClassWrapper *farg1) { + float fresult ; + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return 0); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (float) ((arg1)->second); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DevPair(SwigClassWrapper *farg1) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + + arg1 = (std::pair< float,float > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DevPair_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + std::pair< float,float > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT int _wrap_EnergyCalibration_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalType result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::type() const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = (SpecUtils::EnergyCalType)((SpecUtils::EnergyCalibration const *)arg1)->type(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_valid(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::valid() const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->valid(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_coefficients(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::vector< float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::coefficients() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = (std::vector< float > *) &((SpecUtils::EnergyCalibration const *)arg1)->coefficients(); + { + fresult.cptr = new std::shared_ptr >(result SWIG_NO_NULL_DELETER_0); + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_deviation_pairs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::vector< std::pair< float,float > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::deviation_pairs() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = (std::vector< std::pair< float,float > > *) &((SpecUtils::EnergyCalibration const *)arg1)->deviation_pairs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::channel_energies() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::EnergyCalibration const *)arg1)->channel_energies(); + fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT size_t _wrap_EnergyCalibration_num_channels(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::num_channels() const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = ((SpecUtils::EnergyCalibration const *)arg1)->num_channels(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibration() { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *result = 0 ; + + result = (SpecUtils::EnergyCalibration *)new SpecUtils::EnergyCalibration(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_EnergyCalibration_set_polynomial(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ) + arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); +} + + +SWIGEXPORT void _wrap_EnergyCalibration_set_default_polynomial(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ) + arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_default_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); +} + + +SWIGEXPORT void _wrap_EnergyCalibration_set_full_range_fraction(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ) + arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_full_range_fraction(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); +} + + +SWIGEXPORT int _wrap_EnergyCalibration_op_lt__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator <(SpecUtils::EnergyCalibration const &) const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator <(SpecUtils::EnergyCalibration const &) const", return 0); + arg2 = (SpecUtils::EnergyCalibration *)farg2->cptr; + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator <((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_op_eq__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator ==(SpecUtils::EnergyCalibration const &) const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator ==(SpecUtils::EnergyCalibration const &) const", return 0); + arg2 = (SpecUtils::EnergyCalibration *)farg2->cptr; + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator ==((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_op_ne__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator !=(SpecUtils::EnergyCalibration const &) const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator !=(SpecUtils::EnergyCalibration const &) const", return 0); + arg2 = (SpecUtils::EnergyCalibration *)farg2->cptr; + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator !=((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_EnergyCalibration_memmorysize(SwigClassWrapper *farg1) { + size_t fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::memmorysize() const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = ((SpecUtils::EnergyCalibration const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_EnergyCalibration_channel_for_energy(SwigClassWrapper *farg1, double const *farg2) { + double fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + double arg2 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::channel_for_energy(double const) const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + arg2 = (double)(*farg2); + result = (double)((SpecUtils::EnergyCalibration const *)arg1)->channel_for_energy(arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_EnergyCalibration_energy_for_channel(SwigClassWrapper *farg1, double const *farg2) { + double fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + double arg2 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::energy_for_channel(double const) const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + arg2 = (double)(*farg2); + result = (double)((SpecUtils::EnergyCalibration const *)arg1)->energy_for_channel(arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_EnergyCalibration_lower_energy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::lower_energy() const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = (float)((SpecUtils::EnergyCalibration const *)arg1)->lower_energy(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_EnergyCalibration_upper_energy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::upper_energy() const", return 0); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + result = (float)((SpecUtils::EnergyCalibration const *)arg1)->upper_energy(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_EnergyCalibration_sm_min_channels_get() { + size_t fresult ; + size_t result; + + result = (size_t)SpecUtils::EnergyCalibration::sm_min_channels; + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_EnergyCalibration_sm_max_channels_get() { + size_t fresult ; + size_t result; + + result = (size_t)SpecUtils::EnergyCalibration::sm_max_channels; + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_EnergyCalibration_sm_polynomial_offset_limit_get() { + float fresult ; + float result; + + result = (float)(float)SpecUtils::EnergyCalibration::sm_polynomial_offset_limit; + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_EnergyCalibration(SwigClassWrapper *farg1) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_EnergyCalibration_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_energy_cal_combine_channels(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = 0 ; + size_t arg2 ; + SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::energy_cal_combine_channels(SpecUtils::EnergyCalibration const &,size_t const)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = SpecUtils::energy_cal_combine_channels((SpecUtils::EnergyCalibration const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new (std::shared_ptr< SpecUtils::EnergyCalibration >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_polynomial_binning(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + std::shared_ptr< std::vector< float > const > result; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = SpecUtils::polynomial_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); + fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, int const *farg4) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + bool arg4 ; + std::shared_ptr< std::vector< float > const > result; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + arg4 = (*farg4 ? true : false); + result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3,arg4); + fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + std::shared_ptr< std::vector< float > const > result; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); + fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT double _wrap_fullrangefraction_energy(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::fullrangefraction_energy(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_polynomial_energy(double const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = (double)SpecUtils::polynomial_energy(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_deviation_pair_correction(double const *farg1, SwigClassWrapper *farg2) { + double fresult ; + double arg1 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::deviation_pair_correction(double const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = (double)SpecUtils::deviation_pair_correction(arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_correction_due_to_dev_pairs(double const *farg1, SwigClassWrapper *farg2) { + double fresult ; + double arg1 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::correction_due_to_dev_pairs(double const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = (double)SpecUtils::correction_due_to_dev_pairs(arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_apply_deviation_pair(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + std::shared_ptr< std::vector< float > const > result; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = SpecUtils::apply_deviation_pair((std::vector< float > const &)*arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_polynomial_coef_to_fullrangefraction(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_coef_to_fullrangefraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + result = SpecUtils::polynomial_coef_to_fullrangefraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_coef_to_polynomial(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_coef_to_polynomial(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + result = SpecUtils::fullrangefraction_coef_to_polynomial((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_mid_channel_polynomial_to_fullrangeFraction(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::mid_channel_polynomial_to_fullrangeFraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + result = SpecUtils::mid_channel_polynomial_to_fullrangeFraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT int _wrap_calibration_is_valid(int const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, size_t const *farg4) { + int fresult ; + SpecUtils::EnergyCalType arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + size_t arg4 ; + bool result; + + arg1 = (SpecUtils::EnergyCalType)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + arg4 = (size_t)(*farg4); + result = (bool)SpecUtils::calibration_is_valid(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3,SWIG_STD_MOVE(arg4)); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_polynomial_cal_remove_first_channels(int const *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + int arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< float > result; + + arg1 = (int)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_cal_remove_first_channels(int const,std::vector< float > const &)", return SwigClassWrapper_uninitialized()) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + result = SpecUtils::polynomial_cal_remove_first_channels(arg1,(std::vector< float > const &)*arg2); + fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4, double const *farg5) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double arg5 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + arg5 = (double)(*farg5); + result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4, double const *farg5) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double arg5 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + arg5 = (double)(*farg5); + result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_rebin_by_lower_edge(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + std::vector< float > *arg1 = 0 ; + std::vector< float > *arg2 = 0 ; + std::vector< float > *arg3 = 0 ; + std::vector< float > *arg4 = 0 ; + + SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) + arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); + SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) + arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); + SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) + arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); + SWIG_check_sp_nonnull(farg4->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) + arg4 = (std::vector*)static_cast >*>(farg4->cptr)->get(); + SpecUtils::rebin_by_lower_edge((std::vector< float > const &)*arg1,(std::vector< float > const &)*arg2,(std::vector< float > const &)*arg3,*arg4); +} + + +SWIGEXPORT int _wrap_write_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigArrayWrapper *farg3) { + int fresult ; + std::ostream *arg1 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::string *arg3 = 0 ; + std::string tempstr3 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::write_CALp_file(std::ostream &,std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::string const &)", return 0); + arg1 = (std::ostream *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::write_CALp_file(std::ostream &,std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::string const &)", return 0); + arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + result = (bool)SpecUtils::write_CALp_file(*arg1,(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::string const &)*arg3); + fresult = (result ? 1 : 0); + return fresult; +} + + } // extern diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index ce99e6a..9ae8aa2 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -348,7 +348,9 @@ module specutilswrap contains procedure :: memmorysize => swigf_Measurement_memmorysize procedure :: live_time => swigf_Measurement_live_time + procedure :: set_live_time => swigf_Measurement_set_live_time procedure :: real_time => swigf_Measurement_real_time + procedure :: set_real_time => swigf_Measurement_set_real_time procedure :: contained_neutron => swigf_Measurement_contained_neutron procedure :: sample_number => swigf_Measurement_sample_number procedure :: title => swigf_Measurement_title @@ -392,8 +394,8 @@ module specutilswrap procedure :: set_occupancy_status => swigf_Measurement_set_occupancy_status procedure :: set_detector_name => swigf_Measurement_set_detector_name procedure :: set_detector_number => swigf_Measurement_set_detector_number - procedure :: set_gamma_counts => swigf_Measurement_set_gamma_counts - procedure :: set_neutron_counts => swigf_Measurement_set_neutron_counts + procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_0 + procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_1 procedure :: num_gamma_channels => swigf_Measurement_num_gamma_channels procedure :: find_gamma_channel => swigf_Measurement_find_gamma_channel procedure :: gamma_channel_content => swigf_Measurement_gamma_channel_content @@ -417,9 +419,17 @@ module specutilswrap procedure :: gamma_count_at => swigf_Measurement_gamma_count_at procedure :: get_description => swigf_Measurement_get_description procedure :: get_source => swigf_Measurement_get_source + procedure :: get_start_time_string => swigf_Measurement_get_start_time_string + procedure :: set_start_time_from_string => swigf_Measurement_set_start_time_from_string + procedure :: set_description => swigf_Measurement_set_description + procedure :: set_source => swigf_Measurement_set_source + procedure :: set_neutron_count => swigf_Measurement_set_neutron_count + procedure :: set_spectrum => swigf_Measurement_set_spectrum + procedure :: get_spectrum => swigf_Measurement_get_spectrum procedure :: release => swigf_Measurement_release procedure, private :: swigf_Measurement_op_assign__ generic :: assignment(=) => swigf_Measurement_op_assign__ + generic :: set_neutron_counts => swigf_Measurement_set_neutron_counts__SWIG_0, swigf_Measurement_set_neutron_counts__SWIG_1 end type Measurement type, public :: SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2 type(SwigClassWrapper), public :: swigdata @@ -544,7 +554,8 @@ module specutilswrap procedure :: set_detectors_analysis => swigf_SpecFile_set_detectors_analysis procedure :: change_detector_name => swigf_SpecFile_change_detector_name procedure :: change_sample_numbers => swigf_SpecFile_change_sample_numbers - procedure :: add_measurement => swigf_SpecFile_add_measurement + procedure, private :: swigf_SpecFile_add_measurement__SWIG_0 + procedure, private :: swigf_SpecFile_add_measurement__SWIG_1 procedure :: remove_measurement => swigf_SpecFile_remove_measurement procedure :: remove_measurements => swigf_SpecFile_remove_measurements procedure :: clear_multimedia_data => swigf_SpecFile_clear_multimedia_data @@ -660,6 +671,7 @@ module specutilswrap generic :: write => swigf_SpecFile_write__SWIG_0, swigf_SpecFile_write__SWIG_1 generic :: write_integer_chn => swigf_SpecFile_write_integer_chn__SWIG_0, swigf_SpecFile_write_integer_chn__SWIG_1 generic :: cleanup_after_load => swigf_SpecFile_cleanup_after_load__SWIG_0, swigf_SpecFile_cleanup_after_load__SWIG_1 + generic :: add_measurement => swigf_SpecFile_add_measurement__SWIG_0, swigf_SpecFile_add_measurement__SWIG_1 generic :: assignment(=) => swigf_SpecFile_op_assign__ generic :: set_remarks => swigf_SpecFile_set_remarks__SWIG_0, swigf_SpecFile_set_remarks__SWIG_1 generic :: load_N42_from_data => swigf_SpecFile_load_N42_from_data__SWIG_0, swigf_SpecFile_load_N42_from_data__SWIG_1 @@ -763,41 +775,130 @@ module specutilswrap procedure, private :: swigf_MultimediaData_op_assign__ generic :: assignment(=) => swigf_MultimediaData_op_assign__ end type MultimediaData + ! struct std::pair< float,float > + type, public :: DevPair + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_first => swigf_DevPair_first_set + procedure :: get_first => swigf_DevPair_first_get + procedure :: set_second => swigf_DevPair_second_set + procedure :: get_second => swigf_DevPair_second_get + procedure :: release => swigf_DevPair_release + procedure, private :: swigf_DevPair_op_assign__ + generic :: assignment(=) => swigf_DevPair_op_assign__ + end type DevPair + ! enum class SpecUtils::EnergyCalType + enum, bind(c) + enumerator :: EnergyCalType_Polynomial + enumerator :: EnergyCalType_FullRangeFraction + enumerator :: EnergyCalType_LowerChannelEdge + enumerator :: EnergyCalType_UnspecifiedUsingDefaultPolynomial + enumerator :: EnergyCalType_InvalidEquationType + end enum + integer, parameter, public :: EnergyCalType = kind(EnergyCalType_Polynomial) + public :: EnergyCalType_Polynomial, EnergyCalType_FullRangeFraction, EnergyCalType_LowerChannelEdge, & + EnergyCalType_UnspecifiedUsingDefaultPolynomial, EnergyCalType_InvalidEquationType + ! struct SpecUtils::EnergyCalibration + type, public :: EnergyCalibration + type(SwigClassWrapper), public :: swigdata + contains + procedure :: type => swigf_EnergyCalibration_type + procedure :: valid => swigf_EnergyCalibration_valid + procedure :: coefficients => swigf_EnergyCalibration_coefficients + procedure :: deviation_pairs => swigf_EnergyCalibration_deviation_pairs + procedure :: channel_energies => swigf_EnergyCalibration_channel_energies + procedure :: num_channels => swigf_EnergyCalibration_num_channels + procedure :: set_polynomial => swigf_EnergyCalibration_set_polynomial + procedure :: set_default_polynomial => swigf_EnergyCalibration_set_default_polynomial + procedure :: set_full_range_fraction => swigf_EnergyCalibration_set_full_range_fraction + procedure, private :: swigf_EnergyCalibration_op_lt__ + procedure, private :: swigf_EnergyCalibration_op_eq__ + procedure, private :: swigf_EnergyCalibration_op_ne__ + procedure :: memmorysize => swigf_EnergyCalibration_memmorysize + procedure :: channel_for_energy => swigf_EnergyCalibration_channel_for_energy + procedure :: energy_for_channel => swigf_EnergyCalibration_energy_for_channel + procedure :: lower_energy => swigf_EnergyCalibration_lower_energy + procedure :: upper_energy => swigf_EnergyCalibration_upper_energy + procedure, nopass :: get_sm_min_channels => swigf_EnergyCalibration_sm_min_channels_get + procedure, nopass :: get_sm_max_channels => swigf_EnergyCalibration_sm_max_channels_get + procedure, nopass :: get_sm_polynomial_offset_limit => swigf_EnergyCalibration_sm_polynomial_offset_limit_get + procedure :: release => swigf_EnergyCalibration_release + procedure, private :: swigf_EnergyCalibration_op_assign__ + generic :: operator(.lt.) => swigf_EnergyCalibration_op_lt__ + generic :: operator(.ne.) => swigf_EnergyCalibration_op_ne__ + generic :: operator(.eq.) => swigf_EnergyCalibration_op_eq__ + generic :: assignment(=) => swigf_EnergyCalibration_op_assign__ + end type EnergyCalibration + type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_t + type(SwigClassWrapper), public :: swigdata + end type + public :: energy_cal_combine_channels + public :: polynomial_binning + public :: fullrangefraction_energy + public :: polynomial_energy + public :: deviation_pair_correction + public :: correction_due_to_dev_pairs + public :: apply_deviation_pair + public :: polynomial_coef_to_fullrangefraction + public :: fullrangefraction_coef_to_polynomial + public :: mid_channel_polynomial_to_fullrangeFraction + public :: calibration_is_valid + public :: polynomial_cal_remove_first_channels + public :: rebin_by_lower_edge + public :: write_CALp_file + interface is_candidate_n42_file + module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 + end interface + public :: is_candidate_n42_file + interface IntVector + module procedure swigf_new_IntVector__SWIG_0, swigf_new_IntVector__SWIG_1, swigf_new_IntVector__SWIG_2, & + swigf_new_IntVector__SWIG_3 + end interface + interface DevPair + module procedure swigf_new_DevPair__SWIG_0, swigf_new_DevPair__SWIG_1, swigf_new_DevPair__SWIG_2 + end interface + interface DetectorAnalysisResult + module procedure swigf_new_DetectorAnalysisResult + end interface interface MeasurementVector module procedure swigf_new_MeasurementVector__SWIG_0, swigf_new_MeasurementVector__SWIG_1, & swigf_new_MeasurementVector__SWIG_2, swigf_new_MeasurementVector__SWIG_3 end interface - interface DetectorAnalysisResult - module procedure swigf_new_DetectorAnalysisResult + interface find_fullrangefraction_channel + module procedure swigf_find_fullrangefraction_channel__SWIG_0, swigf_find_fullrangefraction_channel__SWIG_1 end interface - interface SpecFile - module procedure swigf_new_SpecFile__SWIG_0, swigf_new_SpecFile__SWIG_1 + public :: find_fullrangefraction_channel + interface FloatVector + module procedure swigf_new_FloatVector__SWIG_0, swigf_new_FloatVector__SWIG_1, swigf_new_FloatVector__SWIG_2, & + swigf_new_FloatVector__SWIG_3 + end interface + interface DetectorAnalysis + module procedure swigf_new_DetectorAnalysis end interface interface DoubleVector module procedure swigf_new_DoubleVector__SWIG_0, swigf_new_DoubleVector__SWIG_1, swigf_new_DoubleVector__SWIG_2, & swigf_new_DoubleVector__SWIG_3 end interface - interface is_candidate_n42_file - module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 + interface EnergyCalibration + module procedure swigf_new_EnergyCalibration end interface - public :: is_candidate_n42_file + interface SpecFile + module procedure swigf_new_SpecFile__SWIG_0, swigf_new_SpecFile__SWIG_1 + end interface + interface fullrangefraction_binning + module procedure swigf_fullrangefraction_binning__SWIG_0, swigf_fullrangefraction_binning__SWIG_1 + end interface + public :: fullrangefraction_binning interface Measurement module procedure swigf_new_Measurement end interface + interface find_polynomial_channel + module procedure swigf_find_polynomial_channel__SWIG_0, swigf_find_polynomial_channel__SWIG_1 + end interface + public :: find_polynomial_channel interface MultimediaData module procedure swigf_new_MultimediaData end interface - interface DetectorAnalysis - module procedure swigf_new_DetectorAnalysis - end interface - interface FloatVector - module procedure swigf_new_FloatVector__SWIG_0, swigf_new_FloatVector__SWIG_1, swigf_new_FloatVector__SWIG_2, & - swigf_new_FloatVector__SWIG_3 - end interface - interface IntVector - module procedure swigf_new_IntVector__SWIG_0, swigf_new_IntVector__SWIG_1, swigf_new_IntVector__SWIG_2, & - swigf_new_IntVector__SWIG_3 - end interface ! WRAPPER DECLARATIONS interface @@ -1780,6 +1881,14 @@ function swigc_Measurement_live_time(farg1) & real(C_FLOAT) :: fresult end function +subroutine swigc_Measurement_set_live_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_live_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + function swigc_Measurement_real_time(farg1) & bind(C, name="_wrap_Measurement_real_time") & result(fresult) @@ -1789,6 +1898,14 @@ function swigc_Measurement_real_time(farg1) & real(C_FLOAT) :: fresult end function +subroutine swigc_Measurement_set_real_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_real_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + function swigc_Measurement_contained_neutron(farg1) & bind(C, name="_wrap_Measurement_contained_neutron") & result(fresult) @@ -2173,23 +2290,21 @@ subroutine swigc_Measurement_set_detector_number(farg1, farg2) & integer(C_INT), intent(in) :: farg2 end subroutine -subroutine swigc_Measurement_set_gamma_counts(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_Measurement_set_gamma_counts") +subroutine swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 real(C_FLOAT), intent(in) :: farg3 -real(C_FLOAT), intent(in) :: farg4 end subroutine -subroutine swigc_Measurement_set_neutron_counts(farg1, farg2, farg3) & -bind(C, name="_wrap_Measurement_set_neutron_counts") +subroutine swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 end subroutine function swigc_Measurement_num_gamma_channels(farg1) & @@ -2411,6 +2526,69 @@ function swigc_Measurement_get_source(farg1) & type(SwigArrayWrapper) :: fresult end function +function swigc_Measurement_get_start_time_string(farg1) & +bind(C, name="_wrap_Measurement_get_start_time_string") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_Measurement_set_start_time_from_string(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_start_time_from_string") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_description(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_description") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_source(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_source") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_neutron_count(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_neutron_count") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_spectrum(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_spectrum") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_get_spectrum(farg1, farg2) & +bind(C, name="_wrap_Measurement_get_spectrum") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + subroutine swigc_delete_Measurement(farg1) & bind(C, name="_wrap_delete_Measurement") use, intrinsic :: ISO_C_BINDING @@ -3030,8 +3208,8 @@ subroutine swigc_SpecFile_change_sample_numbers(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine -subroutine swigc_SpecFile_add_measurement(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_add_measurement") +subroutine swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_add_measurement__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 @@ -3039,6 +3217,14 @@ subroutine swigc_SpecFile_add_measurement(farg1, farg2, farg3) & integer(C_INT), intent(in) :: farg3 end subroutine +subroutine swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_measurement__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + subroutine swigc_SpecFile_remove_measurement(farg1, farg2, farg3) & bind(C, name="_wrap_SpecFile_remove_measurement") use, intrinsic :: ISO_C_BINDING @@ -4713,266 +4899,1424 @@ subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine -end interface - - -contains - ! MODULE SUBPROGRAMS -function swigf_new_IntVector__SWIG_0() & -result(self) +function swigc_new_DevPair__SWIG_0() & +bind(C, name="_wrap_new_DevPair__SWIG_0") & +result(fresult) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_IntVector__SWIG_0() -self%swigdata = fresult +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult end function -function swigf_new_IntVector__SWIG_1(other) & -result(self) +function swigc_new_DevPair__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_new_DevPair__SWIG_1") & +result(fresult) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self -class(IntVector), intent(in) :: other -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = other%swigdata -fresult = swigc_new_IntVector__SWIG_1(farg1) -self%swigdata = fresult +import :: swigclasswrapper +real(C_FLOAT), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult end function -function swigf_new_IntVector__SWIG_2(count) & -result(self) +function swigc_new_DevPair__SWIG_2(farg1) & +bind(C, name="_wrap_new_DevPair__SWIG_2") & +result(fresult) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 - -farg1 = int(count, C_INT) -fresult = swigc_new_IntVector__SWIG_2(farg1) -self%swigdata = fresult +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult end function -function swigf_new_IntVector__SWIG_3(count, v) & -result(self) +subroutine swigc_DevPair_first_set(farg1, farg2) & +bind(C, name="_wrap_DevPair_first_set") use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self -integer, intent(in) :: count -integer(C_INT), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 -integer(C_INT) :: farg2 - -farg1 = int(count, C_INT) -farg2 = v -fresult = swigc_new_IntVector__SWIG_3(farg1, farg2) -self%swigdata = fresult -end function +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine -function swigf_IntVector_size(self) & -result(swig_result) +function swigc_DevPair_first_get(farg1) & +bind(C, name="_wrap_DevPair_first_get") & +result(fresult) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(IntVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_IntVector_size(farg1) -swig_result = int(fresult) +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult end function -function swigf_IntVector_capacity(self) & -result(swig_result) +subroutine swigc_DevPair_second_set(farg1, farg2) & +bind(C, name="_wrap_DevPair_second_set") use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(IntVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine -farg1 = self%swigdata -fresult = swigc_IntVector_capacity(farg1) -swig_result = int(fresult) +function swigc_DevPair_second_get(farg1) & +bind(C, name="_wrap_DevPair_second_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult end function - -subroutine SWIGTM_fout_bool(imout, fout) - use, intrinsic :: ISO_C_BINDING - integer(kind=C_INT), intent(in) :: imout - logical, intent(out) :: fout - fout = (imout /= 0) +subroutine swigc_delete_DevPair(farg1) & +bind(C, name="_wrap_delete_DevPair") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -function swigf_IntVector_empty(self) & -result(swig_result) +subroutine swigc_DevPair_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DevPair_op_assign__") use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(IntVector), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -farg1 = self%swigdata -fresult = swigc_IntVector_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +function swigc_EnergyCalibration_type(farg1) & +bind(C, name="_wrap_EnergyCalibration_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult end function -function swigf_IntVector_front(self) & -result(swig_result) +function swigc_EnergyCalibration_valid(farg1) & +bind(C, name="_wrap_EnergyCalibration_valid") & +result(fresult) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(IntVector), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_IntVector_front(farg1) -swig_result = fresult +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult end function -function swigf_IntVector_back(self) & -result(swig_result) +function swigc_EnergyCalibration_coefficients(farg1) & +bind(C, name="_wrap_EnergyCalibration_coefficients") & +result(fresult) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(IntVector), intent(in) :: self +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_EnergyCalibration_deviation_pairs(farg1) & +bind(C, name="_wrap_EnergyCalibration_deviation_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_EnergyCalibration_channel_energies(farg1) & +bind(C, name="_wrap_EnergyCalibration_channel_energies") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_EnergyCalibration_num_channels(farg1) & +bind(C, name="_wrap_EnergyCalibration_num_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_new_EnergyCalibration() & +bind(C, name="_wrap_new_EnergyCalibration") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_EnergyCalibration_set_polynomial") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +subroutine swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_EnergyCalibration_set_default_polynomial") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +subroutine swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_EnergyCalibration_set_full_range_fraction") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +function swigc_EnergyCalibration_op_lt__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_lt__") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_op_eq__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_eq__") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_op_ne__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_ne__") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_memmorysize(farg1) & +bind(C, name="_wrap_EnergyCalibration_memmorysize") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_EnergyCalibration_channel_for_energy(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_channel_for_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_EnergyCalibration_energy_for_channel(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_energy_for_channel") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_EnergyCalibration_lower_energy(farg1) & +bind(C, name="_wrap_EnergyCalibration_lower_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_EnergyCalibration_upper_energy(farg1) & +bind(C, name="_wrap_EnergyCalibration_upper_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_EnergyCalibration_sm_min_channels_get() & +bind(C, name="_wrap_EnergyCalibration_sm_min_channels_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: fresult +end function + +function swigc_EnergyCalibration_sm_max_channels_get() & +bind(C, name="_wrap_EnergyCalibration_sm_max_channels_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: fresult +end function + +function swigc_EnergyCalibration_sm_polynomial_offset_limit_get() & +bind(C, name="_wrap_EnergyCalibration_sm_polynomial_offset_limit_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: fresult +end function + +subroutine swigc_delete_EnergyCalibration(farg1) & +bind(C, name="_wrap_delete_EnergyCalibration") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_EnergyCalibration_op_assign__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_energy_cal_combine_channels(farg1, farg2) & +bind(C, name="_wrap_energy_cal_combine_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_polynomial_binning(farg1, farg2, farg3) & +bind(C, name="_wrap_polynomial_binning") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_fullrangefraction_binning__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg4 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_fullrangefraction_binning__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_fullrangefraction_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE) :: fresult +end function + +function swigc_polynomial_energy(farg1, farg2, farg3) & +bind(C, name="_wrap_polynomial_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_deviation_pair_correction(farg1, farg2) & +bind(C, name="_wrap_deviation_pair_correction") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_correction_due_to_dev_pairs(farg1, farg2) & +bind(C, name="_wrap_correction_due_to_dev_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_apply_deviation_pair(farg1, farg2) & +bind(C, name="_wrap_apply_deviation_pair") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) & +bind(C, name="_wrap_polynomial_coef_to_fullrangefraction") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) & +bind(C, name="_wrap_fullrangefraction_coef_to_polynomial") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) & +bind(C, name="_wrap_mid_channel_polynomial_to_fullrangeFraction") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_calibration_is_valid(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_calibration_is_valid") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_INT), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +integer(C_SIZE_T), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_polynomial_cal_remove_first_channels(farg1, farg2) & +bind(C, name="_wrap_polynomial_cal_remove_first_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_INT), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_find_fullrangefraction_channel__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE), intent(in) :: farg5 +real(C_DOUBLE) :: fresult +end function + +function swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_find_fullrangefraction_channel__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE) :: fresult +end function + +function swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_find_polynomial_channel__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE), intent(in) :: farg5 +real(C_DOUBLE) :: fresult +end function + +function swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_find_polynomial_channel__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE) :: fresult +end function + +subroutine swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_rebin_by_lower_edge") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +function swigc_write_CALp_file(farg1, farg2, farg3) & +bind(C, name="_wrap_write_CALp_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg3 +integer(C_INT) :: fresult +end function + +end interface + + +contains + ! MODULE SUBPROGRAMS +function swigf_new_IntVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_IntVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_IntVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +class(IntVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_IntVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_IntVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_IntVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_IntVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(IntVector) :: self +integer, intent(in) :: count +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +integer(C_INT) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v +fresult = swigc_new_IntVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_IntVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(IntVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_IntVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(IntVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_capacity(farg1) +swig_result = int(fresult) +end function + + +subroutine SWIGTM_fout_bool(imout, fout) + use, intrinsic :: ISO_C_BINDING + integer(kind=C_INT), intent(in) :: imout + logical, intent(out) :: fout + fout = (imout /= 0) +end subroutine + +function swigf_IntVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(IntVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_IntVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(IntVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_front(farg1) +swig_result = fresult +end function + +function swigf_IntVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(IntVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_back(farg1) +swig_result = fresult +end function + +subroutine swigf_IntVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_IntVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_IntVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: count +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v +call swigc_IntVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_IntVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = v +call swigc_IntVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_IntVector_pop_back(farg1) +end subroutine + +subroutine swigf_IntVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_IntVector_clear(farg1) +end subroutine + +subroutine swigf_IntVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: index +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_IntVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_IntVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(IntVector), intent(in) :: self +integer, intent(in) :: index +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_IntVector_get(farg1, farg2) +swig_result = fresult +end function + +subroutine swigf_IntVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: index +integer(C_INT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_IntVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_IntVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_IntVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_IntVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_IntVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_IntVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT), pointer :: swig_result +class(IntVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_front_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_IntVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT), pointer :: swig_result +class(IntVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_IntVector_back_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_IntVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT), pointer :: swig_result +class(IntVector), intent(in) :: self +integer, intent(in) :: index +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_IntVector_get_ref(farg1, farg2) +call c_f_pointer(fresult, swig_result) +end function + +subroutine swigf_IntVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_IntVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_IntVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(IntVector), intent(inout) :: self +type(IntVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_IntVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_DoubleVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DoubleVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_DoubleVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +class(DoubleVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_DoubleVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_DoubleVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_DoubleVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_DoubleVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DoubleVector) :: self +integer, intent(in) :: count +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +real(C_DOUBLE) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v +fresult = swigc_new_DoubleVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_DoubleVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(DoubleVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_DoubleVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(DoubleVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_DoubleVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(DoubleVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_DoubleVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(DoubleVector), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_front(farg1) +swig_result = fresult +end function + +function swigf_DoubleVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(DoubleVector), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_back(farg1) +swig_result = fresult +end function + +subroutine swigf_DoubleVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_DoubleVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_DoubleVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: count +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_DOUBLE) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v +call swigc_DoubleVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_DoubleVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 + +farg1 = self%swigdata +farg2 = v +call swigc_DoubleVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DoubleVector_pop_back(farg1) +end subroutine + +subroutine swigf_DoubleVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DoubleVector_clear(farg1) +end subroutine + +subroutine swigf_DoubleVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_DOUBLE) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_DoubleVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_DoubleVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_DoubleVector_get(farg1, farg2) +swig_result = fresult +end function + +subroutine swigf_DoubleVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +real(C_DOUBLE), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_DOUBLE) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_DoubleVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_DoubleVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_DoubleVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_DoubleVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_DoubleVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_DoubleVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE), pointer :: swig_result +class(DoubleVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_front_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_DoubleVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE), pointer :: swig_result +class(DoubleVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DoubleVector_back_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_DoubleVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE), pointer :: swig_result +class(DoubleVector), intent(in) :: self +integer, intent(in) :: index +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_DoubleVector_get_ref(farg1, farg2) +call c_f_pointer(fresult, swig_result) +end function + +subroutine swigf_DoubleVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DoubleVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DoubleVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DoubleVector), intent(inout) :: self +type(DoubleVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DoubleVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_FloatVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_FloatVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +class(FloatVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_FloatVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_FloatVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +integer, intent(in) :: count +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v +fresult = swigc_new_FloatVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_FloatVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(FloatVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_FloatVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(FloatVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_FloatVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(FloatVector), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_back(farg1) +fresult = swigc_FloatVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_FloatVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_front(farg1) swig_result = fresult end function -subroutine swigf_IntVector_reserve(self, count) +function swigf_FloatVector_back(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_back(farg1) +swig_result = fresult +end function + +subroutine swigf_FloatVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_IntVector_reserve(farg1, farg2) +call swigc_FloatVector_reserve(farg1, farg2) end subroutine -subroutine swigf_IntVector_resize__SWIG_0(self, count) +subroutine swigf_FloatVector_resize__SWIG_0(self, count) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_IntVector_resize__SWIG_0(farg1, farg2) +call swigc_FloatVector_resize__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_IntVector_resize__SWIG_1(self, count, v) +subroutine swigf_FloatVector_resize__SWIG_1(self, count, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: count -integer(C_INT), intent(in) :: v +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -integer(C_INT) :: farg3 +real(C_FLOAT) :: farg3 farg1 = self%swigdata farg2 = int(count, C_INT) farg3 = v -call swigc_IntVector_resize__SWIG_1(farg1, farg2, farg3) +call swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) end subroutine -subroutine swigf_IntVector_push_back(self, v) +subroutine swigf_FloatVector_push_back(self, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self -integer(C_INT), intent(in) :: v +class(FloatVector), intent(in) :: self +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata farg2 = v -call swigc_IntVector_push_back(farg1, farg2) +call swigc_FloatVector_push_back(farg1, farg2) end subroutine -subroutine swigf_IntVector_pop_back(self) +subroutine swigf_FloatVector_pop_back(self) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_IntVector_pop_back(farg1) +call swigc_FloatVector_pop_back(farg1) end subroutine -subroutine swigf_IntVector_clear(self) +subroutine swigf_FloatVector_clear(self) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_IntVector_clear(farg1) +call swigc_FloatVector_clear(farg1) end subroutine -subroutine swigf_IntVector_set(self, index, v) +subroutine swigf_FloatVector_set(self, index, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: index -integer(C_INT), intent(in) :: v +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -integer(C_INT) :: farg3 +real(C_FLOAT) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) farg3 = v -call swigc_IntVector_set(farg1, farg2, farg3) +call swigc_FloatVector_set(farg1, farg2, farg3) end subroutine -function swigf_IntVector_get(self, index) & +function swigf_FloatVector_get(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self integer, intent(in) :: index -integer(C_INT) :: fresult +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_IntVector_get(farg1, farg2) +fresult = swigc_FloatVector_get(farg1, farg2) swig_result = fresult end function -subroutine swigf_IntVector_insert(self, index, v) +subroutine swigf_FloatVector_insert(self, index, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: index -integer(C_INT), intent(in) :: v +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -integer(C_INT) :: farg3 +real(C_FLOAT) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) farg3 = v -call swigc_IntVector_insert(farg1, farg2, farg3) +call swigc_FloatVector_insert(farg1, farg2, farg3) end subroutine -subroutine swigf_IntVector_erase__SWIG_0(self, index) +subroutine swigf_FloatVector_erase__SWIG_0(self, index) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: index type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -call swigc_IntVector_erase__SWIG_0(farg1, farg2) +call swigc_FloatVector_erase__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_IntVector_erase__SWIG_1(self, start_index, stop_index) +subroutine swigf_FloatVector_erase__SWIG_1(self, start_index, stop_index) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: start_index integer, intent(in) :: stop_index type(SwigClassWrapper) :: farg1 @@ -4982,40 +6326,40 @@ subroutine swigf_IntVector_erase__SWIG_1(self, start_index, stop_index) farg1 = self%swigdata farg2 = int(start_index, C_INT) farg3 = int(stop_index, C_INT) -call swigc_IntVector_erase__SWIG_1(farg1, farg2, farg3) +call swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) end subroutine -function swigf_IntVector_front_ref(self) & +function swigf_FloatVector_front_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT), pointer :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self type(C_PTR) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_front_ref(farg1) +fresult = swigc_FloatVector_front_ref(farg1) call c_f_pointer(fresult, swig_result) end function -function swigf_IntVector_back_ref(self) & +function swigf_FloatVector_back_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT), pointer :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self type(C_PTR) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_back_ref(farg1) +fresult = swigc_FloatVector_back_ref(farg1) call c_f_pointer(fresult, swig_result) end function -function swigf_IntVector_get_ref(self, index) & +function swigf_FloatVector_get_ref(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT), pointer :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self integer, intent(in) :: index type(C_PTR) :: fresult type(SwigClassWrapper) :: farg1 @@ -5023,284 +6367,284 @@ function swigf_IntVector_get_ref(self, index) & farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_IntVector_get_ref(farg1, farg2) +fresult = swigc_FloatVector_get_ref(farg1, farg2) call c_f_pointer(fresult, swig_result) end function -subroutine swigf_IntVector_release(self) +subroutine swigf_FloatVector_release(self) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(inout) :: self +class(FloatVector), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_IntVector(farg1) +call swigc_delete_FloatVector(farg1) endif farg1%cptr = C_NULL_PTR farg1%cmemflags = 0 self%swigdata = farg1 end subroutine -subroutine swigf_IntVector_op_assign__(self, other) +subroutine swigf_FloatVector_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(inout) :: self -type(IntVector), intent(in) :: other +class(FloatVector), intent(inout) :: self +type(FloatVector), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata farg2 = other%swigdata -call swigc_IntVector_op_assign__(farg1, farg2) +call swigc_FloatVector_op_assign__(farg1, farg2) self%swigdata = farg1 end subroutine -function swigf_new_DoubleVector__SWIG_0() & +function swigf_new_MeasurementVector__SWIG_0() & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self +type(MeasurementVector) :: self type(SwigClassWrapper) :: fresult -fresult = swigc_new_DoubleVector__SWIG_0() +fresult = swigc_new_MeasurementVector__SWIG_0() self%swigdata = fresult end function -function swigf_new_DoubleVector__SWIG_1(other) & +function swigf_new_MeasurementVector__SWIG_1(other) & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self -class(DoubleVector), intent(in) :: other +type(MeasurementVector) :: self +class(MeasurementVector), intent(in) :: other type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = other%swigdata -fresult = swigc_new_DoubleVector__SWIG_1(farg1) +fresult = swigc_new_MeasurementVector__SWIG_1(farg1) self%swigdata = fresult end function -function swigf_new_DoubleVector__SWIG_2(count) & +function swigf_new_MeasurementVector__SWIG_2(count) & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self +type(MeasurementVector) :: self integer, intent(in) :: count type(SwigClassWrapper) :: fresult integer(C_SIZE_T) :: farg1 farg1 = int(count, C_INT) -fresult = swigc_new_DoubleVector__SWIG_2(farg1) +fresult = swigc_new_MeasurementVector__SWIG_2(farg1) self%swigdata = fresult end function -function swigf_new_DoubleVector__SWIG_3(count, v) & +function swigf_new_MeasurementVector__SWIG_3(count, v) & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self +type(MeasurementVector) :: self integer, intent(in) :: count -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: fresult integer(C_SIZE_T) :: farg1 -real(C_DOUBLE) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = int(count, C_INT) -farg2 = v -fresult = swigc_new_DoubleVector__SWIG_3(farg1, farg2) +farg2 = v%swigdata +fresult = swigc_new_MeasurementVector__SWIG_3(farg1, farg2) self%swigdata = fresult end function -function swigf_DoubleVector_size(self) & +function swigf_MeasurementVector_size(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer :: swig_result -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_size(farg1) +fresult = swigc_MeasurementVector_size(farg1) swig_result = int(fresult) end function -function swigf_DoubleVector_capacity(self) & +function swigf_MeasurementVector_capacity(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer :: swig_result -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_capacity(farg1) +fresult = swigc_MeasurementVector_capacity(farg1) swig_result = int(fresult) end function -function swigf_DoubleVector_empty(self) & +function swigf_MeasurementVector_empty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_empty(farg1) +fresult = swigc_MeasurementVector_empty(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_DoubleVector_front(self) & +function swigf_MeasurementVector_front(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(DoubleVector), intent(in) :: self -real(C_DOUBLE) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_front(farg1) -swig_result = fresult +fresult = swigc_MeasurementVector_front(farg1) +swig_result%swigdata = fresult end function -function swigf_DoubleVector_back(self) & +function swigf_MeasurementVector_back(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(DoubleVector), intent(in) :: self -real(C_DOUBLE) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_back(farg1) -swig_result = fresult +fresult = swigc_MeasurementVector_back(farg1) +swig_result%swigdata = fresult end function -subroutine swigf_DoubleVector_reserve(self, count) +subroutine swigf_MeasurementVector_reserve(self, count) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_DoubleVector_reserve(farg1, farg2) +call swigc_MeasurementVector_reserve(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_resize__SWIG_0(self, count) +subroutine swigf_MeasurementVector_resize__SWIG_0(self, count) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_DoubleVector_resize__SWIG_0(farg1, farg2) +call swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_resize__SWIG_1(self, count, v) +subroutine swigf_MeasurementVector_resize__SWIG_1(self, count, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: count -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata farg2 = int(count, C_INT) -farg3 = v -call swigc_DoubleVector_resize__SWIG_1(farg1, farg2, farg3) +farg3 = v%swigdata +call swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) end subroutine -subroutine swigf_DoubleVector_push_back(self, v) +subroutine swigf_MeasurementVector_push_back(self, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self -real(C_DOUBLE), intent(in) :: v +class(MeasurementVector), intent(in) :: self +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = v -call swigc_DoubleVector_push_back(farg1, farg2) +farg2 = v%swigdata +call swigc_MeasurementVector_push_back(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_pop_back(self) +subroutine swigf_MeasurementVector_pop_back(self) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_DoubleVector_pop_back(farg1) +call swigc_MeasurementVector_pop_back(farg1) end subroutine -subroutine swigf_DoubleVector_clear(self) +subroutine swigf_MeasurementVector_clear(self) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_DoubleVector_clear(farg1) +call swigc_MeasurementVector_clear(farg1) end subroutine -subroutine swigf_DoubleVector_set(self, index, v) +subroutine swigf_MeasurementVector_set(self, index, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) -farg3 = v -call swigc_DoubleVector_set(farg1, farg2, farg3) +farg3 = v%swigdata +call swigc_MeasurementVector_set(farg1, farg2, farg3) end subroutine -function swigf_DoubleVector_get(self, index) & +function swigf_MeasurementVector_get(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(DoubleVector), intent(in) :: self +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_DoubleVector_get(farg1, farg2) -swig_result = fresult +fresult = swigc_MeasurementVector_get(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_DoubleVector_insert(self, index, v) +subroutine swigf_MeasurementVector_insert(self, index, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) -farg3 = v -call swigc_DoubleVector_insert(farg1, farg2, farg3) +farg3 = v%swigdata +call swigc_MeasurementVector_insert(farg1, farg2, farg3) end subroutine -subroutine swigf_DoubleVector_erase__SWIG_0(self, index) +subroutine swigf_MeasurementVector_erase__SWIG_0(self, index) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -call swigc_DoubleVector_erase__SWIG_0(farg1, farg2) +call swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_erase__SWIG_1(self, start_index, stop_index) +subroutine swigf_MeasurementVector_erase__SWIG_1(self, start_index, stop_index) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: start_index integer, intent(in) :: stop_index type(SwigClassWrapper) :: farg1 @@ -5310,1047 +6654,1083 @@ subroutine swigf_DoubleVector_erase__SWIG_1(self, start_index, stop_index) farg1 = self%swigdata farg2 = int(start_index, C_INT) farg3 = int(stop_index, C_INT) -call swigc_DoubleVector_erase__SWIG_1(farg1, farg2, farg3) +call swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) end subroutine -function swigf_DoubleVector_front_ref(self) & +function swigf_MeasurementVector_front_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE), pointer :: swig_result -class(DoubleVector), intent(in) :: self -type(C_PTR) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_front_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_MeasurementVector_front_ref(farg1) +swig_result%swigdata = fresult end function -function swigf_DoubleVector_back_ref(self) & +function swigf_MeasurementVector_back_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE), pointer :: swig_result -class(DoubleVector), intent(in) :: self -type(C_PTR) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_back_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_MeasurementVector_back_ref(farg1) +swig_result%swigdata = fresult end function -function swigf_DoubleVector_get_ref(self, index) & +function swigf_MeasurementVector_get_ref(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE), pointer :: swig_result -class(DoubleVector), intent(in) :: self +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -type(C_PTR) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_DoubleVector_get_ref(farg1, farg2) -call c_f_pointer(fresult, swig_result) +fresult = swigc_MeasurementVector_get_ref(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_DoubleVector_release(self) +subroutine swigf_MeasurementVector_release(self) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(inout) :: self +class(MeasurementVector), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DoubleVector(farg1) +call swigc_delete_MeasurementVector(farg1) endif farg1%cptr = C_NULL_PTR farg1%cmemflags = 0 self%swigdata = farg1 end subroutine -subroutine swigf_DoubleVector_op_assign__(self, other) +subroutine swigf_MeasurementVector_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(inout) :: self -type(DoubleVector), intent(in) :: other +class(MeasurementVector), intent(inout) :: self +type(MeasurementVector), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata farg2 = other%swigdata -call swigc_DoubleVector_op_assign__(farg1, farg2) +call swigc_MeasurementVector_op_assign__(farg1, farg2) self%swigdata = farg1 end subroutine -function swigf_new_FloatVector__SWIG_0() & -result(self) + +subroutine SWIGTM_fin_char_Sm_(finp, iminp, temp) + use, intrinsic :: ISO_C_BINDING + character(len=*), intent(in) :: finp + type(SwigArrayWrapper), intent(out) :: iminp + character(kind=C_CHAR), dimension(:), target, allocatable, intent(out) :: temp + integer :: i + + allocate(character(kind=C_CHAR) :: temp(len(finp) + 1)) + do i=1,len(finp) + temp(i) = char(ichar(finp(i:i)), kind=C_CHAR) + end do + i = len(finp) + 1 + temp(i) = C_NULL_CHAR ! C finp compatibility + iminp%data = c_loc(temp) + iminp%size = len(finp, kind=C_SIZE_T) +end subroutine + +function spectrumTypeFromDescription(descrip) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -type(SwigClassWrapper) :: fresult +integer(SpectrumType) :: swig_result +character(len=*), intent(in) :: descrip +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -fresult = swigc_new_FloatVector__SWIG_0() -self%swigdata = fresult +call SWIGTM_fin_char_Sm_(descrip, farg1, farg1_temp) +fresult = swigc_spectrumTypeFromDescription(farg1) +swig_result = fresult end function -function swigf_new_FloatVector__SWIG_1(other) & -result(self) + +subroutine SWIGTM_fout_char_Sm_(imout, fout) + use, intrinsic :: ISO_C_BINDING + type(SwigArrayWrapper), intent(in) :: imout + character(len=:), allocatable, intent(out) :: fout + character(kind=C_CHAR), dimension(:), pointer :: chars + integer(kind=C_SIZE_T) :: i + call c_f_pointer(imout%data, chars, [imout%size]) + allocate(character(len=imout%size) :: fout) + do i=1, imout%size + fout(i:i) = char(ichar(chars(i))) + end do +end subroutine + +function suggestedNameEnding(type) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -class(FloatVector), intent(in) :: other -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +character(len=:), allocatable :: swig_result +integer(SaveSpectrumAsType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 -farg1 = other%swigdata -fresult = swigc_new_FloatVector__SWIG_1(farg1) -self%swigdata = fresult +farg1 = type +fresult = swigc_suggestedNameEnding(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) end function -function swigf_new_FloatVector__SWIG_2(count) & -result(self) +function swigf_is_candidate_n42_file__SWIG_0(data) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 +logical :: swig_result +character(len=*), intent(in) :: data +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = int(count, C_INT) -fresult = swigc_new_FloatVector__SWIG_2(farg1) -self%swigdata = fresult +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +fresult = swigc_is_candidate_n42_file__SWIG_0(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_new_FloatVector__SWIG_3(count, v) & -result(self) +function swigf_is_candidate_n42_file__SWIG_1(data, data_end) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -integer, intent(in) :: count -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 -real(C_FLOAT) :: farg2 +logical :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = int(count, C_INT) -farg2 = v -fresult = swigc_new_FloatVector__SWIG_3(farg1, farg2) -self%swigdata = fresult +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_FloatVector_size(self) & +function convert_n42_utf16_xml_to_utf8(data, data_end) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(FloatVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = self%swigdata -fresult = swigc_FloatVector_size(farg1) -swig_result = int(fresult) +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) end function -function swigf_FloatVector_capacity(self) & +subroutine add_analysis_results_to_2012_N42(ana, radinstrumentdata, xmldocmutex) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: ana +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: radinstrumentdata +class(SWIGTYPE_p_std__mutex), intent(in) :: xmldocmutex +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = ana%swigdata +farg2 = radinstrumentdata%swigdata +farg3 = xmldocmutex%swigdata +call swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) +end subroutine + +subroutine set_analysis_info_from_n42(analysis_node, analysis) +use, intrinsic :: ISO_C_BINDING +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: analysis_node +class(DetectorAnalysis), intent(in) :: analysis +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = analysis_node%swigdata +farg2 = analysis%swigdata +call swigc_set_analysis_info_from_n42(farg1, farg2) +end subroutine + +function gamma_integral(hist, lowenergy, upperunergy) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(FloatVector), intent(in) :: self -integer(C_SIZE_T) :: fresult +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: hist +real(C_FLOAT), intent(in) :: lowenergy +real(C_FLOAT), intent(in) :: upperunergy +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 -farg1 = self%swigdata -fresult = swigc_FloatVector_capacity(farg1) -swig_result = int(fresult) +farg1 = hist%swigdata +farg2 = lowenergy +farg3 = upperunergy +fresult = swigc_gamma_integral(farg1, farg2, farg3) +swig_result = fresult end function -function swigf_FloatVector_empty(self) & +function detectorTypeToString(type) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(FloatVector), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 +character(len=:), allocatable :: swig_result +integer(DetectorType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 -farg1 = self%swigdata -fresult = swigc_FloatVector_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg1 = type +fresult = swigc_detectorTypeToString(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_FloatVector_front(self) & +function swigf_new_Measurement() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_Measurement() +self%swigdata = fresult +end function + +function swigf_Measurement_memmorysize(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -real(C_FLOAT) :: fresult +integer(C_SIZE_T) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_FloatVector_front(farg1) +fresult = swigc_Measurement_memmorysize(farg1) swig_result = fresult end function -function swigf_FloatVector_back(self) & +function swigf_Measurement_live_time(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self +class(Measurement), intent(in) :: self real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_FloatVector_back(farg1) +fresult = swigc_Measurement_live_time(farg1) swig_result = fresult end function -subroutine swigf_FloatVector_reserve(self, count) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_FloatVector_reserve(farg1, farg2) -end subroutine - -subroutine swigf_FloatVector_resize__SWIG_0(self, count) +subroutine swigf_Measurement_set_live_time(self, time) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: time type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_FloatVector_resize__SWIG_0(farg1, farg2) +farg2 = time +call swigc_Measurement_set_live_time(farg1, farg2) end subroutine -subroutine swigf_FloatVector_resize__SWIG_1(self, count, v) +function swigf_Measurement_real_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count -real(C_FLOAT), intent(in) :: v +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 farg1 = self%swigdata -farg2 = int(count, C_INT) -farg3 = v -call swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_real_time(farg1) +swig_result = fresult +end function -subroutine swigf_FloatVector_push_back(self, v) +subroutine swigf_Measurement_set_real_time(self, time) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -real(C_FLOAT), intent(in) :: v +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: time type(SwigClassWrapper) :: farg1 real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = v -call swigc_FloatVector_push_back(farg1, farg2) +farg2 = time +call swigc_Measurement_set_real_time(farg1, farg2) end subroutine -subroutine swigf_FloatVector_pop_back(self) +function swigf_Measurement_contained_neutron(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_FloatVector_pop_back(farg1) -end subroutine +fresult = swigc_Measurement_contained_neutron(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_FloatVector_clear(self) +function swigf_Measurement_sample_number(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_FloatVector_clear(farg1) -end subroutine +fresult = swigc_Measurement_sample_number(farg1) +swig_result = fresult +end function -subroutine swigf_FloatVector_set(self, index, v) +function swigf_Measurement_title(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT), intent(in) :: v +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v -call swigc_FloatVector_set(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_title(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -function swigf_FloatVector_get(self, index) & +function swigf_Measurement_occupied(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT) :: fresult +integer(OccupancyStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_FloatVector_get(farg1, farg2) +fresult = swigc_Measurement_occupied(farg1) swig_result = fresult end function -subroutine swigf_FloatVector_insert(self, index, v) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v -call swigc_FloatVector_insert(farg1, farg2, farg3) -end subroutine - -subroutine swigf_FloatVector_erase__SWIG_0(self, index) +function swigf_Measurement_gamma_count_sum(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -call swigc_FloatVector_erase__SWIG_0(farg1, farg2) -end subroutine +fresult = swigc_Measurement_gamma_count_sum(farg1) +swig_result = fresult +end function -subroutine swigf_FloatVector_erase__SWIG_1(self, start_index, stop_index) +function swigf_Measurement_neutron_live_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: start_index -integer, intent(in) :: stop_index +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 farg1 = self%swigdata -farg2 = int(start_index, C_INT) -farg3 = int(stop_index, C_INT) -call swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_neutron_live_time(farg1) +swig_result = fresult +end function -function swigf_FloatVector_front_ref(self) & +function swigf_Measurement_neutron_counts_sum(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -type(C_PTR) :: fresult +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_FloatVector_front_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_Measurement_neutron_counts_sum(farg1) +swig_result = fresult end function -function swigf_FloatVector_back_ref(self) & +function swigf_Measurement_speed(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -type(C_PTR) :: fresult +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_FloatVector_back_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_Measurement_speed(farg1) +swig_result = fresult end function -function swigf_FloatVector_get_ref(self, index) & +function swigf_Measurement_dx(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -type(C_PTR) :: fresult +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_FloatVector_get_ref(farg1, farg2) -call c_f_pointer(fresult, swig_result) +fresult = swigc_Measurement_dx(farg1) +swig_result = fresult end function -subroutine swigf_FloatVector_release(self) +function swigf_Measurement_dy(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(inout) :: self +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_FloatVector(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine +fresult = swigc_Measurement_dy(farg1) +swig_result = fresult +end function -subroutine swigf_FloatVector_op_assign__(self, other) +function swigf_Measurement_latitude(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(inout) :: self -type(FloatVector), intent(in) :: other +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_FloatVector_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_new_MeasurementVector__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_MeasurementVector__SWIG_0() -self%swigdata = fresult +fresult = swigc_Measurement_latitude(farg1) +swig_result = fresult end function -function swigf_new_MeasurementVector__SWIG_1(other) & -result(self) +function swigf_Measurement_longitude(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -class(MeasurementVector), intent(in) :: other -type(SwigClassWrapper) :: fresult +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -farg1 = other%swigdata -fresult = swigc_new_MeasurementVector__SWIG_1(farg1) -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_Measurement_longitude(farg1) +swig_result = fresult end function -function swigf_new_MeasurementVector__SWIG_2(count) & -result(self) +function swigf_Measurement_has_gps_info(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 -farg1 = int(count, C_INT) -fresult = swigc_new_MeasurementVector__SWIG_2(farg1) -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_Measurement_has_gps_info(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_new_MeasurementVector__SWIG_3(count, v) & -result(self) +function swigf_Measurement_dose_rate(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -integer, intent(in) :: count -class(Measurement), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 -type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 -farg1 = int(count, C_INT) -farg2 = v%swigdata -fresult = swigc_new_MeasurementVector__SWIG_3(farg1, farg2) -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_Measurement_dose_rate(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_size(self) & +function swigf_Measurement_exposure_rate(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_SIZE_T) :: fresult +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_size(farg1) -swig_result = int(fresult) +fresult = swigc_Measurement_exposure_rate(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_capacity(self) & +function swigf_Measurement_position_time(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_SIZE_T) :: fresult +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_capacity(farg1) -swig_result = int(fresult) +fresult = swigc_Measurement_position_time(farg1) +swig_result%swigdata = fresult end function -function swigf_MeasurementVector_empty(self) & +function swigf_Measurement_detector_name(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_Measurement_detector_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_MeasurementVector_front(self) & +function swigf_Measurement_detector_number(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_front(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_detector_number(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_back(self) & +function swigf_Measurement_detector_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_back(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_detector_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -subroutine swigf_MeasurementVector_reserve(self, count) +function swigf_Measurement_quality_status(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count +integer(QualityStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_MeasurementVector_reserve(farg1, farg2) -end subroutine +fresult = swigc_Measurement_quality_status(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_resize__SWIG_0(self, count) +function swigf_Measurement_source_type(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count +integer(SourceType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) -end subroutine +fresult = swigc_Measurement_source_type(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_resize__SWIG_1(self, count, v) +function swigf_Measurement_remarks(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count -class(Measurement), intent(in) :: v +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = int(count, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_remarks(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_MeasurementVector_push_back(self, v) +function swigf_Measurement_parse_warnings(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -class(Measurement), intent(in) :: v +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = v%swigdata -call swigc_MeasurementVector_push_back(farg1, farg2) -end subroutine +fresult = swigc_Measurement_parse_warnings(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_MeasurementVector_pop_back(self) +function swigf_Measurement_start_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_MeasurementVector_pop_back(farg1) -end subroutine +fresult = swigc_Measurement_start_time(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_MeasurementVector_clear(self) +function swigf_Measurement_start_time_copy(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_MeasurementVector_clear(farg1) -end subroutine +fresult = swigc_Measurement_start_time_copy(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_MeasurementVector_set(self, index, v) +function swigf_Measurement_energy_calibration_model(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -class(Measurement), intent(in) :: v +integer(SWIGTYPE_SpecUtils__EnergyCalType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_set(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_energy_calibration_model(farg1) +swig_result = fresult +end function -function swigf_MeasurementVector_get(self, index) & +function swigf_Measurement_calibration_coeffs(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_MeasurementVector_get(farg1, farg2) +fresult = swigc_Measurement_calibration_coeffs(farg1) swig_result%swigdata = fresult end function -subroutine swigf_MeasurementVector_insert(self, index, v) +function swigf_Measurement_deviation_pairs(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -class(Measurement), intent(in) :: v +type(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_insert(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_deviation_pairs(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_MeasurementVector_erase__SWIG_0(self, index) +function swigf_Measurement_energy_calibration(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -call swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) -end subroutine +fresult = swigc_Measurement_energy_calibration(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_MeasurementVector_erase__SWIG_1(self, start_index, stop_index) +function swigf_Measurement_channel_energies(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: start_index -integer, intent(in) :: stop_index +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 farg1 = self%swigdata -farg2 = int(start_index, C_INT) -farg3 = int(stop_index, C_INT) -call swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_channel_energies(farg1) +swig_result%swigdata = fresult +end function -function swigf_MeasurementVector_front_ref(self) & +function swigf_Measurement_gamma_counts(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_front_ref(farg1) +fresult = swigc_Measurement_gamma_counts(farg1) swig_result%swigdata = fresult end function -function swigf_MeasurementVector_back_ref(self) & +function swigf_Measurement_neutron_counts(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_back_ref(farg1) +fresult = swigc_Measurement_neutron_counts(farg1) swig_result%swigdata = fresult end function -function swigf_MeasurementVector_get_ref(self, index) & +function swigf_Measurement_location_state(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t) :: swig_result +class(Measurement), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_MeasurementVector_get_ref(farg1, farg2) +fresult = swigc_Measurement_location_state(farg1) swig_result%swigdata = fresult end function -subroutine swigf_MeasurementVector_release(self) +subroutine swigf_Measurement_set_title(self, title) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(inout) :: self +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: title type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_MeasurementVector(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +call swigc_Measurement_set_title(farg1, farg2) end subroutine -subroutine swigf_MeasurementVector_op_assign__(self, other) +subroutine swigf_Measurement_set_start_time(self, timestamp) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(inout) :: self -type(MeasurementVector), intent(in) :: other +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_MeasurementVector_op_assign__(farg1, farg2) -self%swigdata = farg1 +farg2 = timestamp%swigdata +call swigc_Measurement_set_start_time(farg1, farg2) end subroutine +subroutine swigf_Measurement_set_remarks(self, remarks) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 -subroutine SWIGTM_fin_char_Sm_(finp, iminp, temp) - use, intrinsic :: ISO_C_BINDING - character(len=*), intent(in) :: finp - type(SwigArrayWrapper), intent(out) :: iminp - character(kind=C_CHAR), dimension(:), target, allocatable, intent(out) :: temp - integer :: i - - allocate(character(kind=C_CHAR) :: temp(len(finp) + 1)) - do i=1,len(finp) - temp(i) = char(ichar(finp(i:i)), kind=C_CHAR) - end do - i = len(finp) + 1 - temp(i) = C_NULL_CHAR ! C finp compatibility - iminp%data = c_loc(temp) - iminp%size = len(finp, kind=C_SIZE_T) +farg1 = self%swigdata +farg2 = remarks%swigdata +call swigc_Measurement_set_remarks(farg1, farg2) end subroutine -function spectrumTypeFromDescription(descrip) & -result(swig_result) +subroutine swigf_Measurement_set_parse_warnings(self, warnings) use, intrinsic :: ISO_C_BINDING -integer(SpectrumType) :: swig_result -character(len=*), intent(in) :: descrip -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(descrip, farg1, farg1_temp) -fresult = swigc_spectrumTypeFromDescription(farg1) -swig_result = fresult -end function - +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 -subroutine SWIGTM_fout_char_Sm_(imout, fout) - use, intrinsic :: ISO_C_BINDING - type(SwigArrayWrapper), intent(in) :: imout - character(len=:), allocatable, intent(out) :: fout - character(kind=C_CHAR), dimension(:), pointer :: chars - integer(kind=C_SIZE_T) :: i - call c_f_pointer(imout%data, chars, [imout%size]) - allocate(character(len=imout%size) :: fout) - do i=1, imout%size - fout(i:i) = char(ichar(chars(i))) - end do +farg1 = self%swigdata +farg2 = warnings%swigdata +call swigc_Measurement_set_parse_warnings(farg1, farg2) end subroutine -function suggestedNameEnding(type) & -result(swig_result) +subroutine swigf_Measurement_set_source_type(self, type) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -integer(SaveSpectrumAsType), intent(in) :: type -type(SwigArrayWrapper) :: fresult -integer(C_INT) :: farg1 +class(Measurement), intent(in) :: self +integer(SourceType), intent(in) :: type +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 -farg1 = type -fresult = swigc_suggestedNameEnding(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -if (.false.) call SWIG_free(fresult%data) -end function +farg1 = self%swigdata +farg2 = type +call swigc_Measurement_set_source_type(farg1, farg2) +end subroutine -function swigf_is_candidate_n42_file__SWIG_0(data) & -result(swig_result) +subroutine swigf_Measurement_set_position(self, longitude, latitude, pos_time) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: data -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 +class(Measurement), intent(in) :: self +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: pos_time +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -fresult = swigc_is_candidate_n42_file__SWIG_0(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg1 = self%swigdata +farg2 = longitude +farg3 = latitude +farg4 = pos_time%swigdata +call swigc_Measurement_set_position(farg1, farg2, farg3, farg4) +end subroutine -function swigf_is_candidate_n42_file__SWIG_1(data, data_end) & -result(swig_result) +subroutine swigf_Measurement_set_sample_number(self, samplenum) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: samplenum +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) -fresult = swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg1 = self%swigdata +farg2 = samplenum +call swigc_Measurement_set_sample_number(farg1, farg2) +end subroutine -function convert_n42_utf16_xml_to_utf8(data, data_end) & -result(swig_result) +subroutine swigf_Measurement_set_occupancy_status(self, status) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +class(Measurement), intent(in) :: self +integer(OccupancyStatus), intent(in) :: status +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) -fresult = swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -if (.false.) call SWIG_free(fresult%data) -end function +farg1 = self%swigdata +farg2 = status +call swigc_Measurement_set_occupancy_status(farg1, farg2) +end subroutine -subroutine add_analysis_results_to_2012_N42(ana, radinstrumentdata, xmldocmutex) +subroutine swigf_Measurement_set_detector_name(self, name) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: ana -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: radinstrumentdata -class(SWIGTYPE_p_std__mutex), intent(in) :: xmldocmutex +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: name type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = ana%swigdata -farg2 = radinstrumentdata%swigdata -farg3 = xmldocmutex%swigdata -call swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) +call swigc_Measurement_set_detector_name(farg1, farg2) end subroutine -subroutine set_analysis_info_from_n42(analysis_node, analysis) +subroutine swigf_Measurement_set_detector_number(self, detnum) use, intrinsic :: ISO_C_BINDING -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: analysis_node -class(DetectorAnalysis), intent(in) :: analysis +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: detnum type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg2 -farg1 = analysis_node%swigdata -farg2 = analysis%swigdata -call swigc_set_analysis_info_from_n42(farg1, farg2) +farg1 = self%swigdata +farg2 = detnum +call swigc_Measurement_set_detector_number(farg1, farg2) end subroutine -function gamma_integral(hist, lowenergy, upperunergy) & -result(swig_result) +subroutine swigf_Measurement_set_neutron_counts__SWIG_0(self, counts, neutron_live_time) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: hist -real(C_FLOAT), intent(in) :: lowenergy -real(C_FLOAT), intent(in) :: upperunergy -real(C_DOUBLE) :: fresult +class(Measurement), intent(in) :: self +class(FloatVector), intent(in) :: counts +real(C_FLOAT), intent(in) :: neutron_live_time type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg2 real(C_FLOAT) :: farg3 -farg1 = hist%swigdata -farg2 = lowenergy -farg3 = upperunergy -fresult = swigc_gamma_integral(farg1, farg2, farg3) -swig_result = fresult -end function +farg1 = self%swigdata +farg2 = counts%swigdata +farg3 = neutron_live_time +call swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) +end subroutine -function detectorTypeToString(type) & -result(swig_result) +subroutine swigf_Measurement_set_neutron_counts__SWIG_1(self, counts) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -integer(DetectorType), intent(in) :: type -type(SwigArrayWrapper) :: fresult -integer(C_INT) :: farg1 +class(Measurement), intent(in) :: self +class(FloatVector), intent(in) :: counts +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 -farg1 = type -fresult = swigc_detectorTypeToString(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg1 = self%swigdata +farg2 = counts%swigdata +call swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) +end subroutine -function swigf_new_Measurement() & -result(self) +function swigf_Measurement_num_gamma_channels(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: self -type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: swig_result +class(Measurement), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 -fresult = swigc_new_Measurement() -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_Measurement_num_gamma_channels(farg1) +swig_result = fresult end function -function swigf_Measurement_memmorysize(self) & +function swigf_Measurement_find_gamma_channel(self, energy) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer(C_SIZE_T) :: swig_result class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: energy integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_memmorysize(farg1) +farg2 = energy +fresult = swigc_Measurement_find_gamma_channel(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_live_time(self) & +function swigf_Measurement_gamma_channel_content(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: channel real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_live_time(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_content(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_real_time(self) & +function swigf_Measurement_gamma_channel_lower(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: channel real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_real_time(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_lower(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_contained_neutron(self) & +function swigf_Measurement_gamma_channel_center(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_contained_neutron(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_center(farg1, farg2) +swig_result = fresult end function -function swigf_Measurement_sample_number(self) & +function swigf_Measurement_gamma_channel_upper(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_sample_number(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_upper(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_title(self) & +function swigf_Measurement_gamma_channel_width(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_SIZE_T), intent(in) :: channel +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_title(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_width(farg1, farg2) +swig_result = fresult end function -function swigf_Measurement_occupied(self) & +function swigf_Measurement_gamma_integral(self, lower_energy, upper_energy) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(OccupancyStatus) :: swig_result +real(C_DOUBLE) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +real(C_FLOAT), intent(in) :: lower_energy +real(C_FLOAT), intent(in) :: upper_energy +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 farg1 = self%swigdata -fresult = swigc_Measurement_occupied(farg1) +farg2 = lower_energy +farg3 = upper_energy +fresult = swigc_Measurement_gamma_integral(farg1, farg2, farg3) swig_result = fresult end function -function swigf_Measurement_gamma_count_sum(self) & +function swigf_Measurement_gamma_channels_sum(self, startbin, endbin) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_DOUBLE) :: swig_result class(Measurement), intent(in) :: self +integer(C_SIZE_T), intent(in) :: startbin +integer(C_SIZE_T), intent(in) :: endbin real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_count_sum(farg1) +farg2 = startbin +farg3 = endbin +fresult = swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) swig_result = fresult end function -function swigf_Measurement_neutron_live_time(self) & +function swigf_Measurement_gamma_channel_energies(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result +type(FloatVector) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_neutron_live_time(farg1) -swig_result = fresult +fresult = swigc_Measurement_gamma_channel_energies(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_neutron_counts_sum(self) & +function swigf_Measurement_gamma_channel_contents(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +type(FloatVector) :: swig_result class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_neutron_counts_sum(farg1) -swig_result = fresult +fresult = swigc_Measurement_gamma_channel_contents(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_speed(self) & +function swigf_Measurement_gamma_energy_min(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result @@ -6359,11 +7739,11 @@ function swigf_Measurement_speed(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_speed(farg1) +fresult = swigc_Measurement_gamma_energy_min(farg1) swig_result = fresult end function -function swigf_Measurement_dx(self) & +function swigf_Measurement_gamma_energy_max(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result @@ -6372,102 +7752,121 @@ function swigf_Measurement_dx(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_dx(farg1) +fresult = swigc_Measurement_gamma_energy_max(farg1) swig_result = fresult end function -function swigf_Measurement_dy(self) & +function swigf_Measurement_derived_data_properties(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result +type(SWIGTYPE_p_uint32_t) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_dy(farg1) -swig_result = fresult +fresult = swigc_Measurement_derived_data_properties(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_latitude(self) & +function swigf_Measurement_write_2006_N42_xml(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +logical :: swig_result class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_latitude(farg1) -swig_result = fresult +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_2006_N42_xml(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_longitude(self) & +function swigf_Measurement_write_csv(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +logical :: swig_result class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_longitude(farg1) -swig_result = fresult +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_has_gps_info(self) & +function swigf_Measurement_write_txt(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_has_gps_info(farg1) +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_txt(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_dose_rate(self) & -result(swig_result) +subroutine swigf_Measurement_reset(self) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_dose_rate(farg1) -swig_result = fresult -end function +call swigc_Measurement_reset(farg1) +end subroutine -function swigf_Measurement_exposure_rate(self) & -result(swig_result) +subroutine swigf_Measurement_rebin(self, cal) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_exposure_rate(farg1) -swig_result = fresult -end function +farg2 = cal%swigdata +call swigc_Measurement_rebin(farg1, farg2) +end subroutine -function swigf_Measurement_position_time(self) & +subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +type(SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t), intent(in) :: spectrum +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = spectrum%swigdata +call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) +end subroutine + +function swigf_Measurement_gamma_count_at(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(C_INT), intent(in) :: index +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_position_time(farg1) -swig_result%swigdata = fresult +farg2 = index +fresult = swigc_Measurement_gamma_count_at(farg1, farg2) +swig_result = fresult end function -function swigf_Measurement_detector_name(self) & +function swigf_Measurement_get_description(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result @@ -6476,25 +7875,26 @@ function swigf_Measurement_detector_name(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_detector_name(farg1) +fresult = swigc_Measurement_get_description(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -function swigf_Measurement_detector_number(self) & +function swigf_Measurement_get_source(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result +character(len=:), allocatable :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_detector_number(farg1) -swig_result = fresult +fresult = swigc_Measurement_get_source(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_detector_type(self) & +function swigf_Measurement_get_start_time_string(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result @@ -6503,1246 +7903,1298 @@ function swigf_Measurement_detector_type(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_detector_type(farg1) +fresult = swigc_Measurement_get_start_time_string(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -function swigf_Measurement_quality_status(self) & -result(swig_result) +subroutine swigf_Measurement_set_start_time_from_string(self, time_str) use, intrinsic :: ISO_C_BINDING -integer(QualityStatus) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +character(len=*), intent(in) :: time_str type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_quality_status(farg1) -swig_result = fresult -end function +call SWIGTM_fin_char_Sm_(time_str, farg2, farg2_temp) +call swigc_Measurement_set_start_time_from_string(farg1, farg2) +end subroutine -function swigf_Measurement_source_type(self) & -result(swig_result) +subroutine swigf_Measurement_set_description(self, description) use, intrinsic :: ISO_C_BINDING -integer(SourceType) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +character(len=*), intent(in) :: description type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_source_type(farg1) -swig_result = fresult -end function +call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) +call swigc_Measurement_set_description(farg1, farg2) +end subroutine -function swigf_Measurement_remarks(self) & -result(swig_result) +subroutine swigf_Measurement_set_source(self, source) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: source type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_remarks(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(source, farg2, farg2_temp) +call swigc_Measurement_set_source(farg1, farg2) +end subroutine -function swigf_Measurement_parse_warnings(self) & -result(swig_result) +subroutine swigf_Measurement_set_neutron_count(self, count) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT), intent(in) :: count type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_parse_warnings(farg1) -swig_result%swigdata = fresult -end function +farg2 = count +call swigc_Measurement_set_neutron_count(farg1, farg2) +end subroutine -function swigf_Measurement_start_time(self) & -result(swig_result) +subroutine SWIGTM_fin_float_Sb__SB_(finp, iminp) + use, intrinsic :: ISO_C_BINDING + real(C_FLOAT), dimension(:), intent(in), target :: finp + type(SwigArrayWrapper), intent(out) :: iminp + integer(C_SIZE_T) :: sz + real(C_FLOAT), pointer :: imtemp + + sz = size(finp, kind=C_SIZE_T) + if (sz > 0_c_size_t) then + imtemp => finp(1) + iminp%data = c_loc(imtemp) + else + iminp%data = c_null_ptr + end if + iminp%size = sz +end subroutine +subroutine swigf_Measurement_set_spectrum(self, spectrum) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT), dimension(:), target :: spectrum type(SwigClassWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_start_time(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) +call swigc_Measurement_set_spectrum(farg1, farg2) +end subroutine -function swigf_Measurement_start_time_copy(self) & -result(swig_result) +subroutine swigf_Measurement_get_spectrum(self, spectrum) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT), dimension(:), target :: spectrum type(SwigClassWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_start_time_copy(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) +call swigc_Measurement_get_spectrum(farg1, farg2) +end subroutine -function swigf_Measurement_energy_calibration_model(self) & -result(swig_result) +subroutine swigf_Measurement_release(self) use, intrinsic :: ISO_C_BINDING -integer(SWIGTYPE_SpecUtils__EnergyCalType) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +class(Measurement), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_energy_calibration_model(farg1) -swig_result = fresult -end function +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_Measurement(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine -function swigf_Measurement_calibration_coeffs(self) & -result(swig_result) +subroutine swigf_Measurement_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(Measurement), intent(inout) :: self +type(Measurement), intent(in) :: other type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_calibration_coeffs(farg1) -swig_result%swigdata = fresult +farg2 = other%swigdata +call swigc_Measurement_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_SpecFile__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(SpecFile) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_SpecFile__SWIG_0() +self%swigdata = fresult end function -function swigf_Measurement_deviation_pairs(self) & -result(swig_result) +function swigf_new_SpecFile__SWIG_1(rhs) & +result(self) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t) :: swig_result -class(Measurement), intent(in) :: self +type(SpecFile) :: self +class(SpecFile), intent(in) :: rhs type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -farg1 = self%swigdata -fresult = swigc_Measurement_deviation_pairs(farg1) -swig_result%swigdata = fresult +farg1 = rhs%swigdata +fresult = swigc_new_SpecFile__SWIG_1(farg1) +self%swigdata = fresult end function -function swigf_Measurement_energy_calibration(self) & -result(swig_result) +subroutine swigf_SpecFile_release(self) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(SpecFile), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_energy_calibration(farg1) -swig_result%swigdata = fresult -end function +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_SpecFile(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine -function swigf_Measurement_channel_energies(self) & +function swigf_SpecFile_load_file__SWIG_0(self, filename, parser_type, file_ending_hint) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +character(len=*), intent(in) :: file_ending_hint +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg4_temp +type(SwigArrayWrapper) :: farg4 farg1 = self%swigdata -fresult = swigc_Measurement_channel_energies(farg1) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +call SWIGTM_fin_char_Sm_(file_ending_hint, farg4, farg4_temp) +fresult = swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_gamma_counts(self) & +function swigf_SpecFile_load_file__SWIG_1(self, filename, parser_type) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_counts(farg1) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +fresult = swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_neutron_counts(self) & +function swigf_SpecFile_parse_warnings(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_neutron_counts(farg1) +fresult = swigc_SpecFile_parse_warnings(farg1) swig_result%swigdata = fresult end function -function swigf_Measurement_location_state(self) & +function swigf_SpecFile_modified(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_location_state(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_modified(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_Measurement_set_title(self, title) +subroutine swigf_SpecFile_reset_modified(self) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: title +class(SpecFile), intent(in) :: self type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) -call swigc_Measurement_set_title(farg1, farg2) +call swigc_SpecFile_reset_modified(farg1) end subroutine -subroutine swigf_Measurement_set_start_time(self, timestamp) +function swigf_SpecFile_modified_since_decode(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = timestamp%swigdata -call swigc_Measurement_set_start_time(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_modified_since_decode(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_Measurement_set_remarks(self, remarks) +subroutine swigf_SpecFile_reset_modified_since_decode(self) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +class(SpecFile), intent(in) :: self type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = remarks%swigdata -call swigc_Measurement_set_remarks(farg1, farg2) +call swigc_SpecFile_reset_modified_since_decode(farg1) end subroutine -subroutine swigf_Measurement_set_parse_warnings(self, warnings) +function swigf_SpecFile_gamma_live_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_live_time(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_gamma_real_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = warnings%swigdata -call swigc_Measurement_set_parse_warnings(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_gamma_real_time(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_source_type(self, type) +function swigf_SpecFile_gamma_count_sum(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(SourceType), intent(in) :: type +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = type -call swigc_Measurement_set_source_type(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_gamma_count_sum(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_position(self, longitude, latitude, pos_time) +function swigf_SpecFile_neutron_counts_sum(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_DOUBLE), intent(in) :: longitude -real(C_DOUBLE), intent(in) :: latitude -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: pos_time +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 -real(C_DOUBLE) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = longitude -farg3 = latitude -farg4 = pos_time%swigdata -call swigc_Measurement_set_position(farg1, farg2, farg3, farg4) -end subroutine +fresult = swigc_SpecFile_neutron_counts_sum(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_sample_number(self, samplenum) +function swigf_SpecFile_filename(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: samplenum +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = samplenum -call swigc_Measurement_set_sample_number(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_filename(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_Measurement_set_occupancy_status(self, status) +function swigf_SpecFile_detector_names(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(OccupancyStatus), intent(in) :: status +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = status -call swigc_Measurement_set_occupancy_status(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_detector_names(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_Measurement_set_detector_name(self, name) +function swigf_SpecFile_detector_numbers(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: name +type(IntVector) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) -call swigc_Measurement_set_detector_name(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_detector_numbers(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_Measurement_set_detector_number(self, detnum) +function swigf_SpecFile_gamma_detector_names(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: detnum +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = detnum -call swigc_Measurement_set_detector_number(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_gamma_detector_names(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_Measurement_set_gamma_counts(self, counts, livetime, realtime) +function swigf_SpecFile_neutron_detector_names(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(FloatVector), intent(in) :: counts -real(C_FLOAT), intent(in) :: livetime -real(C_FLOAT), intent(in) :: realtime +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -real(C_FLOAT) :: farg3 -real(C_FLOAT) :: farg4 farg1 = self%swigdata -farg2 = counts%swigdata -farg3 = livetime -farg4 = realtime -call swigc_Measurement_set_gamma_counts(farg1, farg2, farg3, farg4) -end subroutine +fresult = swigc_SpecFile_neutron_detector_names(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_Measurement_set_neutron_counts(self, counts, neutron_live_time) +function swigf_SpecFile_uuid(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(FloatVector), intent(in) :: counts -real(C_FLOAT), intent(in) :: neutron_live_time +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -real(C_FLOAT) :: farg3 farg1 = self%swigdata -farg2 = counts%swigdata -farg3 = neutron_live_time -call swigc_Measurement_set_neutron_counts(farg1, farg2, farg3) -end subroutine +fresult = swigc_SpecFile_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -function swigf_Measurement_num_gamma_channels(self) & +function swigf_SpecFile_remarks(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T) :: fresult +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_num_gamma_channels(farg1) -swig_result = fresult +fresult = swigc_SpecFile_remarks(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_find_gamma_channel(self, energy) & +function swigf_SpecFile_lane_number(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: energy -integer(C_SIZE_T) :: fresult +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = energy -fresult = swigc_Measurement_find_gamma_channel(farg1, farg2) +fresult = swigc_SpecFile_lane_number(farg1) swig_result = fresult end function -function swigf_Measurement_gamma_channel_content(self, channel) & +function swigf_SpecFile_measurement_location_name(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_content(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_measurement_location_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_channel_lower(self, channel) & +function swigf_SpecFile_inspection(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_lower(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_inspection(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_channel_center(self, channel) & +function swigf_SpecFile_measurement_operator(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_center(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_measurement_operator(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_channel_upper(self, channel) & +function swigf_SpecFile_sample_numbers(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_upper(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_sample_numbers(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_gamma_channel_width(self, channel) & +function swigf_SpecFile_num_measurements(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +integer(C_SIZE_T) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_width(farg1, farg2) +fresult = swigc_SpecFile_num_measurements(farg1) swig_result = fresult end function -function swigf_Measurement_gamma_integral(self, lower_energy, upper_energy) & +function swigf_SpecFile_detector_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: lower_energy -real(C_FLOAT), intent(in) :: upper_energy -real(C_DOUBLE) :: fresult +integer(DetectorType) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -real(C_FLOAT) :: farg3 farg1 = self%swigdata -farg2 = lower_energy -farg3 = upper_energy -fresult = swigc_Measurement_gamma_integral(farg1, farg2, farg3) +fresult = swigc_SpecFile_detector_type(farg1) swig_result = fresult end function -function swigf_Measurement_gamma_channels_sum(self, startbin, endbin) & +function swigf_SpecFile_instrument_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: startbin -integer(C_SIZE_T), intent(in) :: endbin -real(C_DOUBLE) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 farg1 = self%swigdata -farg2 = startbin -farg3 = endbin -fresult = swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) -swig_result = fresult +fresult = swigc_SpecFile_instrument_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_channel_energies(self) & +function swigf_SpecFile_manufacturer(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_channel_energies(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_manufacturer(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_channel_contents(self) & +function swigf_SpecFile_instrument_model(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_channel_contents(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_instrument_model(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_energy_min(self) & +function swigf_SpecFile_instrument_id(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_energy_min(farg1) -swig_result = fresult +fresult = swigc_SpecFile_instrument_id(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_energy_max(self) & +function swigf_SpecFile_measurements(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_energy_max(farg1) -swig_result = fresult +fresult = swigc_SpecFile_measurements(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_derived_data_properties(self) & +function swigf_SpecFile_measurement__SWIG_0(self, num) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_uint32_t) :: swig_result -class(Measurement), intent(in) :: self +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_SIZE_T), intent(in) :: num type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_derived_data_properties(farg1) +farg2 = num +fresult = swigc_SpecFile_measurement__SWIG_0(farg1, farg2) swig_result%swigdata = fresult end function -function swigf_Measurement_write_2006_N42_xml(self, ostr) & +function swigf_SpecFile_detectors_analysis(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_2006_N42_xml(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_detectors_analysis(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_write_csv(self, ostr) & +function swigf_SpecFile_multimedia_data(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_multimedia_data(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_write_txt(self, ostr) & +function swigf_SpecFile_has_gps_info(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +class(SpecFile), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_txt(farg1, farg2) +fresult = swigc_SpecFile_has_gps_info(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_Measurement_reset(self) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_Measurement_reset(farg1) -end subroutine - -subroutine swigf_Measurement_rebin(self, cal) +function swigf_SpecFile_mean_latitude(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_Measurement_rebin(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_mean_latitude(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) +function swigf_SpecFile_mean_longitude(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -type(SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t), intent(in) :: spectrum +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = spectrum%swigdata -call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_mean_longitude(farg1) +swig_result = fresult +end function -function swigf_Measurement_gamma_count_at(self, index) & +function swigf_SpecFile_passthrough(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: index -real(C_FLOAT) :: fresult +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = index -fresult = swigc_Measurement_gamma_count_at(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_passthrough(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_get_description(self) & +function swigf_SpecFile_contains_derived_data(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_get_description(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_SpecFile_contains_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_get_source(self) & +function swigf_SpecFile_contains_non_derived_data(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_get_source(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_SpecFile_contains_non_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_Measurement_release(self) +subroutine swigf_SpecFile_set_filename(self, n) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(inout) :: self +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_Measurement(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_filename(farg1, farg2) end subroutine -subroutine swigf_Measurement_op_assign__(self, other) +subroutine swigf_SpecFile_set_remarks__SWIG_0(self, n) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(inout) :: self -type(Measurement), intent(in) :: other +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: n type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_Measurement_op_assign__(farg1, farg2) -self%swigdata = farg1 +farg2 = n%swigdata +call swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) end subroutine -function swigf_new_SpecFile__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(SpecFile) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_SpecFile__SWIG_0() -self%swigdata = fresult -end function - -function swigf_new_SpecFile__SWIG_1(rhs) & -result(self) +subroutine swigf_SpecFile_add_remark(self, remark) use, intrinsic :: ISO_C_BINDING -type(SpecFile) :: self -class(SpecFile), intent(in) :: rhs -type(SwigClassWrapper) :: fresult +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: remark type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = rhs%swigdata -fresult = swigc_new_SpecFile__SWIG_1(farg1) -self%swigdata = fresult -end function +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark, farg2, farg2_temp) +call swigc_SpecFile_add_remark(farg1, farg2) +end subroutine -subroutine swigf_SpecFile_release(self) +subroutine swigf_SpecFile_set_parse_warnings(self, warnings) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(inout) :: self +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_SpecFile(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 +farg2 = warnings%swigdata +call swigc_SpecFile_set_parse_warnings(farg1, farg2) end subroutine -function swigf_SpecFile_load_file__SWIG_0(self, filename, parser_type, file_ending_hint) & -result(swig_result) +subroutine swigf_SpecFile_set_uuid(self, n) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(ParserType), intent(in) :: parser_type -character(len=*), intent(in) :: file_ending_hint -integer(C_INT) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg4_temp -type(SwigArrayWrapper) :: farg4 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = parser_type -call SWIGTM_fin_char_Sm_(file_ending_hint, farg4, farg4_temp) -fresult = swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_uuid(farg1, farg2) +end subroutine -function swigf_SpecFile_load_file__SWIG_1(self, filename, parser_type) & -result(swig_result) +subroutine swigf_SpecFile_set_lane_number(self, num) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(ParserType), intent(in) :: parser_type -integer(C_INT) :: fresult +integer(C_INT), intent(in) :: num +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = num +call swigc_SpecFile_set_lane_number(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_measurement_location_name(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = parser_type -fresult = swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_measurement_location_name(farg1, farg2) +end subroutine -function swigf_SpecFile_parse_warnings(self) & -result(swig_result) +subroutine swigf_SpecFile_set_inspection(self, n) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_parse_warnings(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_inspection(farg1, farg2) +end subroutine -function swigf_SpecFile_modified(self) & -result(swig_result) +subroutine swigf_SpecFile_set_instrument_type(self, n) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_modified(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_type(farg1, farg2) +end subroutine -subroutine swigf_SpecFile_reset_modified(self) +subroutine swigf_SpecFile_set_detector_type(self, type) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: self +integer(DetectorType), intent(in) :: type type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_reset_modified(farg1) +farg2 = type +call swigc_SpecFile_set_detector_type(farg1, farg2) end subroutine -function swigf_SpecFile_modified_since_decode(self) & -result(swig_result) +subroutine swigf_SpecFile_set_manufacturer(self, n) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_modified_since_decode(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_manufacturer(farg1, farg2) +end subroutine -subroutine swigf_SpecFile_reset_modified_since_decode(self) +subroutine swigf_SpecFile_set_instrument_model(self, n) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_reset_modified_since_decode(farg1) +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_model(farg1, farg2) end subroutine -function swigf_SpecFile_gamma_live_time(self) & -result(swig_result) +subroutine swigf_SpecFile_set_instrument_id(self, n) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(SpecFile), intent(in) :: self -real(C_FLOAT) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_live_time(farg1) -swig_result = fresult -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_id(farg1, farg2) +end subroutine -function swigf_SpecFile_gamma_real_time(self) & -result(swig_result) +subroutine swigf_SpecFile_set_live_time(self, lt, measurement2) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(SpecFile), intent(in) :: self -real(C_FLOAT) :: fresult +real(C_FLOAT), intent(in) :: lt +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_real_time(farg1) -swig_result = fresult -end function +farg2 = lt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_live_time(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_gamma_count_sum(self) & -result(swig_result) +subroutine swigf_SpecFile_set_real_time(self, rt, measurement2) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +real(C_FLOAT), intent(in) :: rt +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_count_sum(farg1) -swig_result = fresult -end function +farg2 = rt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_real_time(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_neutron_counts_sum(self) & -result(swig_result) +subroutine swigf_SpecFile_set_start_time(self, timestamp, measurement2) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_neutron_counts_sum(farg1) -swig_result = fresult -end function +farg2 = timestamp%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_start_time(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_filename(self) & -result(swig_result) +subroutine swigf_SpecFile_set_remarks__SWIG_1(self, remarks, measurement2) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_filename(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = remarks%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_detector_names(self) & -result(swig_result) +subroutine swigf_SpecFile_set_source_type(self, type, measurement2) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(SourceType), intent(in) :: type +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_detector_names(farg1) -swig_result%swigdata = fresult -end function +farg2 = type +farg3 = measurement2%swigdata +call swigc_SpecFile_set_source_type(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_detector_numbers(self) & -result(swig_result) +subroutine swigf_SpecFile_set_position(self, longitude, latitude, position_time, measurement4) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: position_time +class(Measurement), intent(in) :: measurement4 type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 farg1 = self%swigdata -fresult = swigc_SpecFile_detector_numbers(farg1) -swig_result%swigdata = fresult -end function +farg2 = longitude +farg3 = latitude +farg4 = position_time%swigdata +farg5 = measurement4%swigdata +call swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_gamma_detector_names(self) & -result(swig_result) +subroutine swigf_SpecFile_set_title(self, title, measurement2) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: title +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_detector_names(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +farg3 = measurement2%swigdata +call swigc_SpecFile_set_title(farg1, farg2, farg3) +end subroutine + + +subroutine SWIGTM_fin_bool(finp, iminp) + use, intrinsic :: ISO_C_BINDING + logical, intent(in) :: finp + integer(kind=C_INT), intent(out) :: iminp + if (finp .eqv. .true.) then + iminp = 1 + else + iminp = 0 + end if +end subroutine -function swigf_SpecFile_neutron_detector_names(self) & -result(swig_result) +subroutine swigf_SpecFile_set_contained_neutrons(self, contained, counts, measurement3, neutron_live_time) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical, intent(in) :: contained +real(C_FLOAT), intent(in) :: counts +class(Measurement), intent(in) :: measurement3 +real(C_FLOAT), intent(in) :: neutron_live_time type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +real(C_FLOAT) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_FLOAT) :: farg5 farg1 = self%swigdata -fresult = swigc_SpecFile_neutron_detector_names(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_bool(contained, farg2) +farg3 = counts +farg4 = measurement3%swigdata +farg5 = neutron_live_time +call swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_uuid(self) & -result(swig_result) +subroutine swigf_SpecFile_set_detectors_analysis(self, ana) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(DetectorAnalysis), intent(in) :: ana type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_uuid(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = ana%swigdata +call swigc_SpecFile_set_detectors_analysis(farg1, farg2) +end subroutine -function swigf_SpecFile_remarks(self) & -result(swig_result) +subroutine swigf_SpecFile_change_detector_name(self, original_name, new_name) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: original_name +character(len=*), intent(in) :: new_name type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_remarks(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(original_name, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(new_name, farg3, farg3_temp) +call swigc_SpecFile_change_detector_name(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_lane_number(self) & -result(swig_result) +subroutine swigf_SpecFile_change_sample_numbers(self, from_to_sample_nums) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t), intent(in) :: from_to_sample_nums type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_lane_number(farg1) -swig_result = fresult -end function +farg2 = from_to_sample_nums%swigdata +call swigc_SpecFile_change_sample_numbers(farg1, farg2) +end subroutine -function swigf_SpecFile_measurement_location_name(self) & -result(swig_result) +subroutine swigf_SpecFile_add_measurement__SWIG_0(self, meas, docleanup) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_measurement_location_name(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_inspection(self) & -result(swig_result) +subroutine swigf_SpecFile_add_measurement__SWIG_1(self, meas) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(Measurement), intent(in) :: meas type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_inspection(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = meas%swigdata +call swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) +end subroutine -function swigf_SpecFile_measurement_operator(self) & -result(swig_result) +subroutine swigf_SpecFile_remove_measurement(self, meas, docleanup) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_measurement_operator(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_remove_measurement(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_sample_numbers(self) & -result(swig_result) +subroutine swigf_SpecFile_remove_measurements(self, meas) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: meas type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_sample_numbers(farg1) -swig_result%swigdata = fresult -end function +farg2 = meas%swigdata +call swigc_SpecFile_remove_measurements(farg1, farg2) +end subroutine -function swigf_SpecFile_num_measurements(self) & -result(swig_result) +subroutine swigf_SpecFile_clear_multimedia_data(self) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_num_measurements(farg1) -swig_result = fresult -end function +call swigc_SpecFile_clear_multimedia_data(farg1) +end subroutine -function swigf_SpecFile_detector_type(self) & -result(swig_result) +subroutine swigf_SpecFile_add_multimedia_data(self, data) use, intrinsic :: ISO_C_BINDING -integer(DetectorType) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +class(MultimediaData), intent(in) :: data type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_detector_type(farg1) -swig_result = fresult -end function +farg2 = data%swigdata +call swigc_SpecFile_add_multimedia_data(farg1, farg2) +end subroutine -function swigf_SpecFile_instrument_type(self) & -result(swig_result) +subroutine swigf_SpecFile_set_multimedia_data(self, data) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7), intent(in) :: data type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_type(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = data%swigdata +call swigc_SpecFile_set_multimedia_data(farg1, farg2) +end subroutine -function swigf_SpecFile_manufacturer(self) & +function swigf_SpecFile_occupancy_number_from_remarks(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_manufacturer(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_SpecFile_occupancy_number_from_remarks(farg1) +swig_result = fresult end function -function swigf_SpecFile_instrument_model(self) & +function swigf_SpecFile_sample_measurements(self, sample_number) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_INT), intent(in) :: sample_number +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_model(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = sample_number +fresult = swigc_SpecFile_sample_measurements(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_SpecFile_instrument_id(self) & +function swigf_SpecFile_measurement__SWIG_1(self, sample_number, det_name) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +type(Measurement) :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_INT), intent(in) :: sample_number +character(len=*), intent(in) :: det_name +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_id(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = sample_number +call SWIGTM_fin_char_Sm_(det_name, farg3, farg3_temp) +fresult = swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) +swig_result%swigdata = fresult end function -function swigf_SpecFile_measurements(self) & +function swigf_SpecFile_measurement__SWIG_2(self, sample_number, detector_number) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +type(Measurement) :: swig_result class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: sample_number +integer(C_INT), intent(in) :: detector_number type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_measurements(farg1) +farg2 = sample_number +farg3 = detector_number +fresult = swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) swig_result%swigdata = fresult end function -function swigf_SpecFile_measurement__SWIG_0(self, num) & +function swigf_SpecFile_suggested_sum_energy_calibration(self, sample_numbers, detector_names) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T), intent(in) :: num +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = num -fresult = swigc_SpecFile_measurement__SWIG_0(farg1, farg2) +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +fresult = swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) swig_result%swigdata = fresult end function -function swigf_SpecFile_detectors_analysis(self) & +function swigf_SpecFile_sum_measurements(self, sample_numbers, detector_names, energy_cal) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t) :: swig_result +type(Measurement) :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: energy_cal type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -fresult = swigc_SpecFile_detectors_analysis(farg1) +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +farg4 = energy_cal%swigdata +fresult = swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) swig_result%swigdata = fresult end function -function swigf_SpecFile_multimedia_data(self) & +function swigf_SpecFile_memmorysize(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7) :: swig_result +integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_multimedia_data(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_memmorysize(farg1) +swig_result = fresult end function -function swigf_SpecFile_has_gps_info(self) & +function swigf_SpecFile_gamma_channel_counts(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_has_gps_info(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_gamma_channel_counts(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_mean_latitude(self) & +function swigf_SpecFile_num_gamma_channels(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_mean_latitude(farg1) +fresult = swigc_SpecFile_num_gamma_channels(farg1) swig_result = fresult end function -function swigf_SpecFile_mean_longitude(self) & +function swigf_SpecFile_keep_n_bin_spectra_only(self, nbin) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +integer(C_SIZE_T), intent(in) :: nbin +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_mean_longitude(farg1) +farg2 = nbin +fresult = swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) swig_result = fresult end function -function swigf_SpecFile_passthrough(self) & +function swigf_SpecFile_contained_neutron(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result @@ -7751,3000 +9203,3188 @@ function swigf_SpecFile_passthrough(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_passthrough(farg1) +fresult = swigc_SpecFile_contained_neutron(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_contains_derived_data(self) & +function swigf_SpecFile_energy_cal_variants(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_contains_derived_data(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_energy_cal_variants(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_contains_non_derived_data(self) & +function swigf_SpecFile_keep_energy_cal_variants(self, variants) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: variants +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_contains_non_derived_data(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = variants%swigdata +fresult = swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) +swig_result = fresult end function -subroutine swigf_SpecFile_set_filename(self, n) +function swigf_SpecFile_keep_derived_data_variant(self, tokeep) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +integer(SpecFile_DerivedVariantToKeep), intent(in) :: tokeep +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_filename(farg1, farg2) -end subroutine +farg2 = tokeep +fresult = swigc_SpecFile_keep_derived_data_variant(farg1, farg2) +swig_result = fresult +end function -subroutine swigf_SpecFile_set_remarks__SWIG_0(self, n) +function swigf_SpecFile_remove_detectors_data(self, dets_to_remove) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: n +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: dets_to_remove +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = n%swigdata -call swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_add_remark(self, remark) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: remark -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark, farg2, farg2_temp) -call swigc_SpecFile_add_remark(farg1, farg2) -end subroutine +farg2 = dets_to_remove%swigdata +fresult = swigc_SpecFile_remove_detectors_data(farg1, farg2) +swig_result = fresult +end function -subroutine swigf_SpecFile_set_parse_warnings(self, warnings) +function swigf_SpecFile_remove_neutron_measurements(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = warnings%swigdata -call swigc_SpecFile_set_parse_warnings(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_remove_neutron_measurements(farg1) +swig_result = fresult +end function -subroutine swigf_SpecFile_set_uuid(self, n) +function swigf_SpecFile_background_sample_number(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_uuid(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_background_sample_number(farg1) +swig_result = fresult +end function -subroutine swigf_SpecFile_set_lane_number(self, num) +function swigf_SpecFile_generate_psuedo_uuid(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: num +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = num -call swigc_SpecFile_set_lane_number(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_generate_psuedo_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_SpecFile_set_measurement_location_name(self, n) +subroutine swigf_SpecFile_reset(self) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_measurement_location_name(farg1, farg2) +call swigc_SpecFile_reset(farg1) end subroutine -subroutine swigf_SpecFile_set_inspection(self, n) +function swigf_SpecFile_load_N42_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_inspection(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_instrument_type(self, n) +function swigf_SpecFile_load_pcf_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_type(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_detector_type(self, type) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -integer(DetectorType), intent(in) :: type -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = type -call swigc_SpecFile_set_detector_type(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_pcf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_manufacturer(self, n) +function swigf_SpecFile_load_spc_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_manufacturer(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spc_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_instrument_model(self, n) +function swigf_SpecFile_load_chn_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_model(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_chn_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_instrument_id(self, n) +function swigf_SpecFile_load_iaea_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_id(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_live_time(self, lt, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -real(C_FLOAT), intent(in) :: lt -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = lt -farg3 = measurement2%swigdata -call swigc_SpecFile_set_live_time(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_iaea_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_real_time(self, rt, measurement2) +function swigf_SpecFile_load_binary_exploranium_file(self, file_name) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -real(C_FLOAT), intent(in) :: rt -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: file_name +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = rt -farg3 = measurement2%swigdata -call swigc_SpecFile_set_real_time(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(file_name, farg2, farg2_temp) +fresult = swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_start_time(self, timestamp, measurement2) +function swigf_SpecFile_load_micro_raider_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = timestamp%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_set_start_time(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_micro_raider_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_remarks__SWIG_1(self, remarks, measurement2) +function swigf_SpecFile_load_txt_or_csv_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = remarks%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_source_type(self, type, measurement2) +function swigf_SpecFile_load_cnf_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -integer(SourceType), intent(in) :: type -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = type -farg3 = measurement2%swigdata -call swigc_SpecFile_set_source_type(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_cnf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_position(self, longitude, latitude, position_time, measurement4) +function swigf_SpecFile_load_tracs_mps_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE), intent(in) :: longitude -real(C_DOUBLE), intent(in) :: latitude -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: position_time -class(Measurement), intent(in) :: measurement4 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 -real(C_DOUBLE) :: farg3 -type(SwigClassWrapper) :: farg4 -type(SwigClassWrapper) :: farg5 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = longitude -farg3 = latitude -farg4 = position_time%swigdata -farg5 = measurement4%swigdata -call swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tracs_mps_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_title(self, title, measurement2) +function swigf_SpecFile_load_aram_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: title -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) -farg3 = measurement2%swigdata -call swigc_SpecFile_set_title(farg1, farg2, farg3) -end subroutine - - -subroutine SWIGTM_fin_bool(finp, iminp) - use, intrinsic :: ISO_C_BINDING - logical, intent(in) :: finp - integer(kind=C_INT), intent(out) :: iminp - if (finp .eqv. .true.) then - iminp = 1 - else - iminp = 0 - end if -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_aram_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_contained_neutrons(self, contained, counts, measurement3, neutron_live_time) +function swigf_SpecFile_load_spectroscopic_daily_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -logical, intent(in) :: contained -real(C_FLOAT), intent(in) :: counts -class(Measurement), intent(in) :: measurement3 -real(C_FLOAT), intent(in) :: neutron_live_time +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -real(C_FLOAT) :: farg3 -type(SwigClassWrapper) :: farg4 -real(C_FLOAT) :: farg5 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_bool(contained, farg2) -farg3 = counts -farg4 = measurement3%swigdata -farg5 = neutron_live_time -call swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_detectors_analysis(self, ana) +function swigf_SpecFile_load_amptek_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(DetectorAnalysis), intent(in) :: ana +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = ana%swigdata -call swigc_SpecFile_set_detectors_analysis(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_amptek_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_change_detector_name(self, original_name, new_name) +function swigf_SpecFile_load_ortec_listmode_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: original_name -character(len=*), intent(in) :: new_name +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(original_name, farg2, farg2_temp) -call SWIGTM_fin_char_Sm_(new_name, farg3, farg3_temp) -call swigc_SpecFile_change_detector_name(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_change_sample_numbers(self, from_to_sample_nums) +function swigf_SpecFile_load_lsrm_spe_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t), intent(in) :: from_to_sample_nums +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = from_to_sample_nums%swigdata -call swigc_SpecFile_change_sample_numbers(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_add_measurement(self, meas, docleanup) +function swigf_SpecFile_load_tka_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas -logical, intent(in) :: docleanup +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = meas%swigdata -call SWIGTM_fin_bool(docleanup, farg3) -call swigc_SpecFile_add_measurement(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tka_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_remove_measurement(self, meas, docleanup) +function swigf_SpecFile_load_multiact_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas -logical, intent(in) :: docleanup +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = meas%swigdata -call SWIGTM_fin_bool(docleanup, farg3) -call swigc_SpecFile_remove_measurement(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_multiact_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_remove_measurements(self, meas) +function swigf_SpecFile_load_phd_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: meas +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = meas%swigdata -call swigc_SpecFile_remove_measurements(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_phd_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_clear_multimedia_data(self) +function swigf_SpecFile_load_lzs_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_clear_multimedia_data(farg1) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lzs_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_add_multimedia_data(self, data) +function swigf_SpecFile_load_radiacode_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(MultimediaData), intent(in) :: data +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = data%swigdata -call swigc_SpecFile_add_multimedia_data(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_radiacode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_multimedia_data(self, data) +function swigf_SpecFile_load_xml_scan_data_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7), intent(in) :: data +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = data%swigdata -call swigc_SpecFile_set_multimedia_data(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_SpecFile_occupancy_number_from_remarks(self) & +function swigf_SpecFile_load_json_file(self, filename) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_occupancy_number_from_remarks(farg1) -swig_result = fresult +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_json_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_sample_measurements(self, sample_number) & +function swigf_SpecFile_load_caen_gxml_file(self, filename) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = sample_number -fresult = swigc_SpecFile_sample_measurements(farg1, farg2) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_caen_gxml_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_measurement__SWIG_1(self, sample_number, det_name) & +function swigf_SpecFile_load_from_N42(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -character(len=*), intent(in) :: det_name -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = sample_number -call SWIGTM_fin_char_Sm_(det_name, farg3, farg3_temp) -fresult = swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) -swig_result%swigdata = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_measurement__SWIG_2(self, sample_number, detector_number) & +function swigf_SpecFile_load_N42_from_data__SWIG_0(self, data) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -integer(C_INT), intent(in) :: detector_number -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: data +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = sample_number -farg3 = detector_number -fresult = swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_suggested_sum_energy_calibration(self, sample_numbers, detector_names) & +function swigf_SpecFile_load_N42_from_data__SWIG_1(self, data, data_end) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -farg2 = sample_numbers%swigdata -farg3 = detector_names%swigdata -fresult = swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(data_end, farg3, farg3_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_sum_measurements(self, sample_numbers, detector_names, energy_cal) & +function swigf_SpecFile_load_from_iaea_spc(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: energy_cal -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = sample_numbers%swigdata -farg3 = detector_names%swigdata -farg4 = energy_cal%swigdata -fresult = swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) -swig_result%swigdata = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_iaea_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_memmorysize(self) & +function swigf_SpecFile_load_from_binary_spc(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_memmorysize(farg1) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_binary_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_gamma_channel_counts(self) & +function swigf_SpecFile_load_from_N42_document(self, document_node) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: document_node +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_channel_counts(farg1) -swig_result%swigdata = fresult +farg2 = document_node%swigdata +fresult = swigc_SpecFile_load_from_N42_document(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_num_gamma_channels(self) & +function swigf_SpecFile_load_from_micro_raider_from_data(self, data) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult +character(len=*), intent(in) :: data +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_num_gamma_channels(farg1) -swig_result = fresult +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_keep_n_bin_spectra_only(self, nbin) & +function swigf_SpecFile_load_from_binary_exploranium(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T), intent(in) :: nbin -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = nbin -fresult = swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) -swig_result = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_contained_neutron(self) & +function swigf_SpecFile_load_from_pcf(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_contained_neutron(farg1) +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_pcf(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_energy_cal_variants(self) & +function swigf_SpecFile_load_from_txt_or_csv(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_energy_cal_variants(farg1) -swig_result%swigdata = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_keep_energy_cal_variants(self, variants) & +function swigf_SpecFile_load_from_Gr135_txt(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: variants -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = variants%swigdata -fresult = swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) -swig_result = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_keep_derived_data_variant(self, tokeep) & +function swigf_SpecFile_load_from_spectroscopic_daily_file(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(SpecFile_DerivedVariantToKeep), intent(in) :: tokeep -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = tokeep -fresult = swigc_SpecFile_keep_derived_data_variant(farg1, farg2) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_remove_detectors_data(self, dets_to_remove) & +function swigf_SpecFile_load_from_srpm210_csv(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: dets_to_remove -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = dets_to_remove%swigdata -fresult = swigc_SpecFile_remove_detectors_data(farg1, farg2) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_remove_neutron_measurements(self) & +function swigf_SpecFile_load_from_D3S_raw(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_remove_neutron_measurements(farg1) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_D3S_raw(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_background_sample_number(self) & +function swigf_SpecFile_load_from_amptek_mca(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_background_sample_number(farg1) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_amptek_mca(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_generate_psuedo_uuid(self) & +function swigf_SpecFile_load_from_ortec_listmode(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_generate_psuedo_uuid(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_SpecFile_reset(self) +function swigf_SpecFile_load_from_lsrm_spe(self, input) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_reset(farg1) -end subroutine +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_SpecFile_load_N42_file(self, filename) & +function swigf_SpecFile_load_from_tka(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_N42_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tka(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_pcf_file(self, filename) & +function swigf_SpecFile_load_from_multiact(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_pcf_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_multiact(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_spc_file(self, filename) & +function swigf_SpecFile_load_from_phd(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_spc_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_phd(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_chn_file(self, filename) & +function swigf_SpecFile_load_from_lzs(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_chn_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lzs(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_iaea_file(self, filename) & +function swigf_SpecFile_load_from_radiacode(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_iaea_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_binary_exploranium_file(self, file_name) & +function swigf_SpecFile_load_from_radiacode_spectrogram(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: file_name +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(file_name, farg2, farg2_temp) -fresult = swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_micro_raider_file(self, filename) & +function swigf_SpecFile_load_from_xml_scan_data(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_micro_raider_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_txt_or_csv_file(self, filename) & +function swigf_SpecFile_load_from_iaea(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: istr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_iaea(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_cnf_file(self, filename) & +function swigf_SpecFile_load_from_chn(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_cnf_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_chn(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_tracs_mps_file(self, filename) & +function swigf_SpecFile_load_from_cnf(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_tracs_mps_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_cnf(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_aram_file(self, filename) & +function swigf_SpecFile_load_from_tracs_mps(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_aram_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tracs_mps(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_spectroscopic_daily_file(self, filename) & +function swigf_SpecFile_load_from_aram(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_aram(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_amptek_file(self, filename) & +function swigf_SpecFile_load_from_json(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_amptek_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_json(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_ortec_listmode_file(self, filename) & +function swigf_SpecFile_load_from_caen_gxml(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_caen_gxml(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_lsrm_spe_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_cleanup_after_load__SWIG_0(self, flags) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: flags +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = flags +call swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_cleanup_after_load__SWIG_1(self) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) +end subroutine -function swigf_SpecFile_load_tka_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_recalc_total_counts(self) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_tka_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call swigc_SpecFile_recalc_total_counts(farg1) +end subroutine -function swigf_SpecFile_load_multiact_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_merge_neutron_meas_into_gamma_meas(self) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_multiact_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) +end subroutine -function swigf_SpecFile_load_phd_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_rebin_measurement(self, cal, measurement2) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_phd_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = cal%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_load_lzs_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_rebin_all_measurements(self, cal) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_lzs_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = cal%swigdata +call swigc_SpecFile_rebin_all_measurements(farg1, farg2) +end subroutine -function swigf_SpecFile_load_radiacode_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_radiacode_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = input%swigdata +call swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) +end subroutine -function swigf_SpecFile_load_xml_scan_data_file(self, filename) & +function swigf_SpecFile_detector_names_to_numbers(self, det_names) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = det_names%swigdata +fresult = swigc_SpecFile_detector_names_to_numbers(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_SpecFile_load_json_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_0(self, filename, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_json_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg3 = format +call swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_load_caen_gxml_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_1(self, filename, sample_nums, det_nums, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_caen_gxml_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_N42(self, istr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_N42(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_N42_from_data__SWIG_0(self, data) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_2(self, filename, sample_nums, det_nums, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data -integer(C_INT) :: fresult +character(len=*), intent(in) :: filename +type(IntVector), intent(in) :: sample_nums +type(IntVector), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -fresult = swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_N42_from_data__SWIG_1(self, data, data_end) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_3(self, filename, sample_nums, det_names, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -integer(C_INT) :: fresult +character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -call SWIGTM_fin_char_Sm_(data_end, farg3, farg3_temp) -fresult = swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_from_iaea_spc(self, input) & -result(swig_result) +subroutine swigf_SpecFile_write__SWIG_0(self, strm, sample_nums, det_nums, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_iaea_spc(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_from_binary_spc(self, input) & -result(swig_result) +subroutine swigf_SpecFile_write__SWIG_1(self, strm, sample_nums, det_names, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_binary_spc(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_from_N42_document(self, document_node) & +function swigf_SpecFile_write_pcf(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: document_node +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = document_node%swigdata -fresult = swigc_SpecFile_load_from_N42_document(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_pcf(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_micro_raider_from_data(self, data) & +function swigf_SpecFile_write_2006_N42(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -fresult = swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2006_N42(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_binary_exploranium(self, istr) & +function swigf_SpecFile_write_csv(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_csv(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_pcf(self, istr) & +function swigf_SpecFile_write_txt(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_pcf(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_txt(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_txt_or_csv(self, istr) & +function swigf_SpecFile_write_integer_chn__SWIG_0(self, ostr, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_Gr135_txt(self, istr) & +function swigf_SpecFile_write_integer_chn__SWIG_1(self, ostr, sample_nums, det_names) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_spectroscopic_daily_file(self, input) & +function swigf_SpecFile_write_binary_spc(self, ostr, type, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(SpecFile_SpcBinaryType), intent(in) :: type +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) +farg2 = ostr%swigdata +farg3 = type +farg4 = sample_nums%swigdata +farg5 = det_nums%swigdata +fresult = swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_srpm210_csv(self, input) & +function swigf_SpecFile_write_ascii_spc(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_D3S_raw(self, input) & +function swigf_SpecFile_write_binary_exploranium_gr130v0(self, output) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_D3S_raw(farg1, farg2) +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_amptek_mca(self, input) & +function swigf_SpecFile_write_binary_exploranium_gr135v2(self, output) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_amptek_mca(farg1, farg2) +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_ortec_listmode(self, input) & +function swigf_SpecFile_write_iaea_spe(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_lsrm_spe(self, input) & +function swigf_SpecFile_write_cnf(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_tka(self, input) & +function swigf_SpecFile_write_tka(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_tka(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_multiact(self, input) & +function get_SpecFile_2012N42_VERSION() & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: swig_result integer(C_INT) :: fresult + +fresult = swigc_SpecFile_2012N42_VERSION_get() +swig_result = fresult +end function + +function swigf_SpecFile_create_2012_N42_xml(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_multiact(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_create_2012_N42_xml(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_load_from_phd(self, input) & +function swigf_SpecFile_write_2012_N42(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_phd(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2012_N42(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_lzs(self, input) & +function swigf_SpecFile_mutex(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__recursive_mutex) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_lzs(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_mutex(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_load_from_radiacode(self, input) & +function swigf_SpecFile_measurement_at(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(Measurement) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +integer(C_INT), intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = index +fresult = swigc_SpecFile_measurement_at(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_SpecFile_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(inout) :: self +type(SpecFile), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_radiacode(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = other%swigdata +call swigc_SpecFile_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: remark_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_remark__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_remark__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_remark__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_radiacode_spectrogram(self, input) & +subroutine swigf_DetectorAnalysisResult_nuclide__set(self, nuclide_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(nuclide_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_nuclide__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_nuclide__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_xml_scan_data(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_activity__set(self, activity_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: activity_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = activity_ +call swigc_DetectorAnalysisResult_activity__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_iaea(self, istr) & +function swigf_DetectorAnalysisResult_activity__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_iaea(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_activity__get(farg1) +swig_result = fresult end function -function swigf_SpecFile_load_from_chn(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_nuclide_type__set(self, nuclide_type_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_type_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_chn(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(nuclide_type_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_cnf(self, input) & +function swigf_DetectorAnalysisResult_nuclide_type__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_cnf(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_nuclide_type__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_tracs_mps(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_id_confidence__set(self, id_confidence_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: id_confidence_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_tracs_mps(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(id_confidence_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_aram(self, input) & +function swigf_DetectorAnalysisResult_id_confidence__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_aram(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_id_confidence__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_json(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_distance__set(self, distance_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: distance_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_json(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = distance_ +call swigc_DetectorAnalysisResult_distance__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_caen_gxml(self, input) & +function swigf_DetectorAnalysisResult_distance__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_caen_gxml(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_distance__get(farg1) +swig_result = fresult end function -subroutine swigf_SpecFile_cleanup_after_load__SWIG_0(self, flags) +subroutine swigf_DetectorAnalysisResult_dose_rate__set(self, dose_rate_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: flags +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: dose_rate_ type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = flags -call swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) +farg2 = dose_rate_ +call swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_cleanup_after_load__SWIG_1(self) +function swigf_DetectorAnalysisResult_dose_rate__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) -end subroutine +fresult = swigc_DetectorAnalysisResult_dose_rate__get(farg1) +swig_result = fresult +end function -subroutine swigf_SpecFile_recalc_total_counts(self) +subroutine swigf_DetectorAnalysisResult_real_time__set(self, real_time_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: real_time_ type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_recalc_total_counts(farg1) +farg2 = real_time_ +call swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_merge_neutron_meas_into_gamma_meas(self) +function swigf_DetectorAnalysisResult_real_time__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) -end subroutine +fresult = swigc_DetectorAnalysisResult_real_time__get(farg1) +swig_result = fresult +end function -subroutine swigf_SpecFile_rebin_measurement(self, cal, measurement2) +subroutine swigf_DetectorAnalysisResult_detector__set(self, detector_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal -class(Measurement), intent(in) :: measurement2 +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: detector_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = cal%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) +call SWIGTM_fin_char_Sm_(detector_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_detector__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_rebin_all_measurements(self, cal) +function swigf_DetectorAnalysisResult_detector__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_SpecFile_rebin_all_measurements(farg1, farg2) -end subroutine +fresult = swigc_DetectorAnalysisResult_detector__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) +function swigf_new_DetectorAnalysisResult() & +result(self) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +type(DetectorAnalysisResult) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DetectorAnalysisResult() +self%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysisResult_reset(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -call swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) +call swigc_DetectorAnalysisResult_reset(farg1) end subroutine -function swigf_SpecFile_detector_names_to_numbers(self, det_names) & +function swigf_DetectorAnalysisResult_isEmpty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = det_names%swigdata -fresult = swigc_SpecFile_detector_names_to_numbers(farg1, farg2) -swig_result%swigdata = fresult +fresult = swigc_DetectorAnalysisResult_isEmpty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_SpecFile_write_to_file__SWIG_0(self, filename, format) +subroutine swigf_DetectorAnalysisResult_release(self) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysisResult), intent(inout) :: self type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = format -call swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysisResult(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 end subroutine -subroutine swigf_SpecFile_write_to_file__SWIG_1(self, filename, sample_nums, det_nums, format) +subroutine swigf_DetectorAnalysisResult_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysisResult), intent(inout) :: self +type(DetectorAnalysisResult), intent(in) :: other type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) +farg2 = other%swigdata +call swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) +self%swigdata = farg1 end subroutine -subroutine swigf_SpecFile_write_to_file__SWIG_2(self, filename, sample_nums, det_nums, format) +subroutine swigf_DetectorAnalysis_remarks__set(self, remarks_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -type(IntVector), intent(in) :: sample_nums -type(IntVector), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks_ type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) +farg2 = remarks_%swigdata +call swigc_DetectorAnalysis_remarks__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_write_to_file__SWIG_3(self, filename, sample_nums, det_names, format) +function swigf_DetectorAnalysis_remarks__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(SaveSpectrumAsType), intent(in) :: format +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_remarks__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_algorithm_name__set(self, algorithm_name_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_name_ type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) +call SWIGTM_fin_char_Sm_(algorithm_name_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_write__SWIG_0(self, strm, sample_nums, det_nums, format) +function swigf_DetectorAnalysis_algorithm_name__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: strm -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 farg1 = self%swigdata -farg2 = strm%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) -end subroutine +fresult = swigc_DetectorAnalysis_algorithm_name__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_SpecFile_write__SWIG_1(self, strm, sample_nums, det_names, format) +subroutine swigf_DetectorAnalysis_algorithm_component_versions__set(self, algorithm_component_versions_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: strm -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t), intent(in) :: algorithm_component_versions_ type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 farg1 = self%swigdata -farg2 = strm%swigdata -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -farg5 = format -call swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) +farg2 = algorithm_component_versions_%swigdata +call swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) end subroutine -function swigf_SpecFile_write_pcf(self, ostr) & +function swigf_DetectorAnalysis_algorithm_component_versions__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_pcf(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_write_2006_N42(self, ostr) & -result(swig_result) +subroutine swigf_DetectorAnalysis_algorithm_creator__set(self, algorithm_creator_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_creator_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_2006_N42(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(algorithm_creator_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_csv(self, ostr) & +function swigf_DetectorAnalysis_algorithm_creator__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_creator__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_write_txt(self, ostr) & -result(swig_result) +subroutine swigf_DetectorAnalysis_algorithm_description__set(self, algorithm_description_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_description_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_txt(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(algorithm_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_integer_chn__SWIG_0(self, ostr, sample_nums, det_nums) & +function swigf_DetectorAnalysis_algorithm_description__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_write_integer_chn__SWIG_1(self, ostr, sample_nums, det_names) & -result(swig_result) +subroutine swigf_DetectorAnalysis_analysis_start_time__set(self, analysis_start_time_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: analysis_start_time_ type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -fresult = swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = analysis_start_time_%swigdata +call swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_binary_spc(self, ostr, type, sample_nums, det_nums) & +function swigf_DetectorAnalysis_analysis_start_time__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(SpecFile_SpcBinaryType), intent(in) :: type -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 -type(SwigClassWrapper) :: farg5 farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = type -farg4 = sample_nums%swigdata -farg5 = det_nums%swigdata -fresult = swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_analysis_start_time__get(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_write_ascii_spc(self, output, sample_nums, det_nums) & -result(swig_result) +subroutine swigf_DetectorAnalysis_analysis_computation_duration__set(self, analysis_computation_duration_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT), intent(in) :: analysis_computation_duration_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = analysis_computation_duration_ +call swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_binary_exploranium_gr130v0(self, output) & +function swigf_DetectorAnalysis_analysis_computation_duration__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = output%swigdata -fresult = swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) +swig_result = fresult end function -function swigf_SpecFile_write_binary_exploranium_gr135v2(self, output) & -result(swig_result) +subroutine swigf_DetectorAnalysis_algorithm_result_description__set(self, algorithm_result_description_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_result_description_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = output%swigdata -fresult = swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(algorithm_result_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_iaea_spe(self, output, sample_nums, det_nums) & +function swigf_DetectorAnalysis_algorithm_result_description__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_result_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_write_cnf(self, output, sample_nums, det_nums) & -result(swig_result) +subroutine swigf_DetectorAnalysis_results__set(self, results_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t), intent(in) :: results_ type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = results_%swigdata +call swigc_DetectorAnalysis_results__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_tka(self, output, sample_nums, det_nums) & +function swigf_DetectorAnalysis_results__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_results__get(farg1) +swig_result%swigdata = fresult end function -function get_SpecFile_2012N42_VERSION() & -result(swig_result) +function swigf_new_DetectorAnalysis() & +result(self) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -integer(C_INT) :: fresult +type(DetectorAnalysis) :: self +type(SwigClassWrapper) :: fresult -fresult = swigc_SpecFile_2012N42_VERSION_get() -swig_result = fresult +fresult = swigc_new_DetectorAnalysis() +self%swigdata = fresult end function -function swigf_SpecFile_create_2012_N42_xml(self) & -result(swig_result) +subroutine swigf_DetectorAnalysis_reset(self) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(DetectorAnalysis), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_create_2012_N42_xml(farg1) -swig_result%swigdata = fresult -end function +call swigc_DetectorAnalysis_reset(farg1) +end subroutine -function swigf_SpecFile_write_2012_N42(self, ostr) & +function swigf_DetectorAnalysis_is_empty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +class(DetectorAnalysis), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_2012_N42(farg1, farg2) +fresult = swigc_DetectorAnalysis_is_empty(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_mutex(self) & -result(swig_result) +subroutine swigf_DetectorAnalysis_release(self) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__recursive_mutex) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(DetectorAnalysis), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_mutex(farg1) -swig_result%swigdata = fresult -end function +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysis(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine -function swigf_SpecFile_measurement_at(self, index) & -result(swig_result) +subroutine swigf_DetectorAnalysis_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: index -type(SwigClassWrapper) :: fresult +class(DetectorAnalysis), intent(inout) :: self +type(DetectorAnalysis), intent(in) :: other type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = index -fresult = swigc_SpecFile_measurement_at(farg1, farg2) -swig_result%swigdata = fresult -end function +farg2 = other%swigdata +call swigc_DetectorAnalysis_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine -subroutine swigf_SpecFile_op_assign__(self, other) +subroutine swigf_MultimediaData_remark__set(self, remark_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(inout) :: self -type(SpecFile), intent(in) :: other +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: remark_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_SpecFile_op_assign__(farg1, farg2) -self%swigdata = farg1 +call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) +call swigc_MultimediaData_remark__set(farg1, farg2) end subroutine -subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) +function swigf_MultimediaData_remark__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: remark_ +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_remark__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_MultimediaData_descriptions__set(self, descriptions_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: descriptions_ type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_remark__set(farg1, farg2) +call SWIGTM_fin_char_Sm_(descriptions_, farg2, farg2_temp) +call swigc_MultimediaData_descriptions__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_remark__get(self) & +function swigf_MultimediaData_descriptions__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(MultimediaData), intent(in) :: self type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_remark__get(farg1) +fresult = swigc_MultimediaData_descriptions__get(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -subroutine swigf_DetectorAnalysisResult_nuclide__set(self, nuclide_) +subroutine swigf_MultimediaData_data__set(self, data_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: nuclide_ +class(MultimediaData), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data_ type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(nuclide_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) +farg2 = data_%swigdata +call swigc_MultimediaData_data__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_nuclide__get(self) & +function swigf_MultimediaData_data__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(SWIGTYPE_p_std__vectorT_char_t) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_nuclide__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_MultimediaData_data__get(farg1) +swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysisResult_activity__set(self, activity_) +subroutine swigf_MultimediaData_data_encoding__set(self, data_encoding_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: activity_ +class(MultimediaData), intent(in) :: self +integer(MultimediaData_EncodingType), intent(in) :: data_encoding_ type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = activity_ -call swigc_DetectorAnalysisResult_activity__set(farg1, farg2) +farg2 = data_encoding_ +call swigc_MultimediaData_data_encoding__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_activity__get(self) & +function swigf_MultimediaData_data_encoding__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult +integer(MultimediaData_EncodingType) :: swig_result +class(MultimediaData), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_activity__get(farg1) +fresult = swigc_MultimediaData_data_encoding__get(farg1) swig_result = fresult end function -subroutine swigf_DetectorAnalysisResult_nuclide_type__set(self, nuclide_type_) +subroutine swigf_MultimediaData_capture_start_time__set(self, capture_start_time_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: nuclide_type_ +class(MultimediaData), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: capture_start_time_ type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(nuclide_type_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) +farg2 = capture_start_time_%swigdata +call swigc_MultimediaData_capture_start_time__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_nuclide_type__get(self) & +function swigf_MultimediaData_capture_start_time__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_nuclide_type__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_MultimediaData_capture_start_time__get(farg1) +swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysisResult_id_confidence__set(self, id_confidence_) +subroutine swigf_MultimediaData_file_uri__set(self, file_uri_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: id_confidence_ +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: file_uri_ type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(id_confidence_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) +call SWIGTM_fin_char_Sm_(file_uri_, farg2, farg2_temp) +call swigc_MultimediaData_file_uri__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_id_confidence__get(self) & +function swigf_MultimediaData_file_uri__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(MultimediaData), intent(in) :: self type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_id_confidence__get(farg1) +fresult = swigc_MultimediaData_file_uri__get(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -subroutine swigf_DetectorAnalysisResult_distance__set(self, distance_) +subroutine swigf_MultimediaData_mime_type__set(self, mime_type_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: distance_ +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: mime_type_ type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = distance_ -call swigc_DetectorAnalysisResult_distance__set(farg1, farg2) +call SWIGTM_fin_char_Sm_(mime_type_, farg2, farg2_temp) +call swigc_MultimediaData_mime_type__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_distance__get(self) & +function swigf_MultimediaData_mime_type__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_distance__get(farg1) -swig_result = fresult +fresult = swigc_MultimediaData_mime_type__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -subroutine swigf_DetectorAnalysisResult_dose_rate__set(self, dose_rate_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: dose_rate_ -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = dose_rate_ -call swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_dose_rate__get(self) & -result(swig_result) +function swigf_new_MultimediaData() & +result(self) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 +type(MultimediaData) :: self +type(SwigClassWrapper) :: fresult -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_dose_rate__get(farg1) -swig_result = fresult +fresult = swigc_new_MultimediaData() +self%swigdata = fresult end function -subroutine swigf_DetectorAnalysisResult_real_time__set(self, real_time_) +subroutine swigf_MultimediaData_release(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: real_time_ +class(MultimediaData), intent(inout) :: self type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = real_time_ -call swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_MultimediaData(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 end subroutine -function swigf_DetectorAnalysisResult_real_time__get(self) & -result(swig_result) +subroutine swigf_MultimediaData_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult +class(MultimediaData), intent(inout) :: self +type(MultimediaData), intent(in) :: other type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_real_time__get(farg1) -swig_result = fresult -end function +farg2 = other%swigdata +call swigc_MultimediaData_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine -subroutine swigf_DetectorAnalysisResult_detector__set(self, detector_) +function swigf_new_DevPair__SWIG_0() & +result(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: detector_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(DevPair) :: self +type(SwigClassWrapper) :: fresult -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(detector_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_detector__set(farg1, farg2) -end subroutine +fresult = swigc_new_DevPair__SWIG_0() +self%swigdata = fresult +end function -function swigf_DetectorAnalysisResult_detector__get(self) & -result(swig_result) +function swigf_new_DevPair__SWIG_1(first, second) & +result(self) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +type(DevPair) :: self +real(C_FLOAT), intent(in) :: first +real(C_FLOAT), intent(in) :: second +type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: farg1 +real(C_FLOAT) :: farg2 -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_detector__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg1 = first +farg2 = second +fresult = swigc_new_DevPair__SWIG_1(farg1, farg2) +self%swigdata = fresult end function -function swigf_new_DetectorAnalysisResult() & +function swigf_new_DevPair__SWIG_2(p) & result(self) use, intrinsic :: ISO_C_BINDING -type(DetectorAnalysisResult) :: self +type(DevPair) :: self +class(DevPair), intent(in) :: p type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -fresult = swigc_new_DetectorAnalysisResult() +farg1 = p%swigdata +fresult = swigc_new_DevPair__SWIG_2(farg1) self%swigdata = fresult end function -subroutine swigf_DetectorAnalysisResult_reset(self) +subroutine swigf_DevPair_first_set(self, first) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self +class(DevPair), intent(in) :: self +real(C_FLOAT), intent(in) :: first type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -call swigc_DetectorAnalysisResult_reset(farg1) +farg2 = first +call swigc_DevPair_first_set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_isEmpty(self) & +function swigf_DevPair_first_get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(DevPair), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_isEmpty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DevPair_first_get(farg1) +swig_result = fresult end function -subroutine swigf_DetectorAnalysisResult_release(self) +subroutine swigf_DevPair_second_set(self, second) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(inout) :: self +class(DevPair), intent(in) :: self +real(C_FLOAT), intent(in) :: second type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DetectorAnalysisResult(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 +farg2 = second +call swigc_DevPair_second_set(farg1, farg2) end subroutine -subroutine swigf_DetectorAnalysisResult_op_assign__(self, other) +function swigf_DevPair_second_get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(inout) :: self -type(DetectorAnalysisResult), intent(in) :: other +real(C_FLOAT) :: swig_result +class(DevPair), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) +fresult = swigc_DevPair_second_get(farg1) +swig_result = fresult +end function + +subroutine swigf_DevPair_release(self) +use, intrinsic :: ISO_C_BINDING +class(DevPair), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DevPair(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 self%swigdata = farg1 end subroutine -subroutine swigf_DetectorAnalysis_remarks__set(self, remarks_) +subroutine swigf_DevPair_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks_ +class(DevPair), intent(inout) :: self +type(DevPair), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = remarks_%swigdata -call swigc_DetectorAnalysis_remarks__set(farg1, farg2) +farg2 = other%swigdata +call swigc_DevPair_op_assign__(farg1, farg2) +self%swigdata = farg1 end subroutine -function swigf_DetectorAnalysis_remarks__get(self) & +function swigf_EnergyCalibration_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(EnergyCalType) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_remarks__get(farg1) -swig_result%swigdata = fresult +fresult = swigc_EnergyCalibration_type(farg1) +swig_result = fresult end function -subroutine swigf_DetectorAnalysis_algorithm_name__set(self, algorithm_name_) +function swigf_EnergyCalibration_valid(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_name_ +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_name_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) -end subroutine +fresult = swigc_EnergyCalibration_valid(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_DetectorAnalysis_algorithm_name__get(self) & +function swigf_EnergyCalibration_coefficients(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(FloatVector) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_name__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_EnergyCalibration_coefficients(farg1) +swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysis_algorithm_component_versions__set(self, algorithm_component_versions_) +function swigf_EnergyCalibration_deviation_pairs(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t), intent(in) :: algorithm_component_versions_ +type(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = algorithm_component_versions_%swigdata -call swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) -end subroutine +fresult = swigc_EnergyCalibration_deviation_pairs(farg1) +swig_result%swigdata = fresult +end function -function swigf_DetectorAnalysis_algorithm_component_versions__get(self) & +function swigf_EnergyCalibration_channel_energies(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self +type(FloatVector) :: swig_result +class(EnergyCalibration), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) +fresult = swigc_EnergyCalibration_channel_energies(farg1) swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysis_algorithm_creator__set(self, algorithm_creator_) +function swigf_EnergyCalibration_num_channels(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_creator_ +integer(C_SIZE_T) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_creator_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) -end subroutine +fresult = swigc_EnergyCalibration_num_channels(farg1) +swig_result = fresult +end function -function swigf_DetectorAnalysis_algorithm_creator__get(self) & -result(swig_result) +function swigf_new_EnergyCalibration() & +result(self) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(EnergyCalibration) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_EnergyCalibration() +self%swigdata = fresult +end function + +subroutine swigf_EnergyCalibration_set_polynomial(self, num_channels, coeffs, dev_pairs) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +integer(C_SIZE_T), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_creator__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) +end subroutine -subroutine swigf_DetectorAnalysis_algorithm_description__set(self, algorithm_description_) +subroutine swigf_EnergyCalibration_set_default_polynomial(self, num_channels, coeffs, dev_pairs) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_description_ +class(EnergyCalibration), intent(in) :: self +integer(C_SIZE_T), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_description_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) end subroutine -function swigf_DetectorAnalysis_algorithm_description__get(self) & -result(swig_result) +subroutine swigf_EnergyCalibration_set_full_range_fraction(self, num_channels, coeffs, dev_pairs) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(EnergyCalibration), intent(in) :: self +integer(C_SIZE_T), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_description__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) +end subroutine -subroutine swigf_DetectorAnalysis_analysis_start_time__set(self, analysis_start_time_) +function swigf_EnergyCalibration_op_lt__(self, rhs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: analysis_start_time_ +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = analysis_start_time_%swigdata -call swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) -end subroutine +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_lt__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_DetectorAnalysis_analysis_start_time__get(self) & +function swigf_EnergyCalibration_op_eq__(self, rhs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_analysis_start_time__get(farg1) -swig_result%swigdata = fresult +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_eq__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_DetectorAnalysis_analysis_computation_duration__set(self, analysis_computation_duration_) +function swigf_EnergyCalibration_op_ne__(self, rhs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -real(C_FLOAT), intent(in) :: analysis_computation_duration_ +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = analysis_computation_duration_ -call swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) -end subroutine +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_ne__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_DetectorAnalysis_analysis_computation_duration__get(self) & +function swigf_EnergyCalibration_memmorysize(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysis), intent(in) :: self -real(C_FLOAT) :: fresult +integer(C_SIZE_T) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) +fresult = swigc_EnergyCalibration_memmorysize(farg1) swig_result = fresult end function -subroutine swigf_DetectorAnalysis_algorithm_result_description__set(self, algorithm_result_description_) +function swigf_EnergyCalibration_channel_for_energy(self, energy) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_result_description_ +real(C_DOUBLE) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_DOUBLE), intent(in) :: energy +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +real(C_DOUBLE) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_result_description_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) -end subroutine +farg2 = energy +fresult = swigc_EnergyCalibration_channel_for_energy(farg1, farg2) +swig_result = fresult +end function -function swigf_DetectorAnalysis_algorithm_result_description__get(self) & +function swigf_EnergyCalibration_energy_for_channel(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +real(C_DOUBLE) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_DOUBLE), intent(in) :: channel +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_result_description__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = channel +fresult = swigc_EnergyCalibration_energy_for_channel(farg1, farg2) +swig_result = fresult end function -subroutine swigf_DetectorAnalysis_results__set(self, results_) +function swigf_EnergyCalibration_lower_energy(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t), intent(in) :: results_ +real(C_FLOAT) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = results_%swigdata -call swigc_DetectorAnalysis_results__set(farg1, farg2) -end subroutine +fresult = swigc_EnergyCalibration_lower_energy(farg1) +swig_result = fresult +end function -function swigf_DetectorAnalysis_results__get(self) & +function swigf_EnergyCalibration_upper_energy(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_results__get(farg1) -swig_result%swigdata = fresult +fresult = swigc_EnergyCalibration_upper_energy(farg1) +swig_result = fresult end function -function swigf_new_DetectorAnalysis() & -result(self) +function swigf_EnergyCalibration_sm_min_channels_get() & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(DetectorAnalysis) :: self -type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: swig_result +integer(C_SIZE_T) :: fresult -fresult = swigc_new_DetectorAnalysis() -self%swigdata = fresult +fresult = swigc_EnergyCalibration_sm_min_channels_get() +swig_result = fresult end function -subroutine swigf_DetectorAnalysis_reset(self) +function swigf_EnergyCalibration_sm_max_channels_get() & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: swig_result +integer(C_SIZE_T) :: fresult -farg1 = self%swigdata -call swigc_DetectorAnalysis_reset(farg1) -end subroutine +fresult = swigc_EnergyCalibration_sm_max_channels_get() +swig_result = fresult +end function -function swigf_DetectorAnalysis_is_empty(self) & +function swigf_EnergyCalibration_sm_polynomial_offset_limit_get() & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(DetectorAnalysis), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: swig_result +real(C_FLOAT) :: fresult -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_is_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_EnergyCalibration_sm_polynomial_offset_limit_get() +swig_result = fresult end function -subroutine swigf_DetectorAnalysis_release(self) +subroutine swigf_EnergyCalibration_release(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(inout) :: self +class(EnergyCalibration), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DetectorAnalysis(farg1) +call swigc_delete_EnergyCalibration(farg1) endif farg1%cptr = C_NULL_PTR farg1%cmemflags = 0 self%swigdata = farg1 end subroutine -subroutine swigf_DetectorAnalysis_op_assign__(self, other) +subroutine swigf_EnergyCalibration_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(inout) :: self -type(DetectorAnalysis), intent(in) :: other +class(EnergyCalibration), intent(inout) :: self +type(EnergyCalibration), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata farg2 = other%swigdata -call swigc_DetectorAnalysis_op_assign__(farg1, farg2) +call swigc_EnergyCalibration_op_assign__(farg1, farg2) self%swigdata = farg1 end subroutine -subroutine swigf_MultimediaData_remark__set(self, remark_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: remark_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) -call swigc_MultimediaData_remark__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_remark__get(self) & +function energy_cal_combine_channels(orig_cal, num_channel_combine) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_t) :: swig_result +class(EnergyCalibration), intent(in) :: orig_cal +integer(C_SIZE_T), intent(in) :: num_channel_combine +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 -farg1 = self%swigdata -fresult = swigc_MultimediaData_remark__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg1 = orig_cal%swigdata +farg2 = num_channel_combine +fresult = swigc_energy_cal_combine_channels(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_MultimediaData_descriptions__set(self, descriptions_) +function polynomial_binning(coeffs, nchannel, deviation_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: descriptions_ +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(descriptions_, farg2, farg2_temp) -call swigc_MultimediaData_descriptions__set(farg1, farg2) -end subroutine +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = deviation_pairs%swigdata +fresult = swigc_polynomial_binning(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function -function swigf_MultimediaData_descriptions__get(self) & +function swigf_fullrangefraction_binning__SWIG_0(coeffs, nchannel, dev_pairs, include_upper_energy) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs +logical, intent(in) :: include_upper_energy +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 +integer(C_INT) :: farg4 -farg1 = self%swigdata -fresult = swigc_MultimediaData_descriptions__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = dev_pairs%swigdata +call SWIGTM_fin_bool(include_upper_energy, farg4) +fresult = swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) +swig_result%swigdata = fresult end function -subroutine swigf_MultimediaData_data__set(self, data_) +function swigf_fullrangefraction_binning__SWIG_1(coeffs, nchannel, dev_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data_ +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 -farg1 = self%swigdata -farg2 = data_%swigdata -call swigc_MultimediaData_data__set(farg1, farg2) -end subroutine +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = dev_pairs%swigdata +fresult = swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function -function swigf_MultimediaData_data__get(self) & +function fullrangefraction_energy(channel_number, coeffs, nchannel, deviation_pairs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_char_t) :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: channel_number +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_SIZE_T) :: farg3 +type(SwigClassWrapper) :: farg4 -farg1 = self%swigdata -fresult = swigc_MultimediaData_data__get(farg1) -swig_result%swigdata = fresult +farg1 = channel_number +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) +swig_result = fresult end function -subroutine swigf_MultimediaData_data_encoding__set(self, data_encoding_) +function polynomial_energy(channel_number, coeffs, deviation_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -integer(MultimediaData_EncodingType), intent(in) :: data_encoding_ -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: channel_number +class(FloatVector), intent(in) :: coeffs +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 -farg1 = self%swigdata -farg2 = data_encoding_ -call swigc_MultimediaData_data_encoding__set(farg1, farg2) -end subroutine +farg1 = channel_number +farg2 = coeffs%swigdata +farg3 = deviation_pairs%swigdata +fresult = swigc_polynomial_energy(farg1, farg2, farg3) +swig_result = fresult +end function -function swigf_MultimediaData_data_encoding__get(self) & +function deviation_pair_correction(polynomial_energy0, dev_pairs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(MultimediaData_EncodingType) :: swig_result -class(MultimediaData), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: polynomial_energy0 +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -fresult = swigc_MultimediaData_data_encoding__get(farg1) +farg1 = polynomial_energy0 +farg2 = dev_pairs%swigdata +fresult = swigc_deviation_pair_correction(farg1, farg2) swig_result = fresult end function -subroutine swigf_MultimediaData_capture_start_time__set(self, capture_start_time_) +function correction_due_to_dev_pairs(true_energy, dev_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: capture_start_time_ -type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: true_energy +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -farg2 = capture_start_time_%swigdata -call swigc_MultimediaData_capture_start_time__set(farg1, farg2) -end subroutine +farg1 = true_energy +farg2 = dev_pairs%swigdata +fresult = swigc_correction_due_to_dev_pairs(farg1, farg2) +swig_result = fresult +end function -function swigf_MultimediaData_capture_start_time__get(self) & +function apply_deviation_pair(binning, dev_pairs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(MultimediaData), intent(in) :: self +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: binning +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -fresult = swigc_MultimediaData_capture_start_time__get(farg1) +farg1 = binning%swigdata +farg2 = dev_pairs%swigdata +fresult = swigc_apply_deviation_pair(farg1, farg2) swig_result%swigdata = fresult end function -subroutine swigf_MultimediaData_file_uri__set(self, file_uri_) +function polynomial_coef_to_fullrangefraction(coeffs, nchannel) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: file_uri_ +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_SIZE_T) :: farg2 -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(file_uri_, farg2, farg2_temp) -call swigc_MultimediaData_file_uri__set(farg1, farg2) -end subroutine +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) +swig_result%swigdata = fresult +end function -function swigf_MultimediaData_file_uri__get(self) & +function fullrangefraction_coef_to_polynomial(coeffs, nchannel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 -farg1 = self%swigdata -fresult = swigc_MultimediaData_file_uri__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_MultimediaData_mime_type__set(self, mime_type_) +function mid_channel_polynomial_to_fullrangeFraction(coeffs, nchannel) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: mime_type_ +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_SIZE_T) :: farg2 -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(mime_type_, farg2, farg2_temp) -call swigc_MultimediaData_mime_type__set(farg1, farg2) -end subroutine +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) +swig_result%swigdata = fresult +end function -function swigf_MultimediaData_mime_type__get(self) & +function calibration_is_valid(type, eqn, devpairs, nbin) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +logical :: swig_result +integer(EnergyCalType), intent(in) :: type +class(FloatVector), intent(in) :: eqn +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: devpairs +integer(C_SIZE_T), intent(in) :: nbin +integer(C_INT) :: fresult +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +integer(C_SIZE_T) :: farg4 -farg1 = self%swigdata -fresult = swigc_MultimediaData_mime_type__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg1 = type +farg2 = eqn%swigdata +farg3 = devpairs%swigdata +farg4 = nbin +fresult = swigc_calibration_is_valid(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_new_MultimediaData() & -result(self) +function polynomial_cal_remove_first_channels(num_channels_remove, orig_coefs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(MultimediaData) :: self +type(FloatVector) :: swig_result +integer(C_INT), intent(in) :: num_channels_remove +class(FloatVector), intent(in) :: orig_coefs type(SwigClassWrapper) :: fresult +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 -fresult = swigc_new_MultimediaData() -self%swigdata = fresult +farg1 = num_channels_remove +farg2 = orig_coefs%swigdata +fresult = swigc_polynomial_cal_remove_first_channels(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_MultimediaData_release(self) +function swigf_find_fullrangefraction_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(inout) :: self +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs +real(C_DOUBLE), intent(in) :: accuracy +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_SIZE_T) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_DOUBLE) :: farg5 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +farg5 = accuracy +fresult = swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) +swig_result = fresult +end function + +function swigf_find_fullrangefraction_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_SIZE_T) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) +swig_result = fresult +end function + +function swigf_find_polynomial_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs +real(C_DOUBLE), intent(in) :: accuracy +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_SIZE_T) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_DOUBLE) :: farg5 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +farg5 = accuracy +fresult = swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) +swig_result = fresult +end function + +function swigf_find_polynomial_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_SIZE_T), intent(in) :: nchannel +class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_SIZE_T) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) +swig_result = fresult +end function + +subroutine rebin_by_lower_edge(original_energies, original_counts, new_energies, resulting_counts) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: original_energies +class(FloatVector), intent(in) :: original_counts +class(FloatVector), intent(in) :: new_energies +class(FloatVector), intent(in) :: resulting_counts type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_MultimediaData(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 +farg1 = original_energies%swigdata +farg2 = original_counts%swigdata +farg3 = new_energies%swigdata +farg4 = resulting_counts%swigdata +call swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) end subroutine -subroutine swigf_MultimediaData_op_assign__(self, other) +function write_CALp_file(output, cal, detector_name) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(inout) :: self -type(MultimediaData), intent(in) :: other +logical :: swig_result +class(SWIGTYPE_p_std__ostream), intent(in) :: output +class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +character(len=*), intent(in) :: detector_name +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_MultimediaData_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine +farg1 = output%swigdata +farg2 = cal%swigdata +call SWIGTM_fin_char_Sm_(detector_name, farg3, farg3_temp) +fresult = swigc_write_CALp_file(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function end module From fb679da07a096026f1bf1394fce240823a99a88b Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 15 Aug 2024 17:49:12 -0600 Subject: [PATCH 016/100] add a few more extensions and include filesystem stuff --- bindings/swig/fortran/SpecUtilsFortran.i | 36 +- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 8677 ++++++------ bindings/swig/fortran/SpecUtilsWrap.f90 | 11334 ++++++++-------- 3 files changed, 10242 insertions(+), 9805 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 2f9f340..8cf3d1b 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -6,6 +6,7 @@ #include #include #include +#include %} @@ -13,20 +14,18 @@ //%include "std_vector.i" /* instantiate the required template specializations */ namespace std { - %template(IntVector) vector; - %template(DoubleVector) vector; + //%template(IntVector) vector; + //%template(DoubleVector) vector; %template(FloatVector) vector; %template(MeasurementVector) vector; } -//%template(TimePoint) std::chrono::time_point; - - %include "std_shared_ptr.i" %shared_ptr(vector) %shared_ptr(SpecUtils::Measurement) -%shared_ptr(std::vector) +%shared_ptr(SpecUtils::EnergyCalibration) +//%shared_ptr(std::vector) // this casued me problems -hugh %include "std_string.i" %apply std::string { std::string& } @@ -37,13 +36,14 @@ namespace std { %ignore combine_gamma_channels; %ignore truncate_gamma_channels; -%ignore set_energy_calibration; +//%ignore set_energy_calibration; %ignore descriptionText; %ignore operator=; %ignore set_gamma_counts; %include +%apply int { size_t } %include "SpecUtils/SpecFile.h" @@ -56,6 +56,11 @@ namespace std { return $self->gamma_counts()->at(index-1); } + size_t get_num_channels() + { + return $self->gamma_counts()->size(); + } + std::string get_description() { auto &remarks = $self->remarks(); @@ -115,6 +120,16 @@ namespace std { SpecUtils::FloatVec ncounts{count}; $self->set_neutron_counts(ncounts, 0.0F); } + + float get_neutron_count() + { + auto count = 0.0F; + if (!$self->neutron_counts().empty()) + count = $self->neutron_counts().front(); + + return count; + } + //%apply (SWIGTYPE ARRAY[], size_t num_channels) { (const float* spectrum, size_t num_channels) }; %apply (SWIGTYPE *DATA, size_t SIZE) { (const float* spectrum, size_t num_channels) }; void set_spectrum(const float *spectrum, size_t num_channels) @@ -155,9 +170,12 @@ namespace std { %include "std_pair.i" %template(DevPair) std::pair; -//%template(DeviationPairs) std::vector; +%template(DeviationPairs) std::vector>; %ignore set_lower_channel_energy; %ignore energy_cal_from_CALp_file; -%include "SpecUtils/EnergyCalibration.h" \ No newline at end of file +%include "SpecUtils/EnergyCalibration.h" + +%ignore make_canonical_path; +%include "SpecUtils/FileSystem.h" diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 193bc0d..9fc6609 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -212,23 +212,22 @@ enum AssignmentType { #define SWIG_VERSION 0x040200 #define SWIGFORTRAN -#define SWIGPOLICY_std_vector_Sl__Sp_int_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_vector_Sl__Sp_double_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_std_vector_Sl__Sp_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_std_vector_Sl__Sp_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_Measurement swig::ASSIGNMENT_SMARTPTR #define SWIGPOLICY_SpecUtils_SpecFile swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_DetectorAnalysisResult swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_DetectorAnalysis swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_MultimediaData swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_SMARTPTR #ifdef __cplusplus #include @@ -299,6 +298,7 @@ template T SwigValueInit() { #include #include #include +#include #include @@ -326,48 +326,48 @@ SWIGINTERN SwigClassWrapper SwigClassWrapper_uninitialized() { return result; } -SWIGINTERN void std_vector_Sl_int_Sg__set(std::vector< int > *self,std::vector< int >::size_type index,int const &v){ +SWIGINTERN void std_vector_Sl_float_Sg__set(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ SWIG_check_range(index, self->size(), - "std::vector<""int" ">::set", + "std::vector<""float" ">::set", return); (*self)[index] = v; } -SWIGINTERN int const &std_vector_Sl_int_Sg__get(std::vector< int > *self,std::vector< int >::size_type index){ +SWIGINTERN float const &std_vector_Sl_float_Sg__get(std::vector< float > *self,std::vector< float >::size_type index){ SWIG_check_range(index, self->size(), - "std::vector<""int" ">::get", + "std::vector<""float" ">::get", return self->front()); return (*self)[index]; } -SWIGINTERN void std_vector_Sl_int_Sg__insert(std::vector< int > *self,std::vector< int >::size_type index,int const &v){ +SWIGINTERN void std_vector_Sl_float_Sg__insert(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ SWIG_check_range(index, self->size() + 1, - "std::vector<""int" ">::insert", + "std::vector<""float" ">::insert", return); self->insert(self->begin() + index, v); } -SWIGINTERN void std_vector_Sl_int_Sg__erase__SWIG_0(std::vector< int > *self,std::vector< int >::size_type index){ +SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_0(std::vector< float > *self,std::vector< float >::size_type index){ SWIG_check_range(index, self->size(), - "std::vector<""int" ">::remove", + "std::vector<""float" ">::remove", return); self->erase(self->begin() + index); } -SWIGINTERN void std_vector_Sl_int_Sg__erase__SWIG_1(std::vector< int > *self,std::vector< int >::size_type start_index,std::vector< int >::size_type stop_index){ +SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_1(std::vector< float > *self,std::vector< float >::size_type start_index,std::vector< float >::size_type stop_index){ SWIG_check_range(start_index, stop_index + 1, - "std::vector<""int" ">::remove_range", + "std::vector<""float" ">::remove_range", return); SWIG_check_range(stop_index, self->size() + 1, - "std::vector<""int" ">::remove_range", + "std::vector<""float" ">::remove_range", return); self->erase(self->begin() + start_index, self->begin() + stop_index); } -SWIGINTERN int &std_vector_Sl_int_Sg__front_ref(std::vector< int > *self){ +SWIGINTERN float &std_vector_Sl_float_Sg__front_ref(std::vector< float > *self){ return (*self).front(); } -SWIGINTERN int &std_vector_Sl_int_Sg__back_ref(std::vector< int > *self){ +SWIGINTERN float &std_vector_Sl_float_Sg__back_ref(std::vector< float > *self){ return (*self).back(); } -SWIGINTERN int &std_vector_Sl_int_Sg__get_ref(std::vector< int > *self,std::vector< int >::size_type index){ +SWIGINTERN float &std_vector_Sl_float_Sg__get_ref(std::vector< float > *self,std::vector< float >::size_type index){ SWIG_check_range(index, self->size(), - "std::vector<""int" ">::get_ref", + "std::vector<""float" ">::get_ref", return self->front()); return (*self)[index]; } @@ -488,96 +488,6 @@ SWIGINTERN void SWIG_free_rvalue(SwigClassWrapper other) { } -SWIGINTERN void std_vector_Sl_double_Sg__set(std::vector< double > *self,std::vector< double >::size_type index,double const &v){ - SWIG_check_range(index, self->size(), - "std::vector<""double" ">::set", - return); - (*self)[index] = v; - } -SWIGINTERN double const &std_vector_Sl_double_Sg__get(std::vector< double > *self,std::vector< double >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""double" ">::get", - return self->front()); - return (*self)[index]; - } -SWIGINTERN void std_vector_Sl_double_Sg__insert(std::vector< double > *self,std::vector< double >::size_type index,double const &v){ - SWIG_check_range(index, self->size() + 1, - "std::vector<""double" ">::insert", - return); - self->insert(self->begin() + index, v); - } -SWIGINTERN void std_vector_Sl_double_Sg__erase__SWIG_0(std::vector< double > *self,std::vector< double >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""double" ">::remove", - return); - self->erase(self->begin() + index); - } -SWIGINTERN void std_vector_Sl_double_Sg__erase__SWIG_1(std::vector< double > *self,std::vector< double >::size_type start_index,std::vector< double >::size_type stop_index){ - SWIG_check_range(start_index, stop_index + 1, - "std::vector<""double" ">::remove_range", - return); - SWIG_check_range(stop_index, self->size() + 1, - "std::vector<""double" ">::remove_range", - return); - self->erase(self->begin() + start_index, self->begin() + stop_index); - } -SWIGINTERN double &std_vector_Sl_double_Sg__front_ref(std::vector< double > *self){ - return (*self).front(); - } -SWIGINTERN double &std_vector_Sl_double_Sg__back_ref(std::vector< double > *self){ - return (*self).back(); - } -SWIGINTERN double &std_vector_Sl_double_Sg__get_ref(std::vector< double > *self,std::vector< double >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""double" ">::get_ref", - return self->front()); - return (*self)[index]; - } -SWIGINTERN void std_vector_Sl_float_Sg__set(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::set", - return); - (*self)[index] = v; - } -SWIGINTERN float const &std_vector_Sl_float_Sg__get(std::vector< float > *self,std::vector< float >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::get", - return self->front()); - return (*self)[index]; - } -SWIGINTERN void std_vector_Sl_float_Sg__insert(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ - SWIG_check_range(index, self->size() + 1, - "std::vector<""float" ">::insert", - return); - self->insert(self->begin() + index, v); - } -SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_0(std::vector< float > *self,std::vector< float >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::remove", - return); - self->erase(self->begin() + index); - } -SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_1(std::vector< float > *self,std::vector< float >::size_type start_index,std::vector< float >::size_type stop_index){ - SWIG_check_range(start_index, stop_index + 1, - "std::vector<""float" ">::remove_range", - return); - SWIG_check_range(stop_index, self->size() + 1, - "std::vector<""float" ">::remove_range", - return); - self->erase(self->begin() + start_index, self->begin() + stop_index); - } -SWIGINTERN float &std_vector_Sl_float_Sg__front_ref(std::vector< float > *self){ - return (*self).front(); - } -SWIGINTERN float &std_vector_Sl_float_Sg__back_ref(std::vector< float > *self){ - return (*self).back(); - } -SWIGINTERN float &std_vector_Sl_float_Sg__get_ref(std::vector< float > *self,std::vector< float >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::get_ref", - return self->front()); - return (*self)[index]; - } SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__set(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index,SpecUtils::Measurement const &v){ SWIG_check_range(index, self->size(), "std::vector<""SpecUtils::Measurement" ">::set", @@ -667,6 +577,9 @@ struct SWIG_null_deleter { SWIGINTERN float SpecUtils_Measurement_gamma_count_at(SpecUtils::Measurement *self,int index){ return self->gamma_counts()->at(index-1); } +SWIGINTERN size_t SpecUtils_Measurement_get_num_channels(SpecUtils::Measurement *self){ + return self->gamma_counts()->size(); + } SWIGINTERN std::string SpecUtils_Measurement_get_description(SpecUtils::Measurement *self){ auto &remarks = self->remarks(); return SpecUtils::get_description(remarks); @@ -713,6 +626,13 @@ SWIGINTERN void SpecUtils_Measurement_set_neutron_count(SpecUtils::Measurement * SpecUtils::FloatVec ncounts{count}; self->set_neutron_counts(ncounts, 0.0F); } +SWIGINTERN float SpecUtils_Measurement_get_neutron_count(SpecUtils::Measurement *self){ + auto count = 0.0F; + if (!self->neutron_counts().empty()) + count = self->neutron_counts().front(); + + return count; + } SWIGINTERN void SpecUtils_Measurement_set_spectrum(SpecUtils::Measurement *self,float const *spectrum,size_t num_channels){ SpecUtils::FloatVec counts; for (size_t i = 0; i < num_channels; i++) @@ -732,1682 +652,1719 @@ SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self, SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ return self->measurement(static_cast(index-1)); } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__set(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index,std::pair< float,float > const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN std::pair< float,float > const &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__insert(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index,std::pair< float,float > const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""std::pair< float,float >" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_0(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_1(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type start_index,std::vector< std::pair< float,float > >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""std::pair< float,float >" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""std::pair< float,float >" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__front_ref(std::vector< std::pair< float,float > > *self){ + return (*self).front(); + } +SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__back_ref(std::vector< std::pair< float,float > > *self){ + return (*self).back(); + } +SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get_ref(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::get_ref", + return self->front()); + return (*self)[index]; + } extern "C" { -SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_0() { +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_0() { SwigClassWrapper fresult ; - std::vector< int > *result = 0 ; + std::vector< float > *result = 0 ; - result = (std::vector< int > *)new std::vector< int >(); + result = (std::vector< float > *)new std::vector< float >(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_1(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_1(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< int > *arg1 = 0 ; - std::vector< int > *result = 0 ; + std::vector< float > *arg1 = 0 ; + std::vector< float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > const &", "IntVector", "std::vector< int >::vector(std::vector< int > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< int > *)farg1->cptr; - result = (std::vector< int > *)new std::vector< int >((std::vector< int > const &)*arg1); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "std::vector< float >::vector(std::vector< float > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + result = (std::vector< float > *)new std::vector< float >((std::vector< float > const &)*arg1); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_2(size_t const *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_2(size_t const *farg1) { SwigClassWrapper fresult ; - std::vector< int >::size_type arg1 ; - std::vector< int > *result = 0 ; + std::vector< float >::size_type arg1 ; + std::vector< float > *result = 0 ; - arg1 = (std::vector< int >::size_type)(*farg1); - result = (std::vector< int > *)new std::vector< int >(arg1); + arg1 = (std::vector< float >::size_type)(*farg1); + result = (std::vector< float > *)new std::vector< float >(arg1); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_IntVector__SWIG_3(size_t const *farg1, int const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_3(size_t const *farg1, float const *farg2) { SwigClassWrapper fresult ; - std::vector< int >::size_type arg1 ; - int *arg2 = 0 ; - int temp2 ; - std::vector< int > *result = 0 ; + std::vector< float >::size_type arg1 ; + float *arg2 = 0 ; + float temp2 ; + std::vector< float > *result = 0 ; - arg1 = (std::vector< int >::size_type)(*farg1); - temp2 = (int)(*farg2); + arg1 = (std::vector< float >::size_type)(*farg1); + temp2 = (float)(*farg2); arg2 = &temp2; - result = (std::vector< int > *)new std::vector< int >(arg1,(int const &)*arg2); + result = (std::vector< float > *)new std::vector< float >(arg1,(float const &)*arg2); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT size_t _wrap_IntVector_size(SwigClassWrapper *farg1) { +SWIGEXPORT size_t _wrap_FloatVector_size(SwigClassWrapper *farg1) { size_t fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type result; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type result; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::size() const", return 0); - arg1 = (std::vector< int > *)farg1->cptr; - result = ((std::vector< int > const *)arg1)->size(); - fresult = (std::vector< int >::size_type)(result); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::size() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = ((std::vector< float > const *)arg1)->size(); + fresult = (std::vector< float >::size_type)(result); return fresult; } -SWIGEXPORT size_t _wrap_IntVector_capacity(SwigClassWrapper *farg1) { +SWIGEXPORT size_t _wrap_FloatVector_capacity(SwigClassWrapper *farg1) { size_t fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type result; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type result; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::capacity() const", return 0); - arg1 = (std::vector< int > *)farg1->cptr; - result = ((std::vector< int > const *)arg1)->capacity(); - fresult = (std::vector< int >::size_type)(result); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::capacity() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = ((std::vector< float > const *)arg1)->capacity(); + fresult = (std::vector< float >::size_type)(result); return fresult; } -SWIGEXPORT int _wrap_IntVector_empty(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_FloatVector_empty(SwigClassWrapper *farg1) { int fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::empty() const", return 0); - arg1 = (std::vector< int > *)farg1->cptr; - result = (bool)((std::vector< int > const *)arg1)->empty(); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::empty() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (bool)((std::vector< float > const *)arg1)->empty(); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_IntVector_front(SwigClassWrapper *farg1) { - int fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - int *result = 0 ; +SWIGEXPORT float _wrap_FloatVector_front(SwigClassWrapper *farg1) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::front() const", return 0); - arg1 = (std::vector< int > *)farg1->cptr; - result = (int *) &((std::vector< int > const *)arg1)->front(); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::front() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &((std::vector< float > const *)arg1)->front(); fresult = *result; return fresult; } -SWIGEXPORT int _wrap_IntVector_back(SwigClassWrapper *farg1) { - int fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - int *result = 0 ; +SWIGEXPORT float _wrap_FloatVector_back(SwigClassWrapper *farg1) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > const *", "IntVector", "std::vector< int >::back() const", return 0); - arg1 = (std::vector< int > *)farg1->cptr; - result = (int *) &((std::vector< int > const *)arg1)->back(); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::back() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &((std::vector< float > const *)arg1)->back(); fresult = *result; return fresult; } -SWIGEXPORT void _wrap_IntVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; +SWIGEXPORT void _wrap_FloatVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::reserve(std::vector< int >::size_type)", return ); - arg1 = (std::vector< int > *)farg1->cptr; - arg2 = (std::vector< int >::size_type)(*farg2); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::reserve(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); (arg1)->reserve(arg2); } -SWIGEXPORT void _wrap_IntVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; +SWIGEXPORT void _wrap_FloatVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::resize(std::vector< int >::size_type)", return ); - arg1 = (std::vector< int > *)farg1->cptr; - arg2 = (std::vector< int >::size_type)(*farg2); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); (arg1)->resize(arg2); } -SWIGEXPORT void _wrap_IntVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, int const *farg3) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; - int *arg3 = 0 ; - int temp3 ; +SWIGEXPORT void _wrap_FloatVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::resize(std::vector< int >::size_type,int const &)", return ); - arg1 = (std::vector< int > *)farg1->cptr; - arg2 = (std::vector< int >::size_type)(*farg2); - temp3 = (int)(*farg3); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); + temp3 = (float)(*farg3); arg3 = &temp3; - (arg1)->resize(arg2,(int const &)*arg3); + (arg1)->resize(arg2,(float const &)*arg3); } -SWIGEXPORT void _wrap_IntVector_push_back(SwigClassWrapper *farg1, int const *farg2) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - int *arg2 = 0 ; - int temp2 ; +SWIGEXPORT void _wrap_FloatVector_push_back(SwigClassWrapper *farg1, float const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *arg2 = 0 ; + float temp2 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::push_back(int const &)", return ); - arg1 = (std::vector< int > *)farg1->cptr; - temp2 = (int)(*farg2); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::push_back(float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + temp2 = (float)(*farg2); arg2 = &temp2; - (arg1)->push_back((int const &)*arg2); + (arg1)->push_back((float const &)*arg2); } -SWIGEXPORT void _wrap_IntVector_pop_back(SwigClassWrapper *farg1) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; +SWIGEXPORT void _wrap_FloatVector_pop_back(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::pop_back()", return ); - arg1 = (std::vector< int > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::pop_back()", return ); + arg1 = (std::vector< float > *)farg1->cptr; (arg1)->pop_back(); } -SWIGEXPORT void _wrap_IntVector_clear(SwigClassWrapper *farg1) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; +SWIGEXPORT void _wrap_FloatVector_clear(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::clear()", return ); - arg1 = (std::vector< int > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::clear()", return ); + arg1 = (std::vector< float > *)farg1->cptr; (arg1)->clear(); } -SWIGEXPORT void _wrap_IntVector_set(SwigClassWrapper *farg1, size_t const *farg2, int const *farg3) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; - int *arg3 = 0 ; - int temp3 ; +SWIGEXPORT void _wrap_FloatVector_set(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::set(std::vector< int >::size_type,int const &)", return ); - arg1 = (std::vector< int > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::set(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; arg2 = *farg2 - 1; - temp3 = (int)(*farg3); + temp3 = (float)(*farg3); arg3 = &temp3; - std_vector_Sl_int_Sg__set(arg1,SWIG_STD_MOVE(arg2),(int const &)*arg3); + std_vector_Sl_float_Sg__set(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); } -SWIGEXPORT int _wrap_IntVector_get(SwigClassWrapper *farg1, size_t const *farg2) { - int fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; - int *result = 0 ; +SWIGEXPORT float _wrap_FloatVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::get(std::vector< int >::size_type)", return 0); - arg1 = (std::vector< int > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get(std::vector< float >::size_type)", return 0); + arg1 = (std::vector< float > *)farg1->cptr; arg2 = *farg2 - 1; - result = (int *) &std_vector_Sl_int_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + result = (float *) &std_vector_Sl_float_Sg__get(arg1,SWIG_STD_MOVE(arg2)); fresult = *result; return fresult; } -SWIGEXPORT void _wrap_IntVector_insert(SwigClassWrapper *farg1, size_t const *farg2, int const *farg3) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; - int *arg3 = 0 ; - int temp3 ; +SWIGEXPORT void _wrap_FloatVector_insert(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::insert(std::vector< int >::size_type,int const &)", return ); - arg1 = (std::vector< int > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::insert(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; arg2 = *farg2 - 1; - temp3 = (int)(*farg3); + temp3 = (float)(*farg3); arg3 = &temp3; - std_vector_Sl_int_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(int const &)*arg3); + std_vector_Sl_float_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); } -SWIGEXPORT void _wrap_IntVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; +SWIGEXPORT void _wrap_FloatVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::erase(std::vector< int >::size_type)", return ); - arg1 = (std::vector< int > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; arg2 = *farg2 - 1; - std_vector_Sl_int_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); + std_vector_Sl_float_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); } -SWIGEXPORT void _wrap_IntVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; - std::vector< int >::size_type arg3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::erase(std::vector< int >::size_type,std::vector< int >::size_type)", return ); - arg1 = (std::vector< int > *)farg1->cptr; +SWIGEXPORT void _wrap_FloatVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + std::vector< float >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type,std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; arg2 = *farg2 - 1; arg3 = *farg3 - 1; - std_vector_Sl_int_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); + std_vector_Sl_float_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); } -SWIGEXPORT int * _wrap_IntVector_front_ref(SwigClassWrapper *farg1) { - int * fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - int *result = 0 ; +SWIGEXPORT float * _wrap_FloatVector_front_ref(SwigClassWrapper *farg1) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::front_ref()", return 0); - arg1 = (std::vector< int > *)farg1->cptr; - result = (int *) &std_vector_Sl_int_Sg__front_ref(arg1); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::front_ref()", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &std_vector_Sl_float_Sg__front_ref(arg1); fresult = result; return fresult; } -SWIGEXPORT int * _wrap_IntVector_back_ref(SwigClassWrapper *farg1) { - int * fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - int *result = 0 ; +SWIGEXPORT float * _wrap_FloatVector_back_ref(SwigClassWrapper *farg1) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::back_ref()", return 0); - arg1 = (std::vector< int > *)farg1->cptr; - result = (int *) &std_vector_Sl_int_Sg__back_ref(arg1); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::back_ref()", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &std_vector_Sl_float_Sg__back_ref(arg1); fresult = result; return fresult; } -SWIGEXPORT int * _wrap_IntVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { - int * fresult ; - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int >::size_type arg2 ; - int *result = 0 ; +SWIGEXPORT float * _wrap_FloatVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< int > *", "IntVector", "std::vector< int >::get_ref(std::vector< int >::size_type)", return 0); - arg1 = (std::vector< int > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get_ref(std::vector< float >::size_type)", return 0); + arg1 = (std::vector< float > *)farg1->cptr; arg2 = *farg2 - 1; - result = (int *) &std_vector_Sl_int_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + result = (float *) &std_vector_Sl_float_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); fresult = result; return fresult; } -SWIGEXPORT void _wrap_delete_IntVector(SwigClassWrapper *farg1) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; +SWIGEXPORT void _wrap_delete_FloatVector(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; - arg1 = (std::vector< int > *)farg1->cptr; + arg1 = (std::vector< float > *)farg1->cptr; delete arg1; } -SWIGEXPORT void _wrap_IntVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< int > *arg1 = (std::vector< int > *) 0 ; - std::vector< int > *arg2 = 0 ; +SWIGEXPORT void _wrap_FloatVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float > *arg2 = 0 ; (void)sizeof(arg1); (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_int_SP__Sg_>(farg1, *farg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_>(farg1, *farg2); } -SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_0() { +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_0() { SwigClassWrapper fresult ; - std::vector< double > *result = 0 ; + std::vector< SpecUtils::Measurement > *result = 0 ; - result = (std::vector< double > *)new std::vector< double >(); + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_1(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_1(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< double > *arg1 = 0 ; - std::vector< double > *result = 0 ; + std::vector< SpecUtils::Measurement > *arg1 = 0 ; + std::vector< SpecUtils::Measurement > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > const &", "DoubleVector", "std::vector< double >::vector(std::vector< double > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< double > *)farg1->cptr; - result = (std::vector< double > *)new std::vector< double >((std::vector< double > const &)*arg1); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const &", "MeasurementVector", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >((std::vector< SpecUtils::Measurement > const &)*arg1); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_2(size_t const *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_2(size_t const *farg1) { SwigClassWrapper fresult ; - std::vector< double >::size_type arg1 ; - std::vector< double > *result = 0 ; + std::vector< SpecUtils::Measurement >::size_type arg1 ; + std::vector< SpecUtils::Measurement > *result = 0 ; - arg1 = (std::vector< double >::size_type)(*farg1); - result = (std::vector< double > *)new std::vector< double >(arg1); + arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_DoubleVector__SWIG_3(size_t const *farg1, double const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_3(size_t const *farg1, SwigClassWrapper *farg2) { SwigClassWrapper fresult ; - std::vector< double >::size_type arg1 ; - double *arg2 = 0 ; - double temp2 ; - std::vector< double > *result = 0 ; + std::vector< SpecUtils::Measurement >::size_type arg1 ; + SpecUtils::Measurement *arg2 = 0 ; + std::vector< SpecUtils::Measurement > *result = 0 ; - arg1 = (std::vector< double >::size_type)(*farg1); - temp2 = (double)(*farg2); - arg2 = &temp2; - result = (std::vector< double > *)new std::vector< double >(arg1,(double const &)*arg2); + arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); + SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return SwigClassWrapper_uninitialized()); + arg2 = (SpecUtils::Measurement *)farg2->cptr; + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1,(SpecUtils::Measurement const &)*arg2); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT size_t _wrap_DoubleVector_size(SwigClassWrapper *farg1) { +SWIGEXPORT size_t _wrap_MeasurementVector_size(SwigClassWrapper *farg1) { size_t fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type result; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type result; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::size() const", return 0); - arg1 = (std::vector< double > *)farg1->cptr; - result = ((std::vector< double > const *)arg1)->size(); - fresult = (std::vector< double >::size_type)(result); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::size() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = ((std::vector< SpecUtils::Measurement > const *)arg1)->size(); + fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); return fresult; } -SWIGEXPORT size_t _wrap_DoubleVector_capacity(SwigClassWrapper *farg1) { +SWIGEXPORT size_t _wrap_MeasurementVector_capacity(SwigClassWrapper *farg1) { size_t fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type result; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type result; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::capacity() const", return 0); - arg1 = (std::vector< double > *)farg1->cptr; - result = ((std::vector< double > const *)arg1)->capacity(); - fresult = (std::vector< double >::size_type)(result); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::capacity() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = ((std::vector< SpecUtils::Measurement > const *)arg1)->capacity(); + fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); return fresult; } -SWIGEXPORT int _wrap_DoubleVector_empty(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_MeasurementVector_empty(SwigClassWrapper *farg1) { int fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::empty() const", return 0); - arg1 = (std::vector< double > *)farg1->cptr; - result = (bool)((std::vector< double > const *)arg1)->empty(); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::empty() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (bool)((std::vector< SpecUtils::Measurement > const *)arg1)->empty(); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT double _wrap_DoubleVector_front(SwigClassWrapper *farg1) { - double fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - double *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::front() const", return 0); - arg1 = (std::vector< double > *)farg1->cptr; - result = (double *) &((std::vector< double > const *)arg1)->front(); - fresult = *result; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->front(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT double _wrap_DoubleVector_back(SwigClassWrapper *farg1) { - double fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - double *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > const *", "DoubleVector", "std::vector< double >::back() const", return 0); - arg1 = (std::vector< double > *)farg1->cptr; - result = (double *) &((std::vector< double > const *)arg1)->back(); - fresult = *result; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->back(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DoubleVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; +SWIGEXPORT void _wrap_MeasurementVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::reserve(std::vector< double >::size_type)", return ); - arg1 = (std::vector< double > *)farg1->cptr; - arg2 = (std::vector< double >::size_type)(*farg2); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::reserve(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); (arg1)->reserve(arg2); } -SWIGEXPORT void _wrap_DoubleVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; +SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::resize(std::vector< double >::size_type)", return ); - arg1 = (std::vector< double > *)farg1->cptr; - arg2 = (std::vector< double >::size_type)(*farg2); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); (arg1)->resize(arg2); } -SWIGEXPORT void _wrap_DoubleVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, double const *farg3) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; - double *arg3 = 0 ; - double temp3 ; +SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::resize(std::vector< double >::size_type,double const &)", return ); - arg1 = (std::vector< double > *)farg1->cptr; - arg2 = (std::vector< double >::size_type)(*farg2); - temp3 = (double)(*farg3); - arg3 = &temp3; - (arg1)->resize(arg2,(double const &)*arg3); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + (arg1)->resize(arg2,(SpecUtils::Measurement const &)*arg3); } -SWIGEXPORT void _wrap_DoubleVector_push_back(SwigClassWrapper *farg1, double const *farg2) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - double *arg2 = 0 ; - double temp2 ; +SWIGEXPORT void _wrap_MeasurementVector_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::push_back(double const &)", return ); - arg1 = (std::vector< double > *)farg1->cptr; - temp2 = (double)(*farg2); - arg2 = &temp2; - (arg1)->push_back((double const &)*arg2); + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); + arg2 = (SpecUtils::Measurement *)farg2->cptr; + (arg1)->push_back((SpecUtils::Measurement const &)*arg2); } -SWIGEXPORT void _wrap_DoubleVector_pop_back(SwigClassWrapper *farg1) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; +SWIGEXPORT void _wrap_MeasurementVector_pop_back(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::pop_back()", return ); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::pop_back()", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; (arg1)->pop_back(); } -SWIGEXPORT void _wrap_DoubleVector_clear(SwigClassWrapper *farg1) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; +SWIGEXPORT void _wrap_MeasurementVector_clear(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::clear()", return ); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::clear()", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; (arg1)->clear(); } -SWIGEXPORT void _wrap_DoubleVector_set(SwigClassWrapper *farg1, size_t const *farg2, double const *farg3) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; - double *arg3 = 0 ; - double temp3 ; +SWIGEXPORT void _wrap_MeasurementVector_set(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::set(std::vector< double >::size_type,double const &)", return ); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; arg2 = *farg2 - 1; - temp3 = (double)(*farg3); - arg3 = &temp3; - std_vector_Sl_double_Sg__set(arg1,SWIG_STD_MOVE(arg2),(double const &)*arg3); + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + std_vector_Sl_SpecUtils_Measurement_Sg__set(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); } -SWIGEXPORT double _wrap_DoubleVector_get(SwigClassWrapper *farg1, size_t const *farg2) { - double fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; - double *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::get(std::vector< double >::size_type)", return 0); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; arg2 = *farg2 - 1; - result = (double *) &std_vector_Sl_double_Sg__get(arg1,SWIG_STD_MOVE(arg2)); - fresult = *result; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DoubleVector_insert(SwigClassWrapper *farg1, size_t const *farg2, double const *farg3) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; - double *arg3 = 0 ; - double temp3 ; +SWIGEXPORT void _wrap_MeasurementVector_insert(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::insert(std::vector< double >::size_type,double const &)", return ); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; arg2 = *farg2 - 1; - temp3 = (double)(*farg3); - arg3 = &temp3; - std_vector_Sl_double_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(double const &)*arg3); + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + std_vector_Sl_SpecUtils_Measurement_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); } -SWIGEXPORT void _wrap_DoubleVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; +SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::erase(std::vector< double >::size_type)", return ); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; arg2 = *farg2 - 1; - std_vector_Sl_double_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); + std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); } -SWIGEXPORT void _wrap_DoubleVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; - std::vector< double >::size_type arg3 ; +SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + std::vector< SpecUtils::Measurement >::size_type arg3 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::erase(std::vector< double >::size_type,std::vector< double >::size_type)", return ); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type,std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; arg2 = *farg2 - 1; arg3 = *farg3 - 1; - std_vector_Sl_double_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); + std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); } -SWIGEXPORT double * _wrap_DoubleVector_front_ref(SwigClassWrapper *farg1) { - double * fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - double *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::front_ref()", return 0); - arg1 = (std::vector< double > *)farg1->cptr; - result = (double *) &std_vector_Sl_double_Sg__front_ref(arg1); - fresult = result; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT double * _wrap_DoubleVector_back_ref(SwigClassWrapper *farg1) { - double * fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - double *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::back_ref()", return 0); - arg1 = (std::vector< double > *)farg1->cptr; - result = (double *) &std_vector_Sl_double_Sg__back_ref(arg1); - fresult = result; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT double * _wrap_DoubleVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { - double * fresult ; - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double >::size_type arg2 ; - double *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< double > *", "DoubleVector", "std::vector< double >::get_ref(std::vector< double >::size_type)", return 0); - arg1 = (std::vector< double > *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get_ref(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; arg2 = *farg2 - 1; - result = (double *) &std_vector_Sl_double_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); - fresult = result; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_delete_DoubleVector(SwigClassWrapper *farg1) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; +SWIGEXPORT void _wrap_delete_MeasurementVector(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - arg1 = (std::vector< double > *)farg1->cptr; + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; delete arg1; } -SWIGEXPORT void _wrap_DoubleVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< double > *arg1 = (std::vector< double > *) 0 ; - std::vector< double > *arg2 = 0 ; +SWIGEXPORT void _wrap_MeasurementVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement > *arg2 = 0 ; (void)sizeof(arg1); (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_double_SP__Sg_>(farg1, *farg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_>(farg1, *farg2); } -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_0() { - SwigClassWrapper fresult ; - std::vector< float > *result = 0 ; +SWIGEXPORT int _wrap_spectrumTypeFromDescription(SwigArrayWrapper *farg1) { + int fresult ; + char *arg1 = (char *) 0 ; + SpecUtils::SpectrumType result; - result = (std::vector< float > *)new std::vector< float >(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + arg1 = (char *)(farg1->data); + result = (SpecUtils::SpectrumType)SpecUtils::spectrumTypeFromDescription((char const *)arg1); + fresult = (int)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_1(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - std::vector< float > *result = 0 ; +SWIGEXPORT SwigArrayWrapper _wrap_suggestedNameEnding(int const *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SaveSpectrumAsType arg1 ; + char *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "std::vector< float >::vector(std::vector< float > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - result = (std::vector< float > *)new std::vector< float >((std::vector< float > const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + arg1 = (SpecUtils::SaveSpectrumAsType)(*farg1); + result = (char *)SpecUtils::suggestedNameEnding(arg1); + fresult.size = strlen((char*)(result)); + fresult.data = const_cast< char * >(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_2(size_t const *farg1) { - SwigClassWrapper fresult ; - std::vector< float >::size_type arg1 ; - std::vector< float > *result = 0 ; +SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_0(SwigArrayWrapper *farg1) { + int fresult ; + char *arg1 = (char *) 0 ; + bool result; - arg1 = (std::vector< float >::size_type)(*farg1); - result = (std::vector< float > *)new std::vector< float >(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + arg1 = (char *)(farg1->data); + result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_3(size_t const *farg1, float const *farg2) { - SwigClassWrapper fresult ; - std::vector< float >::size_type arg1 ; - float *arg2 = 0 ; - float temp2 ; - std::vector< float > *result = 0 ; +SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_1(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + char *arg1 = (char *) (char *)0 ; + char *arg2 = (char *) (char *)0 ; + bool result; - arg1 = (std::vector< float >::size_type)(*farg1); - temp2 = (float)(*farg2); - arg2 = &temp2; - result = (std::vector< float > *)new std::vector< float >(arg1,(float const &)*arg2); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + arg1 = (char *)(farg1->data); + arg2 = (char *)(farg2->data); + result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1,(char const *)arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_FloatVector_size(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type result; +SWIGEXPORT SwigArrayWrapper _wrap_convert_n42_utf16_xml_to_utf8(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) (char *)0 ; + char *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::size() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = ((std::vector< float > const *)arg1)->size(); - fresult = (std::vector< float >::size_type)(result); + arg1 = (char *)(farg1->data); + arg2 = (char *)(farg2->data); + result = (char *)SpecUtils::convert_n42_utf16_xml_to_utf8(arg1,arg2); + fresult.size = strlen((char*)(result)); + fresult.data = const_cast< char * >(result); return fresult; } -SWIGEXPORT size_t _wrap_FloatVector_capacity(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type result; +SWIGEXPORT void _wrap_add_analysis_results_to_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + SpecUtils::DetectorAnalysis *arg1 = 0 ; + ::rapidxml::xml_node< char > *arg2 = (::rapidxml::xml_node< char > *) 0 ; + std::mutex *arg3 = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::capacity() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = ((std::vector< float > const *)arg1)->capacity(); - fresult = (std::vector< float >::size_type)(result); - return fresult; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (::rapidxml::xml_node< char > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::mutex &", "SWIGTYPE_p_std__mutex", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); + arg3 = (std::mutex *)farg3->cptr; + SpecUtils::add_analysis_results_to_2012_N42((SpecUtils::DetectorAnalysis const &)*arg1,arg2,*arg3); } -SWIGEXPORT int _wrap_FloatVector_empty(SwigClassWrapper *farg1) { - int fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - bool result; +SWIGEXPORT void _wrap_set_analysis_info_from_n42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + rapidxml::xml_node< char > *arg1 = (rapidxml::xml_node< char > *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::empty() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (bool)((std::vector< float > const *)arg1)->empty(); - fresult = (result ? 1 : 0); - return fresult; + arg1 = (rapidxml::xml_node< char > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis &", "DetectorAnalysis", "SpecUtils::set_analysis_info_from_n42(rapidxml::xml_node< char > const *,SpecUtils::DetectorAnalysis &)", return ); + arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; + SpecUtils::set_analysis_info_from_n42((rapidxml::xml_node< char > const *)arg1,*arg2); } -SWIGEXPORT float _wrap_FloatVector_front(SwigClassWrapper *farg1) { - float fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; +SWIGEXPORT double _wrap_gamma_integral(SwigClassWrapper const *farg1, float const *farg2, float const *farg3) { + double fresult ; + std::shared_ptr< SpecUtils::Measurement const > *arg1 = 0 ; + float arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > tempnull1 ; + double result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::front() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &((std::vector< float > const *)arg1)->front(); - fresult = *result; + arg1 = farg1->cptr ? static_cast * >(farg1->cptr) : &tempnull1; + arg2 = (float)(*farg2); + arg3 = (float)(*farg3); + result = (double)SpecUtils::gamma_integral((std::shared_ptr< SpecUtils::Measurement const > const &)*arg1,arg2,arg3); + fresult = (double)(result); return fresult; } -SWIGEXPORT float _wrap_FloatVector_back(SwigClassWrapper *farg1) { - float fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; +SWIGEXPORT SwigArrayWrapper _wrap_detectorTypeToString(int const *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorType arg1 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::back() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &((std::vector< float > const *)arg1)->back(); - fresult = *result; + arg1 = (SpecUtils::DetectorType)(*farg1); + result = (std::string *) &SpecUtils::detectorTypeToString(arg1); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT void _wrap_FloatVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; +SWIGEXPORT SwigClassWrapper _wrap_new_Measurement() { + SwigClassWrapper fresult ; + SpecUtils::Measurement *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::reserve(std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (std::vector< float >::size_type)(*farg2); - (arg1)->reserve(arg2); + result = (SpecUtils::Measurement *)new SpecUtils::Measurement(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::Measurement >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; } -SWIGEXPORT void _wrap_FloatVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; +SWIGEXPORT int _wrap_Measurement_memmorysize(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (std::vector< float >::size_type)(*farg2); - (arg1)->resize(arg2); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_FloatVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *arg3 = 0 ; - float temp3 ; +SWIGEXPORT float _wrap_Measurement_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type,float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (std::vector< float >::size_type)(*farg2); - temp3 = (float)(*farg3); - arg3 = &temp3; - (arg1)->resize(arg2,(float const &)*arg3); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->live_time(); + fresult = (float)(result); + return fresult; } -SWIGEXPORT void _wrap_FloatVector_push_back(SwigClassWrapper *farg1, float const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *arg2 = 0 ; - float temp2 ; +SWIGEXPORT void _wrap_Measurement_set_live_time(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::push_back(float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - temp2 = (float)(*farg2); - arg2 = &temp2; - (arg1)->push_back((float const &)*arg2); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + (arg1)->set_live_time(arg2); } -SWIGEXPORT void _wrap_FloatVector_pop_back(SwigClassWrapper *farg1) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; +SWIGEXPORT float _wrap_Measurement_real_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::pop_back()", return ); - arg1 = (std::vector< float > *)farg1->cptr; - (arg1)->pop_back(); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->real_time(); + fresult = (float)(result); + return fresult; } -SWIGEXPORT void _wrap_FloatVector_clear(SwigClassWrapper *farg1) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; +SWIGEXPORT void _wrap_Measurement_set_real_time(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::clear()", return ); - arg1 = (std::vector< float > *)farg1->cptr; - (arg1)->clear(); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + (arg1)->set_real_time(arg2); } -SWIGEXPORT void _wrap_FloatVector_set(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *arg3 = 0 ; - float temp3 ; +SWIGEXPORT int _wrap_Measurement_contained_neutron(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::set(std::vector< float >::size_type,float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - temp3 = (float)(*farg3); - arg3 = &temp3; - std_vector_Sl_float_Sg__set(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::Measurement const *)arg1)->contained_neutron(); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT float _wrap_FloatVector_get(SwigClassWrapper *farg1, size_t const *farg2) { - float fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *result = 0 ; +SWIGEXPORT int _wrap_Measurement_sample_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get(std::vector< float >::size_type)", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (float *) &std_vector_Sl_float_Sg__get(arg1,SWIG_STD_MOVE(arg2)); - fresult = *result; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->sample_number(); + fresult = (int)(result); return fresult; } -SWIGEXPORT void _wrap_FloatVector_insert(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *arg3 = 0 ; - float temp3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::insert(std::vector< float >::size_type,float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - temp3 = (float)(*farg3); - arg3 = &temp3; - std_vector_Sl_float_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); -} - - -SWIGEXPORT void _wrap_FloatVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_title(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - std_vector_Sl_float_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->title(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_FloatVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - std::vector< float >::size_type arg3 ; +SWIGEXPORT int _wrap_Measurement_occupied(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::OccupancyStatus result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type,std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - arg3 = *farg3 - 1; - std_vector_Sl_float_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::OccupancyStatus)((SpecUtils::Measurement const *)arg1)->occupied(); + fresult = (int)(result); + return fresult; } -SWIGEXPORT float * _wrap_FloatVector_front_ref(SwigClassWrapper *farg1) { - float * fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; +SWIGEXPORT double _wrap_Measurement_gamma_count_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::front_ref()", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &std_vector_Sl_float_Sg__front_ref(arg1); - fresult = result; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_count_sum(); + fresult = (double)(result); return fresult; } -SWIGEXPORT float * _wrap_FloatVector_back_ref(SwigClassWrapper *farg1) { - float * fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; +SWIGEXPORT float _wrap_Measurement_neutron_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::back_ref()", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &std_vector_Sl_float_Sg__back_ref(arg1); - fresult = result; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->neutron_live_time(); + fresult = (float)(result); return fresult; } -SWIGEXPORT float * _wrap_FloatVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { - float * fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *result = 0 ; +SWIGEXPORT double _wrap_Measurement_neutron_counts_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get_ref(std::vector< float >::size_type)", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (float *) &std_vector_Sl_float_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); - fresult = result; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->neutron_counts_sum(); + fresult = (double)(result); return fresult; } -SWIGEXPORT void _wrap_delete_FloatVector(SwigClassWrapper *farg1) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; +SWIGEXPORT float _wrap_Measurement_speed(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; - arg1 = (std::vector< float > *)farg1->cptr; - delete arg1; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->speed(); + fresult = (float)(result); + return fresult; } -SWIGEXPORT void _wrap_FloatVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float > *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_>(farg1, *farg2); +SWIGEXPORT float _wrap_Measurement_dx(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dx(); + fresult = (float)(result); + return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_0() { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *result = 0 ; +SWIGEXPORT float _wrap_Measurement_dy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dy(); + fresult = (float)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_1(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = 0 ; - std::vector< SpecUtils::Measurement > *result = 0 ; +SWIGEXPORT double _wrap_Measurement_latitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const &", "MeasurementVector", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >((std::vector< SpecUtils::Measurement > const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->latitude(); + fresult = (double)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_2(size_t const *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement >::size_type arg1 ; - std::vector< SpecUtils::Measurement > *result = 0 ; +SWIGEXPORT double _wrap_Measurement_longitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; - arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->longitude(); + fresult = (double)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_3(size_t const *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement >::size_type arg1 ; - SpecUtils::Measurement *arg2 = 0 ; - std::vector< SpecUtils::Measurement > *result = 0 ; +SWIGEXPORT int _wrap_Measurement_has_gps_info(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; - arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); - SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return SwigClassWrapper_uninitialized()); - arg2 = (SpecUtils::Measurement *)farg2->cptr; - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1,(SpecUtils::Measurement const &)*arg2); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::Measurement const *)arg1)->has_gps_info(); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_MeasurementVector_size(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type result; +SWIGEXPORT float _wrap_Measurement_dose_rate(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::size() const", return 0); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = ((std::vector< SpecUtils::Measurement > const *)arg1)->size(); - fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dose_rate(); + fresult = (float)(result); return fresult; } -SWIGEXPORT size_t _wrap_MeasurementVector_capacity(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type result; +SWIGEXPORT float _wrap_Measurement_exposure_rate(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::capacity() const", return 0); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = ((std::vector< SpecUtils::Measurement > const *)arg1)->capacity(); - fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->exposure_rate(); + fresult = (float)(result); return fresult; } -SWIGEXPORT int _wrap_MeasurementVector_empty(SwigClassWrapper *farg1) { - int fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::empty() const", return 0); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (bool)((std::vector< SpecUtils::Measurement > const *)arg1)->empty(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_position_time(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front() const", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->front(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->position_time(); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_name(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back() const", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->back(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_name(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::reserve(std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); - (arg1)->reserve(arg2); -} - - -SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); - (arg1)->resize(arg2); -} - - -SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *arg3 = 0 ; +SWIGEXPORT int _wrap_Measurement_detector_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); - SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg3 = (SpecUtils::Measurement *)farg3->cptr; - (arg1)->resize(arg2,(SpecUtils::Measurement const &)*arg3); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->detector_number(); + fresult = (int)(result); + return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *arg2 = 0 ; +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_type(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); - arg2 = (SpecUtils::Measurement *)farg2->cptr; - (arg1)->push_back((SpecUtils::Measurement const &)*arg2); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_type(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_pop_back(SwigClassWrapper *farg1) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; +SWIGEXPORT int _wrap_Measurement_quality_status(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::QualityStatus result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::pop_back()", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - (arg1)->pop_back(); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::QualityStatus)((SpecUtils::Measurement const *)arg1)->quality_status(); + fresult = (int)(result); + return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_clear(SwigClassWrapper *farg1) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; +SWIGEXPORT int _wrap_Measurement_source_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::SourceType result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::clear()", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - (arg1)->clear(); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::SourceType)((SpecUtils::Measurement const *)arg1)->source_type(); + fresult = (int)(result); + return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_set(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *arg3 = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::string > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg3 = (SpecUtils::Measurement *)farg3->cptr; - std_vector_Sl_SpecUtils_Measurement_Sg__set(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get(SwigClassWrapper *farg1, size_t const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_parse_warnings(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *result = 0 ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::string > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->parse_warnings(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_insert(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *arg3 = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg3 = (SpecUtils::Measurement *)farg3->cptr; - std_vector_Sl_SpecUtils_Measurement_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::time_point_t *) &((SpecUtils::Measurement const *)arg1)->start_time(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time_copy(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->start_time_copy(); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; } -SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - std::vector< SpecUtils::Measurement >::size_type arg3 ; +SWIGEXPORT int _wrap_Measurement_energy_calibration_model(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::EnergyCalType result; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type,std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - arg3 = *farg3 - 1; - std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::EnergyCalType)((SpecUtils::Measurement const *)arg1)->energy_calibration_model(); + fresult = (int)(result); + return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front_ref(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_calibration_coeffs(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front_ref()", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(arg1); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->calibration_coeffs(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back_ref(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_deviation_pairs(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::pair< float,float > > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back_ref()", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(arg1); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::pair< float,float > > *) &((SpecUtils::Measurement const *)arg1)->deviation_pairs(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_energy_calibration(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get_ref(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_MeasurementVector(SwigClassWrapper *farg1) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_MeasurementVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement > *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_>(farg1, *farg2); - -} - - -SWIGEXPORT int _wrap_spectrumTypeFromDescription(SwigArrayWrapper *farg1) { - int fresult ; - char *arg1 = (char *) 0 ; - SpecUtils::SpectrumType result; - - arg1 = (char *)(farg1->data); - result = (SpecUtils::SpectrumType)SpecUtils::spectrumTypeFromDescription((char const *)arg1); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_suggestedNameEnding(int const *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SaveSpectrumAsType arg1 ; - char *result = 0 ; - - arg1 = (SpecUtils::SaveSpectrumAsType)(*farg1); - result = (char *)SpecUtils::suggestedNameEnding(arg1); - fresult.size = strlen((char*)(result)); - fresult.data = const_cast< char * >(result); - return fresult; -} - - -SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_0(SwigArrayWrapper *farg1) { - int fresult ; - char *arg1 = (char *) 0 ; - bool result; - - arg1 = (char *)(farg1->data); - result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_1(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - char *arg1 = (char *) (char *)0 ; - char *arg2 = (char *) (char *)0 ; - bool result; - - arg1 = (char *)(farg1->data); - arg2 = (char *)(farg2->data); - result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1,(char const *)arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_convert_n42_utf16_xml_to_utf8(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - SwigArrayWrapper fresult ; - char *arg1 = (char *) 0 ; - char *arg2 = (char *) (char *)0 ; - char *result = 0 ; - - arg1 = (char *)(farg1->data); - arg2 = (char *)(farg2->data); - result = (char *)SpecUtils::convert_n42_utf16_xml_to_utf8(arg1,arg2); - fresult.size = strlen((char*)(result)); - fresult.data = const_cast< char * >(result); - return fresult; -} - - -SWIGEXPORT void _wrap_add_analysis_results_to_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { - SpecUtils::DetectorAnalysis *arg1 = 0 ; - ::rapidxml::xml_node< char > *arg2 = (::rapidxml::xml_node< char > *) 0 ; - std::mutex *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (::rapidxml::xml_node< char > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::mutex &", "SWIGTYPE_p_std__mutex", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); - arg3 = (std::mutex *)farg3->cptr; - SpecUtils::add_analysis_results_to_2012_N42((SpecUtils::DetectorAnalysis const &)*arg1,arg2,*arg3); -} - - -SWIGEXPORT void _wrap_set_analysis_info_from_n42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - rapidxml::xml_node< char > *arg1 = (rapidxml::xml_node< char > *) 0 ; - SpecUtils::DetectorAnalysis *arg2 = 0 ; - - arg1 = (rapidxml::xml_node< char > *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis &", "DetectorAnalysis", "SpecUtils::set_analysis_info_from_n42(rapidxml::xml_node< char > const *,SpecUtils::DetectorAnalysis &)", return ); - arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; - SpecUtils::set_analysis_info_from_n42((rapidxml::xml_node< char > const *)arg1,*arg2); -} - - -SWIGEXPORT double _wrap_gamma_integral(SwigClassWrapper const *farg1, float const *farg2, float const *farg3) { - double fresult ; - std::shared_ptr< SpecUtils::Measurement const > *arg1 = 0 ; - float arg2 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement const > tempnull1 ; - double result; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > result; - arg1 = farg1->cptr ? static_cast * >(farg1->cptr) : &tempnull1; - arg2 = (float)(*farg2); - arg3 = (float)(*farg3); - result = (double)SpecUtils::gamma_integral((std::shared_ptr< SpecUtils::Measurement const > const &)*arg1,arg2,arg3); - fresult = (double)(result); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->energy_calibration(); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_detectorTypeToString(int const *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorType arg1 ; - std::string *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; - arg1 = (SpecUtils::DetectorType)(*farg1); - result = (std::string *) &SpecUtils::detectorTypeToString(arg1); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->channel_energies(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_Measurement() { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_counts(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::Measurement *result = 0 ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; - result = (SpecUtils::Measurement *)new SpecUtils::Measurement(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::Measurement >(result SWIG_NO_NULL_DELETER_1) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_counts(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT size_t _wrap_Measurement_memmorysize(SwigClassWrapper *farg1) { - size_t fresult ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_neutron_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - size_t result; + std::vector< float > *result = 0 ; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->memmorysize(); - fresult = (size_t)(result); + result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->neutron_counts(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT float _wrap_Measurement_live_time(SwigClassWrapper *farg1) { - float fresult ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_location_state(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; + std::shared_ptr< SpecUtils::LocationState const > *result = 0 ; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->live_time(); - fresult = (float)(result); + result = (std::shared_ptr< SpecUtils::LocationState const > *) &((SpecUtils::Measurement const *)arg1)->location_state(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_Measurement_set_live_time(SwigClassWrapper *farg1, float const *farg2) { +SWIGEXPORT void _wrap_Measurement_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; + std::string *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - (arg1)->set_live_time(arg2); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_title((std::string const &)*arg2); } -SWIGEXPORT float _wrap_Measurement_real_time(SwigClassWrapper *farg1) { - float fresult ; +SWIGEXPORT void _wrap_Measurement_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; + SpecUtils::time_point_t *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->real_time(); - fresult = (float)(result); - return fresult; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_start_time(SpecUtils::time_point_t const &)", return ); + arg2 = (SpecUtils::time_point_t *)farg2->cptr; + (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2); } -SWIGEXPORT void _wrap_Measurement_set_real_time(SwigClassWrapper *farg1, float const *farg2) { +SWIGEXPORT void _wrap_Measurement_set_remarks(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; + std::vector< std::string > *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - (arg1)->set_real_time(arg2); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_remarks(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_remarks((std::vector< std::string > const &)*arg2); } -SWIGEXPORT int _wrap_Measurement_contained_neutron(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT void _wrap_Measurement_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (bool)((SpecUtils::Measurement const *)arg1)->contained_neutron(); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_parse_warnings(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); } -SWIGEXPORT int _wrap_Measurement_sample_number(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT void _wrap_Measurement_set_source_type(SwigClassWrapper *farg1, int const *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - int result; + SpecUtils::SourceType arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (int)((SpecUtils::Measurement const *)arg1)->sample_number(); - fresult = (int)(result); - return fresult; + arg2 = (SpecUtils::SourceType)(*farg2); + (arg1)->set_source_type(arg2); } -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_title(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; + double arg2 ; + double arg3 ; + SpecUtils::time_point_t arg4 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->title(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + arg2 = (double)(*farg2); + arg3 = (double)(*farg3); + SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_position(double,double,SpecUtils::time_point_t)", return ); + arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); + (arg1)->set_position(arg2,arg3,arg4); } -SWIGEXPORT int _wrap_Measurement_occupied(SwigClassWrapper *farg1) { +SWIGEXPORT void _wrap_Measurement_set_sample_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + (arg1)->set_sample_number(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_occupancy_status(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::OccupancyStatus arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (SpecUtils::OccupancyStatus)(*farg2); + (arg1)->set_occupancy_status(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_detector_name((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_detector_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + (arg1)->set_detector_number(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, float const *farg3) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< float > *arg2 = 0 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &,float const)", return ); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (float)(*farg3); + (arg1)->set_neutron_counts((std::vector< float > const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< float > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &)", return ); + arg2 = (std::vector< float > *)farg2->cptr; + (arg1)->set_neutron_counts((std::vector< float > const &)*arg2); +} + + +SWIGEXPORT int _wrap_Measurement_num_gamma_channels(SwigClassWrapper *farg1) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::OccupancyStatus result; + size_t result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::OccupancyStatus)((SpecUtils::Measurement const *)arg1)->occupied(); - fresult = (int)(result); + result = ((SpecUtils::Measurement const *)arg1)->num_gamma_channels(); + fresult = (size_t)(result); return fresult; } -SWIGEXPORT double _wrap_Measurement_gamma_count_sum(SwigClassWrapper *farg1) { - double fresult ; +SWIGEXPORT int _wrap_Measurement_find_gamma_channel(SwigClassWrapper *farg1, float const *farg2) { + int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; + size_t result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->gamma_count_sum(); - fresult = (double)(result); + arg2 = (float)(*farg2); + result = ((SpecUtils::Measurement const *)arg1)->find_gamma_channel(arg2); + fresult = (size_t)(result); return fresult; } -SWIGEXPORT float _wrap_Measurement_neutron_live_time(SwigClassWrapper *farg1) { +SWIGEXPORT float _wrap_Measurement_gamma_channel_content(SwigClassWrapper *farg1, int const *farg2) { float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; float result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->neutron_live_time(); + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_content(arg2); fresult = (float)(result); return fresult; } -SWIGEXPORT double _wrap_Measurement_neutron_counts_sum(SwigClassWrapper *farg1) { - double fresult ; +SWIGEXPORT float _wrap_Measurement_gamma_channel_lower(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; + float result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->neutron_counts_sum(); - fresult = (double)(result); + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_lower(arg2); + fresult = (float)(result); return fresult; } -SWIGEXPORT float _wrap_Measurement_speed(SwigClassWrapper *farg1) { +SWIGEXPORT float _wrap_Measurement_gamma_channel_center(SwigClassWrapper *farg1, int const *farg2) { float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; float result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->speed(); + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_center(arg2); fresult = (float)(result); return fresult; } -SWIGEXPORT float _wrap_Measurement_dx(SwigClassWrapper *farg1) { +SWIGEXPORT float _wrap_Measurement_gamma_channel_upper(SwigClassWrapper *farg1, int const *farg2) { float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; float result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->dx(); + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_upper(arg2); fresult = (float)(result); return fresult; } -SWIGEXPORT float _wrap_Measurement_dy(SwigClassWrapper *farg1) { +SWIGEXPORT float _wrap_Measurement_gamma_channel_width(SwigClassWrapper *farg1, int const *farg2) { float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; float result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->dy(); + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_width(arg2); fresult = (float)(result); return fresult; } -SWIGEXPORT double _wrap_Measurement_latitude(SwigClassWrapper *farg1) { +SWIGEXPORT double _wrap_Measurement_gamma_integral(SwigClassWrapper *farg1, float const *farg2, float const *farg3) { double fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + float arg3 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; double result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->latitude(); + arg2 = (float)(*farg2); + arg3 = (float)(*farg3); + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_integral(arg2,arg3); fresult = (double)(result); return fresult; } -SWIGEXPORT double _wrap_Measurement_longitude(SwigClassWrapper *farg1) { +SWIGEXPORT double _wrap_Measurement_gamma_channels_sum(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { double fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + size_t arg3 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; double result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->longitude(); + arg2 = (size_t)(*farg2); + arg3 = (size_t)(*farg3); + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_channels_sum(arg2,arg3); fresult = (double)(result); return fresult; } -SWIGEXPORT int _wrap_Measurement_has_gps_info(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; + std::shared_ptr< std::vector< float > const > *result = 0 ; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (bool)((SpecUtils::Measurement const *)arg1)->has_gps_info(); - fresult = (result ? 1 : 0); + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_energies(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT float _wrap_Measurement_dose_rate(SwigClassWrapper *farg1) { - float fresult ; +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_contents(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; + std::shared_ptr< std::vector< float > const > *result = 0 ; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->dose_rate(); - fresult = (float)(result); + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_contents(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT float _wrap_Measurement_exposure_rate(SwigClassWrapper *farg1) { +SWIGEXPORT float _wrap_Measurement_gamma_energy_min(SwigClassWrapper *farg1) { float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; @@ -2415,799 +2372,769 @@ SWIGEXPORT float _wrap_Measurement_exposure_rate(SwigClassWrapper *farg1) { smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->exposure_rate(); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_min(); fresult = (float)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_position_time(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT float _wrap_Measurement_gamma_energy_max(SwigClassWrapper *farg1) { + float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::time_point_t result; + float result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->position_time(); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_max(); + fresult = (float)(result); return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_name(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsDerived = (int)(SpecUtils::Measurement::DerivedDataProperties::IsDerived); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ItemOfInterestSum = (int)(SpecUtils::Measurement::DerivedDataProperties::ItemOfInterestSum); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_UsedForAnalysis = (int)(SpecUtils::Measurement::DerivedDataProperties::UsedForAnalysis); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ProcessedFurther = (int)(SpecUtils::Measurement::DerivedDataProperties::ProcessedFurther); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_BackgroundSubtracted = (int)(SpecUtils::Measurement::DerivedDataProperties::BackgroundSubtracted); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsBackground = (int)(SpecUtils::Measurement::DerivedDataProperties::IsBackground); + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_derived_data_properties(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; + uint32_t result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_name(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + result = ((SpecUtils::Measurement const *)arg1)->derived_data_properties(); + fresult.cptr = new (uint32_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT int _wrap_Measurement_detector_number(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_Measurement_write_2006_N42_xml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - int result; + bool result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (int)((SpecUtils::Measurement const *)arg1)->detector_number(); - fresult = (int)(result); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_2006_N42_xml(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_2006_N42_xml(*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_type(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT int _wrap_Measurement_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; + bool result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_type(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_csv(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_csv(*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_Measurement_quality_status(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_Measurement_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::QualityStatus result; + bool result; smartarg1 = (std::shared_ptr*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::QualityStatus)((SpecUtils::Measurement const *)arg1)->quality_status(); - fresult = (int)(result); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_txt(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_txt(*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_Measurement_source_type(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT void _wrap_Measurement_reset(SwigClassWrapper *farg1) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::SourceType result; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::SourceType)((SpecUtils::Measurement const *)arg1)->source_type(); - fresult = (int)(result); - return fresult; + (arg1)->reset(); } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_rebin(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< std::string > *result = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->remarks(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->rebin((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_parse_warnings(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_set_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< std::string > *result = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->parse_warnings(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->set_energy_calibration((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_set_info_from_2006_N42_spectrum_node(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::time_point_t *result = 0 ; + rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) (rapidxml::xml_node< char > *)0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::time_point_t *) &((SpecUtils::Measurement const *)arg1)->start_time(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "rapidxml::xml_node< char > *", "SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t", "SpecUtils::Measurement::set_info_from_2006_N42_spectrum_node(rapidxml::xml_node< char > const *const)", return ); + arg2 = *((rapidxml::xml_node< char > **)(farg2->cptr)); + (arg1)->set_info_from_2006_N42_spectrum_node((rapidxml::xml_node< char > const *)arg2); } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time_copy(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT float _wrap_Measurement_gamma_count_at(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::time_point_t result; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + float result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->start_time_copy(); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + arg2 = (int)(*farg2); + result = (float)SpecUtils_Measurement_gamma_count_at(arg1,arg2); + fresult = (float)(result); return fresult; } -SWIGEXPORT int _wrap_Measurement_energy_calibration_model(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_Measurement_get_num_channels(SwigClassWrapper *farg1) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::EnergyCalType result; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + size_t result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::EnergyCalType)((SpecUtils::Measurement const *)arg1)->energy_calibration_model(); - fresult = (int)(result); + result = SpecUtils_Measurement_get_num_channels(arg1); + fresult = (size_t)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_calibration_coeffs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_description(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< float > *result = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->calibration_coeffs(); - { - fresult.cptr = new std::shared_ptr >(result SWIG_NO_NULL_DELETER_0); - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + result = SpecUtils_Measurement_get_description(arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; } return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_deviation_pairs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_source(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< std::pair< float,float > > *result = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< std::pair< float,float > > *) &((SpecUtils::Measurement const *)arg1)->deviation_pairs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + result = SpecUtils_Measurement_get_source(arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_energy_calibration(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_start_time_string(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration const > > result; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->energy_calibration(); - fresult.cptr = new (std::shared_ptr< SpecUtils::EnergyCalibration const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + result = SpecUtils_Measurement_get_start_time_string(arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_channel_energies(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_set_start_time_from_string(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; + std::string arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->channel_energies(); - fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SpecUtils_Measurement_set_start_time_from_string(arg1,SWIG_STD_MOVE(arg2)); } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_counts(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; + std::string arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_counts(); - fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SpecUtils_Measurement_set_description(arg1,SWIG_STD_MOVE(arg2)); } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_neutron_counts(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_set_source(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< float > *result = 0 ; + std::string arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->neutron_counts(); - { - fresult.cptr = new std::shared_ptr >(result SWIG_NO_NULL_DELETER_0); - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - } - return fresult; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SpecUtils_Measurement_set_source(arg1,SWIG_STD_MOVE(arg2)); } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_location_state(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_Measurement_set_neutron_count(SwigClassWrapper *farg1, float const *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< SpecUtils::LocationState const > *result = 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< SpecUtils::LocationState const > *) &((SpecUtils::Measurement const *)arg1)->location_state(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + arg2 = (float)(*farg2); + SpecUtils_Measurement_set_neutron_count(arg1,arg2); } -SWIGEXPORT void _wrap_Measurement_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT float _wrap_Measurement_get_neutron_count(SwigClassWrapper *farg1) { + float fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string tempstr2 ; + float result; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_title((std::string const &)*arg2); + result = (float)SpecUtils_Measurement_get_neutron_count(arg1); + fresult = (float)(result); + return fresult; } -SWIGEXPORT void _wrap_Measurement_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT void _wrap_Measurement_set_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::time_point_t *arg2 = 0 ; + float *arg2 = (float *) 0 ; + size_t arg3 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_start_time(SpecUtils::time_point_t const &)", return ); - arg2 = (SpecUtils::time_point_t *)farg2->cptr; - (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2); + arg2 = (float *)farg2->data; + arg3 = farg2->size; + SpecUtils_Measurement_set_spectrum(arg1,(float const *)arg2,SWIG_STD_MOVE(arg3)); } -SWIGEXPORT void _wrap_Measurement_set_remarks(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT void _wrap_Measurement_get_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< std::string > *arg2 = 0 ; + float *arg2 = (float *) 0 ; + size_t arg3 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_remarks(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_remarks((std::vector< std::string > const &)*arg2); + arg2 = (float *)farg2->data; + arg3 = farg2->size; + SpecUtils_Measurement_get_spectrum(arg1,arg2,SWIG_STD_MOVE(arg3)); } -SWIGEXPORT void _wrap_Measurement_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< std::string > *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_parse_warnings(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); + (void)arg1; delete smartarg1; } -SWIGEXPORT void _wrap_Measurement_set_source_type(SwigClassWrapper *farg1, int const *farg2) { +SWIGEXPORT void _wrap_Measurement_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::SourceType arg2 ; + SpecUtils::Measurement *arg2 = 0 ; std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (SpecUtils::SourceType)(*farg2); - (arg1)->set_source_type(arg2); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_SpecUtils_Measurement>(farg1, *farg2); + } -SWIGEXPORT void _wrap_Measurement_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - double arg2 ; - double arg3 ; - SpecUtils::time_point_t arg4 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_0() { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (double)(*farg2); - arg3 = (double)(*farg3); - SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_position(double,double,SpecUtils::time_point_t)", return ); - arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); - (arg1)->set_position(arg2,arg3,arg4); + result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT void _wrap_Measurement_set_sample_number(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = 0 ; + SpecUtils::SpecFile *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (int)(*farg2); - (arg1)->set_sample_number(arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::SpecFile::SpecFile(SpecUtils::SpecFile const &)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile((SpecUtils::SpecFile const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT void _wrap_Measurement_set_occupancy_status(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::OccupancyStatus arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT void _wrap_delete_SpecFile(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (SpecUtils::OccupancyStatus)(*farg2); - (arg1)->set_occupancy_status(arg2); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + delete arg1; } -SWIGEXPORT void _wrap_Measurement_set_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; +SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3, SwigArrayWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + SpecUtils::ParserType arg3 ; + std::string arg4 ; std::string tempstr2 ; + bool result; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType,std::string)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; - (arg1)->set_detector_name((std::string const &)*arg2); + arg3 = (SpecUtils::ParserType)(*farg3); + (&arg4)->assign(static_cast(farg4->data), farg4->size); + result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3,arg4); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_Measurement_set_detector_number(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + SpecUtils::ParserType arg3 ; + std::string tempstr2 ; + bool result; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (int)(*farg2); - (arg1)->set_detector_number(arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + arg3 = (SpecUtils::ParserType)(*farg3); + result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, float const *farg3) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< float > *arg2 = 0 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_parse_warnings(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &,float const)", return ) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - arg3 = (float)(*farg3); - (arg1)->set_neutron_counts((std::vector< float > const &)*arg2,arg3); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::parse_warnings() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->parse_warnings(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< float > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT int _wrap_SpecFile_modified(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &)", return ) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - (arg1)->set_neutron_counts((std::vector< float > const &)*arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->modified(); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT size_t _wrap_Measurement_num_gamma_channels(SwigClassWrapper *farg1) { - size_t fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - size_t result; +SWIGEXPORT void _wrap_SpecFile_reset_modified(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->num_gamma_channels(); - fresult = (size_t)(result); - return fresult; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset_modified(); } -SWIGEXPORT size_t _wrap_Measurement_find_gamma_channel(SwigClassWrapper *farg1, float const *farg2) { - size_t fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - size_t result; +SWIGEXPORT int _wrap_SpecFile_modified_since_decode(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - result = ((SpecUtils::Measurement const *)arg1)->find_gamma_channel(arg2); - fresult = (size_t)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified_since_decode() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->modified_since_decode(); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT float _wrap_Measurement_gamma_channel_content(SwigClassWrapper *farg1, size_t const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; +SWIGEXPORT void _wrap_SpecFile_reset_modified_since_decode(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_content(arg2); - fresult = (float)(result); - return fresult; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified_since_decode()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset_modified_since_decode(); } -SWIGEXPORT float _wrap_Measurement_gamma_channel_lower(SwigClassWrapper *farg1, size_t const *farg2) { +SWIGEXPORT float _wrap_SpecFile_gamma_live_time(SwigClassWrapper *farg1) { float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; float result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_lower(arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_live_time() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_live_time(); fresult = (float)(result); return fresult; } -SWIGEXPORT float _wrap_Measurement_gamma_channel_center(SwigClassWrapper *farg1, size_t const *farg2) { +SWIGEXPORT float _wrap_SpecFile_gamma_real_time(SwigClassWrapper *farg1) { float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; float result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_center(arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_real_time() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_real_time(); fresult = (float)(result); return fresult; } -SWIGEXPORT float _wrap_Measurement_gamma_channel_upper(SwigClassWrapper *farg1, size_t const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; +SWIGEXPORT double _wrap_SpecFile_gamma_count_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_upper(arg2); - fresult = (float)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_count_sum() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->gamma_count_sum(); + fresult = (double)(result); return fresult; } -SWIGEXPORT float _wrap_Measurement_gamma_channel_width(SwigClassWrapper *farg1, size_t const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; +SWIGEXPORT double _wrap_SpecFile_neutron_counts_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_width(arg2); - fresult = (float)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_counts_sum() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->neutron_counts_sum(); + fresult = (double)(result); return fresult; } -SWIGEXPORT double _wrap_Measurement_gamma_integral(SwigClassWrapper *farg1, float const *farg2, float const *farg3) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_filename(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - arg3 = (float)(*farg3); - result = (double)((SpecUtils::Measurement const *)arg1)->gamma_integral(arg2,arg3); - fresult = (double)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::filename() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->filename(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT double _wrap_Measurement_gamma_channels_sum(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - size_t arg3 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - arg3 = (size_t)(*farg3); - result = (double)((SpecUtils::Measurement const *)arg1)->gamma_channels_sum(arg2,arg3); - fresult = (double)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_energies(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_numbers(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< int > *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_energies(); - fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_numbers() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< int > *) &((SpecUtils::SpecFile const *)arg1)->detector_numbers(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_contents(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_detector_names(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_contents(); - fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->gamma_detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT float _wrap_Measurement_gamma_energy_min(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_neutron_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_min(); - fresult = (float)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->neutron_detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT float _wrap_Measurement_gamma_energy_max(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_uuid(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_max(); - fresult = (float)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::uuid() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->uuid(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsDerived = (int)(SpecUtils::Measurement::DerivedDataProperties::IsDerived); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ItemOfInterestSum = (int)(SpecUtils::Measurement::DerivedDataProperties::ItemOfInterestSum); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_UsedForAnalysis = (int)(SpecUtils::Measurement::DerivedDataProperties::UsedForAnalysis); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ProcessedFurther = (int)(SpecUtils::Measurement::DerivedDataProperties::ProcessedFurther); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_BackgroundSubtracted = (int)(SpecUtils::Measurement::DerivedDataProperties::BackgroundSubtracted); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsBackground = (int)(SpecUtils::Measurement::DerivedDataProperties::IsBackground); - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_derived_data_properties(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_remarks(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - uint32_t result; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->derived_data_properties(); - fresult.cptr = new (uint32_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::remarks() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT int _wrap_Measurement_write_2006_N42_xml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_lane_number(SwigClassWrapper *farg1) { int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::ostream *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_2006_N42_xml(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::Measurement const *)arg1)->write_2006_N42_xml(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::lane_number() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)((SpecUtils::SpecFile const *)arg1)->lane_number(); + fresult = (int)(result); return fresult; } -SWIGEXPORT int _wrap_Measurement_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::ostream *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_location_name(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_csv(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::Measurement const *)arg1)->write_csv(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_location_name() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_location_name(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT int _wrap_Measurement_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::ostream *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_inspection(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_txt(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::Measurement const *)arg1)->write_txt(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::inspection() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->inspection(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT void _wrap_Measurement_reset(SwigClassWrapper *farg1) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_operator(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (arg1)->reset(); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_operator() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_operator(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_Measurement_rebin(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_numbers(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< int,std::less< int >,std::allocator< int > > *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::Measurement::rebin(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); - arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; - (arg1)->rebin((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_info_from_2006_N42_spectrum_node(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) (rapidxml::xml_node< char > *)0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_numbers() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::set< int,std::less< int >,std::allocator< int > > *) &((SpecUtils::SpecFile const *)arg1)->sample_numbers(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_num_measurements(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "rapidxml::xml_node< char > *", "SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t", "SpecUtils::Measurement::set_info_from_2006_N42_spectrum_node(rapidxml::xml_node< char > const *const)", return ); - arg2 = *((rapidxml::xml_node< char > **)(farg2->cptr)); - (arg1)->set_info_from_2006_N42_spectrum_node((rapidxml::xml_node< char > const *)arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_measurements() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->num_measurements(); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT float _wrap_Measurement_gamma_count_at(SwigClassWrapper *farg1, int const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - float result; +SWIGEXPORT int _wrap_SpecFile_detector_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::DetectorType result; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (int)(*farg2); - result = (float)SpecUtils_Measurement_gamma_count_at(arg1,arg2); - fresult = (float)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_type() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (SpecUtils::DetectorType)((SpecUtils::SpecFile const *)arg1)->detector_type(); + fresult = (int)(result); return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_description(SwigClassWrapper *farg1) { +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_type(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string result; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = SpecUtils_Measurement_get_description(arg1); - fresult.size = (&result)->size(); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_type() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_type(); + fresult.size = result->size(); if (fresult.size > 0) { fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); } else { fresult.data = NULL; } @@ -3215,19 +3142,18 @@ SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_description(SwigClassWrapper * } -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_source(SwigClassWrapper *farg1) { +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_manufacturer(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string result; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = SpecUtils_Measurement_get_source(arg1); - fresult.size = (&result)->size(); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::manufacturer() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->manufacturer(); + fresult.size = result->size(); if (fresult.size > 0) { fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); } else { fresult.data = NULL; } @@ -3235,19 +3161,18 @@ SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_source(SwigClassWrapper *farg1 } -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_start_time_string(SwigClassWrapper *farg1) { +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_model(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string result; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = SpecUtils_Measurement_get_start_time_string(arg1); - fresult.size = (&result)->size(); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_model() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_model(); + fresult.size = result->size(); if (fresult.size > 0) { fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); } else { fresult.data = NULL; } @@ -3255,2867 +3180,3076 @@ SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_start_time_string(SwigClassWra } -SWIGEXPORT void _wrap_Measurement_set_start_time_from_string(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SpecUtils_Measurement_set_start_time_from_string(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_Measurement_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SpecUtils_Measurement_set_description(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_Measurement_set_source(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SpecUtils_Measurement_set_source(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_Measurement_set_neutron_count(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - SpecUtils_Measurement_set_neutron_count(arg1,arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float *arg2 = (float *) 0 ; - size_t arg3 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float *)farg2->data; - arg3 = farg2->size; - SpecUtils_Measurement_set_spectrum(arg1,(float const *)arg2,SWIG_STD_MOVE(arg3)); -} - - -SWIGEXPORT void _wrap_Measurement_get_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float *arg2 = (float *) 0 ; - size_t arg3 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_id(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float *)farg2->data; - arg3 = farg2->size; - SpecUtils_Measurement_get_spectrum(arg1,arg2,SWIG_STD_MOVE(arg3)); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_id() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_id(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurements(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (void)arg1; delete smartarg1; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurements() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->measurements(); + fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; } -SWIGEXPORT void _wrap_Measurement_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::Measurement *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_SpecUtils_Measurement>(farg1, *farg2); +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > result; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(size_t) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_0() { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detectors_analysis(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::SpecFile *result = 0 ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::shared_ptr< SpecUtils::DetectorAnalysis const > > result; - result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detectors_analysis() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->detectors_analysis(); + fresult.cptr = new (std::shared_ptr< SpecUtils::DetectorAnalysis const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_1(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_multimedia_data(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = 0 ; - SpecUtils::SpecFile *result = 0 ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::SpecFile::SpecFile(SpecUtils::SpecFile const &)", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::multimedia_data() const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile((SpecUtils::SpecFile const &)*arg1); + result = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *) &((SpecUtils::SpecFile const *)arg1)->multimedia_data(); fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_delete_SpecFile(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_has_gps_info(SwigClassWrapper *farg1) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::has_gps_info() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - delete arg1; + result = (bool)((SpecUtils::SpecFile const *)arg1)->has_gps_info(); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3, SwigArrayWrapper *farg4) { - int fresult ; +SWIGEXPORT double _wrap_SpecFile_mean_latitude(SwigClassWrapper *farg1) { + double fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - SpecUtils::ParserType arg3 ; - std::string arg4 ; - std::string tempstr2 ; - bool result; + double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType,std::string)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_latitude() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - arg3 = (SpecUtils::ParserType)(*farg3); - (&arg4)->assign(static_cast(farg4->data), farg4->size); - result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3,arg4); - fresult = (result ? 1 : 0); + result = (double)((SpecUtils::SpecFile const *)arg1)->mean_latitude(); + fresult = (double)(result); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { - int fresult ; +SWIGEXPORT double _wrap_SpecFile_mean_longitude(SwigClassWrapper *farg1) { + double fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - SpecUtils::ParserType arg3 ; - std::string tempstr2 ; - bool result; + double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_longitude() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - arg3 = (SpecUtils::ParserType)(*farg3); - result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3); - fresult = (result ? 1 : 0); + result = (double)((SpecUtils::SpecFile const *)arg1)->mean_longitude(); + fresult = (double)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_parse_warnings(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_passthrough(SwigClassWrapper *farg1) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::parse_warnings() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::passthrough() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->parse_warnings(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + result = (bool)((SpecUtils::SpecFile const *)arg1)->passthrough(); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_modified(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_contains_derived_data(SwigClassWrapper *farg1) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_derived_data() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->modified(); + result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_derived_data(); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT void _wrap_SpecFile_reset_modified(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->reset_modified(); -} - - -SWIGEXPORT int _wrap_SpecFile_modified_since_decode(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_contains_non_derived_data(SwigClassWrapper *farg1) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified_since_decode() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_non_derived_data() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->modified_since_decode(); + result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_non_derived_data(); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT void _wrap_SpecFile_reset_modified_since_decode(SwigClassWrapper *farg1) { +SWIGEXPORT void _wrap_SpecFile_set_filename(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified_since_decode()", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_filename(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->reset_modified_since_decode(); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_filename((std::string const &)*arg2); } -SWIGEXPORT float _wrap_SpecFile_gamma_live_time(SwigClassWrapper *farg1) { - float fresult ; +SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float result; + std::vector< std::string > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_live_time() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_live_time(); - fresult = (float)(result); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_remarks((std::vector< std::string > const &)*arg2); } -SWIGEXPORT float _wrap_SpecFile_gamma_real_time(SwigClassWrapper *farg1) { - float fresult ; +SWIGEXPORT void _wrap_SpecFile_add_remark(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float result; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_real_time() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_remark(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_real_time(); - fresult = (float)(result); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->add_remark((std::string const &)*arg2); } -SWIGEXPORT double _wrap_SpecFile_gamma_count_sum(SwigClassWrapper *farg1) { - double fresult ; +SWIGEXPORT void _wrap_SpecFile_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; + std::vector< std::string > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_count_sum() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->gamma_count_sum(); - fresult = (double)(result); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); } -SWIGEXPORT double _wrap_SpecFile_neutron_counts_sum(SwigClassWrapper *farg1) { - double fresult ; +SWIGEXPORT void _wrap_SpecFile_set_uuid(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_counts_sum() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_uuid(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->neutron_counts_sum(); - fresult = (double)(result); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_uuid((std::string const &)*arg2); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_filename(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_lane_number(SwigClassWrapper *farg1, int const *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + int arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::filename() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_lane_number(int const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->filename(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + arg2 = (int)(*farg2); + (arg1)->set_lane_number(arg2); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_measurement_location_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_measurement_location_name(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->detector_names(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_measurement_location_name((std::string const &)*arg2); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_numbers(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_inspection(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< int > *result = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_numbers() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_inspection(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< int > *) &((SpecUtils::SpecFile const *)arg1)->detector_numbers(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_inspection((std::string const &)*arg2); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_detector_names(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_instrument_type(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_detector_names() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_type(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->gamma_detector_names(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_type((std::string const &)*arg2); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_neutron_detector_names(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_detector_type(SwigClassWrapper *farg1, int const *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; + SpecUtils::DetectorType arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_detector_names() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detector_type(SpecUtils::DetectorType const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->neutron_detector_names(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + arg2 = (SpecUtils::DetectorType)(*farg2); + (arg1)->set_detector_type(arg2); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_uuid(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_manufacturer(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::uuid() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_manufacturer(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->uuid(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_manufacturer((std::string const &)*arg2); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_remarks(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_instrument_model(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::remarks() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_model(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->remarks(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_model((std::string const &)*arg2); } -SWIGEXPORT int _wrap_SpecFile_lane_number(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_set_instrument_id(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int result; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::lane_number() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_id(std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (int)((SpecUtils::SpecFile const *)arg1)->lane_number(); - fresult = (int)(result); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_id((std::string const &)*arg2); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_location_name(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_live_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_location_name() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_live_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_location_name(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + arg2 = (float)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_live_time(arg2,arg3); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_inspection(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_real_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::inspection() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_real_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->inspection(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + arg2 = (float)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_real_time(arg2,arg3); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_operator(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + SpecUtils::time_point_t *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_operator() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_operator(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg2 = (SpecUtils::time_point_t *)farg2->cptr; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2,arg3); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_numbers(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< int,std::less< int >,std::allocator< int > > *result = 0 ; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_numbers() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::set< int,std::less< int >,std::allocator< int > > *) &((SpecUtils::SpecFile const *)arg1)->sample_numbers(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_remarks((std::vector< std::string > const &)*arg2,arg3); } -SWIGEXPORT size_t _wrap_SpecFile_num_measurements(SwigClassWrapper *farg1) { - size_t fresult ; +SWIGEXPORT void _wrap_SpecFile_set_source_type(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; + SpecUtils::SourceType arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_measurements() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_source_type(SpecUtils::SourceType const,std::shared_ptr< SpecUtils::Measurement const > const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->num_measurements(); - fresult = (size_t)(result); - return fresult; + arg2 = (SpecUtils::SourceType)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_source_type(arg2,arg3); } -SWIGEXPORT int _wrap_SpecFile_detector_type(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4, SwigClassWrapper const *farg5) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::DetectorType result; + double arg2 ; + double arg3 ; + SpecUtils::time_point_t arg4 ; + std::shared_ptr< SpecUtils::Measurement const > arg5 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_type() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (SpecUtils::DetectorType)((SpecUtils::SpecFile const *)arg1)->detector_type(); - fresult = (int)(result); - return fresult; + arg2 = (double)(*farg2); + arg3 = (double)(*farg3); + SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); + if (farg5->cptr) arg5 = *static_cast*>(farg5->cptr); + (arg1)->set_position(arg2,arg3,arg4,arg5); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_type(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_type() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_title(std::string const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_type(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_title((std::string const &)*arg2,arg3); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_manufacturer(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_contained_neutrons(SwigClassWrapper *farg1, int const *farg2, float const *farg3, SwigClassWrapper const *farg4, float const *farg5) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + bool arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > arg4 ; + float arg5 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::manufacturer() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_contained_neutrons(bool const,float const,std::shared_ptr< SpecUtils::Measurement const > const,float const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->manufacturer(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + arg2 = (*farg2 ? true : false); + arg3 = (float)(*farg3); + if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); + arg5 = (float)(*farg5); + (arg1)->set_contained_neutrons(arg2,arg3,arg4,arg5); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_model(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_set_detectors_analysis(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_model() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_model(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); + arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; + (arg1)->set_detectors_analysis((SpecUtils::DetectorAnalysis const &)*arg2); } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_id(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_change_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; + std::string *arg2 = 0 ; + std::string *arg3 = 0 ; + std::string tempstr2 ; + std::string tempstr3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_id() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_detector_name(std::string const &,std::string const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_id(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + (arg1)->change_detector_name((std::string const &)*arg2,(std::string const &)*arg3); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurements(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_change_sample_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; + std::vector< std::pair< int,int > > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurements() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->measurements(); - fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< int,int > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); + arg2 = (std::vector< std::pair< int,int > > *)farg2->cptr; + (arg1)->change_sample_numbers((std::vector< std::pair< int,int > > const &)*arg2); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > result; + std::shared_ptr< SpecUtils::Measurement > arg2 ; + bool arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(size_t) const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >,bool const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + arg3 = (*farg3 ? true : false); + (arg1)->add_measurement(arg2,arg3); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detectors_analysis(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::shared_ptr< SpecUtils::DetectorAnalysis const > > result; + std::shared_ptr< SpecUtils::Measurement > arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detectors_analysis() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->detectors_analysis(); - fresult.cptr = new (std::shared_ptr< SpecUtils::DetectorAnalysis const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + (arg1)->add_measurement(arg2); } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_multimedia_data(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_SpecFile_remove_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *result = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg2 ; + bool arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::multimedia_data() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurement(std::shared_ptr< SpecUtils::Measurement const >,bool const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *) &((SpecUtils::SpecFile const *)arg1)->multimedia_data(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + arg3 = (*farg3 ? true : false); + (arg1)->remove_measurement(arg2,arg3); } -SWIGEXPORT int _wrap_SpecFile_has_gps_info(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_remove_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; + std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::has_gps_info() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->has_gps_info(); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); + arg2 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg2->cptr; + (arg1)->remove_measurements((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg2); } -SWIGEXPORT double _wrap_SpecFile_mean_latitude(SwigClassWrapper *farg1) { - double fresult ; +SWIGEXPORT void _wrap_SpecFile_clear_multimedia_data(SwigClassWrapper *farg1) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_latitude() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::clear_multimedia_data()", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->mean_latitude(); - fresult = (double)(result); - return fresult; + (arg1)->clear_multimedia_data(); } -SWIGEXPORT double _wrap_SpecFile_mean_longitude(SwigClassWrapper *farg1) { - double fresult ; +SWIGEXPORT void _wrap_SpecFile_add_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; + SpecUtils::MultimediaData *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_longitude() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->mean_longitude(); - fresult = (double)(result); - return fresult; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::MultimediaData const &", "MultimediaData", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); + arg2 = (SpecUtils::MultimediaData *)farg2->cptr; + (arg1)->add_multimedia_data((SpecUtils::MultimediaData const &)*arg2); } -SWIGEXPORT int _wrap_SpecFile_passthrough(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_set_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; + std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::passthrough() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->passthrough(); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); + arg2 = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *)farg2->cptr; + (arg1)->set_multimedia_data(*arg2); } -SWIGEXPORT int _wrap_SpecFile_contains_derived_data(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_occupancy_number_from_remarks(SwigClassWrapper *farg1) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; + int result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_derived_data() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::occupancy_number_from_remarks() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_derived_data(); - fresult = (result ? 1 : 0); + result = (int)((SpecUtils::SpecFile const *)arg1)->occupancy_number_from_remarks(); + fresult = (int)(result); return fresult; } -SWIGEXPORT int _wrap_SpecFile_contains_non_derived_data(SwigClassWrapper *farg1) { - int fresult ; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_measurements(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; + int arg2 ; + SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_non_derived_data() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_measurements(int const) const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_non_derived_data(); - fresult = (result ? 1 : 0); + arg2 = (int)(*farg2); + result = ((SpecUtils::SpecFile const *)arg1)->sample_measurements(arg2); + fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_filename(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigArrayWrapper *farg3) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + int arg2 ; + std::string *arg3 = 0 ; + std::string tempstr3 ; + std::shared_ptr< SpecUtils::Measurement const > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_filename(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,std::string const &) const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_filename((std::string const &)*arg2); + arg2 = (int)(*farg2); + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,(std::string const &)*arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_2(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; + int arg2 ; + int arg3 ; + std::shared_ptr< SpecUtils::Measurement const > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,int const) const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_remarks((std::vector< std::string > const &)*arg2); + arg2 = (int)(*farg2); + arg3 = (int)(*farg3); + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; } -SWIGEXPORT void _wrap_SpecFile_add_remark(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_suggested_sum_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; + std::vector< std::string > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_remark(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->add_remark((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::string > *)farg3->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->suggested_sum_energy_calibration((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sum_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper const *farg4) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; + std::vector< std::string > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > arg4 ; + std::shared_ptr< SpecUtils::Measurement > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::string > *)farg3->cptr; + if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); + result = ((SpecUtils::SpecFile const *)arg1)->sum_measurements((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3,arg4); + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_uuid(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_memmorysize(SwigClassWrapper *farg1) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_uuid(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::memmorysize() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_uuid((std::string const &)*arg2); + result = ((SpecUtils::SpecFile const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_lane_number(SwigClassWrapper *farg1, int const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_channel_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; + SwigValueWrapper< std::set< size_t,std::less< size_t >,std::allocator< size_t > > > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_lane_number(int const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_channel_counts() const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - (arg1)->set_lane_number(arg2); + result = ((SpecUtils::SpecFile const *)arg1)->gamma_channel_counts(); + fresult.cptr = new (std::set< size_t,std::less< size_t >,std::allocator< size_t > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_measurement_location_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_num_gamma_channels(SwigClassWrapper *farg1) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_measurement_location_name(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_gamma_channels() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_measurement_location_name((std::string const &)*arg2); + result = ((SpecUtils::SpecFile const *)arg1)->num_gamma_channels(); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_inspection(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_keep_n_bin_spectra_only(SwigClassWrapper *farg1, int const *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + size_t arg2 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_inspection(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_n_bin_spectra_only(size_t)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_inspection((std::string const &)*arg2); + arg2 = (size_t)(*farg2); + result = (arg1)->keep_n_bin_spectra_only(arg2); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_instrument_type(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_contained_neutron(SwigClassWrapper *farg1) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_type(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contained_neutron() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_instrument_type((std::string const &)*arg2); + result = (bool)((SpecUtils::SpecFile const *)arg1)->contained_neutron(); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_detector_type(SwigClassWrapper *farg1, int const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_energy_cal_variants(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::DetectorType arg2 ; + SwigValueWrapper< std::set< std::string,std::less< std::string >,std::allocator< std::string > > > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detector_type(SpecUtils::DetectorType const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::energy_cal_variants() const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (SpecUtils::DetectorType)(*farg2); - (arg1)->set_detector_type(arg2); + result = ((SpecUtils::SpecFile const *)arg1)->energy_cal_variants(); + fresult.cptr = new (std::set< std::string,std::less< std::string >,std::allocator< std::string > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_manufacturer(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_keep_energy_cal_variants(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_manufacturer(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_manufacturer((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; + result = (arg1)->keep_energy_cal_variants((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_instrument_model(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_keep_derived_data_variant(SwigClassWrapper *farg1, int const *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + SpecUtils::SpecFile::DerivedVariantToKeep arg2 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_model(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_derived_data_variant(SpecUtils::SpecFile::DerivedVariantToKeep const)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_instrument_model((std::string const &)*arg2); + arg2 = (SpecUtils::SpecFile::DerivedVariantToKeep)(*farg2); + result = (arg1)->keep_derived_data_variant(arg2); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_instrument_id(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_remove_detectors_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_id(std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_instrument_id((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; + result = (arg1)->remove_detectors_data((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_live_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { +SWIGEXPORT int _wrap_SpecFile_remove_neutron_measurements(SwigClassWrapper *farg1) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_live_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_neutron_measurements()", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (float)(*farg2); - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_live_time(arg2,arg3); + result = (arg1)->remove_neutron_measurements(); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_real_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { +SWIGEXPORT int _wrap_SpecFile_background_sample_number(SwigClassWrapper *farg1) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; + int result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_real_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::background_sample_number() const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (float)(*farg2); - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_real_time(arg2,arg3); + result = (int)((SpecUtils::SpecFile const *)arg1)->background_sample_number(); + fresult = (int)(result); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_generate_psuedo_uuid(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::time_point_t *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; + std::string result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::generate_psuedo_uuid() const", return SwigArrayWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg2 = (SpecUtils::time_point_t *)farg2->cptr; - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2,arg3); + result = ((SpecUtils::SpecFile const *)arg1)->generate_psuedo_uuid(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { +SWIGEXPORT void _wrap_SpecFile_reset(SwigClassWrapper *farg1) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset()", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_remarks((std::vector< std::string > const &)*arg2,arg3); + (arg1)->reset(); } -SWIGEXPORT void _wrap_SpecFile_set_source_type(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper const *farg3) { +SWIGEXPORT int _wrap_SpecFile_load_N42_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::SourceType arg2 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_source_type(SpecUtils::SourceType const,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (SpecUtils::SourceType)(*farg2); - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_source_type(arg2,arg3); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_N42_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4, SwigClassWrapper const *farg5) { +SWIGEXPORT int _wrap_SpecFile_load_pcf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double arg2 ; - double arg3 ; - SpecUtils::time_point_t arg4 ; - std::shared_ptr< SpecUtils::Measurement const > arg5 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_pcf_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (double)(*farg2); - arg3 = (double)(*farg3); - SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); - if (farg5->cptr) arg5 = *static_cast*>(farg5->cptr); - (arg1)->set_position(arg2,arg3,arg4,arg5); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_pcf_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper const *farg3) { +SWIGEXPORT int _wrap_SpecFile_load_spc_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_title(std::string const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spc_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_title((std::string const &)*arg2,arg3); + result = (bool)(arg1)->load_spc_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_contained_neutrons(SwigClassWrapper *farg1, int const *farg2, float const *farg3, SwigClassWrapper const *farg4, float const *farg5) { +SWIGEXPORT int _wrap_SpecFile_load_chn_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool arg2 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement const > arg4 ; - float arg5 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_contained_neutrons(bool const,float const,std::shared_ptr< SpecUtils::Measurement const > const,float const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_chn_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (*farg2 ? true : false); - arg3 = (float)(*farg3); - if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); - arg5 = (float)(*farg5); - (arg1)->set_contained_neutrons(arg2,arg3,arg4,arg5); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_chn_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_detectors_analysis(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_iaea_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::DetectorAnalysis *arg2 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_iaea_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); - arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; - (arg1)->set_detectors_analysis((SpecUtils::DetectorAnalysis const &)*arg2); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_iaea_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_change_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { +SWIGEXPORT int _wrap_SpecFile_load_binary_exploranium_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; std::string *arg2 = 0 ; - std::string *arg3 = 0 ; std::string tempstr2 ; - std::string tempstr3 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_detector_name(std::string const &,std::string const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_binary_exploranium_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; - tempstr3 = std::string(static_cast(farg3->data), farg3->size); - arg3 = &tempstr3; - (arg1)->change_detector_name((std::string const &)*arg2,(std::string const &)*arg3); + result = (bool)(arg1)->load_binary_exploranium_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_change_sample_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_micro_raider_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::pair< int,int > > *arg2 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_micro_raider_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< int,int > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); - arg2 = (std::vector< std::pair< int,int > > *)farg2->cptr; - (arg1)->change_sample_numbers((std::vector< std::pair< int,int > > const &)*arg2); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_micro_raider_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { +SWIGEXPORT int _wrap_SpecFile_load_txt_or_csv_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::Measurement > arg2 ; - bool arg3 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >,bool const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_txt_or_csv_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); - arg3 = (*farg3 ? true : false); - (arg1)->add_measurement(arg2,arg3); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_txt_or_csv_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_cnf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::Measurement > arg2 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_cnf_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); - (arg1)->add_measurement(arg2); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_cnf_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_remove_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { +SWIGEXPORT int _wrap_SpecFile_load_tracs_mps_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg2 ; - bool arg3 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurement(std::shared_ptr< SpecUtils::Measurement const >,bool const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tracs_mps_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); - arg3 = (*farg3 ? true : false); - (arg1)->remove_measurement(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_remove_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); - arg2 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg2->cptr; - (arg1)->remove_measurements((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg2); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_tracs_mps_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_clear_multimedia_data(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_load_aram_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::clear_multimedia_data()", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_aram_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->clear_multimedia_data(); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_aram_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_add_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::MultimediaData *arg2 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spectroscopic_daily_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::MultimediaData const &", "MultimediaData", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); - arg2 = (SpecUtils::MultimediaData *)farg2->cptr; - (arg1)->add_multimedia_data((SpecUtils::MultimediaData const &)*arg2); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_spectroscopic_daily_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_amptek_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *arg2 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_amptek_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); - arg2 = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *)farg2->cptr; - (arg1)->set_multimedia_data(*arg2); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_amptek_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT int _wrap_SpecFile_occupancy_number_from_remarks(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_load_ortec_listmode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::occupancy_number_from_remarks() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_ortec_listmode_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (int)((SpecUtils::SpecFile const *)arg1)->occupancy_number_from_remarks(); - fresult = (int)(result); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_ortec_listmode_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_measurements(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_lsrm_spe_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_measurements(int const) const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lsrm_spe_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - result = ((SpecUtils::SpecFile const *)arg1)->sample_measurements(arg2); - fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_lsrm_spe_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigArrayWrapper *farg3) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_tka_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - std::string *arg3 = 0 ; - std::string tempstr3 ; - std::shared_ptr< SpecUtils::Measurement const > result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,std::string const &) const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tka_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - tempstr3 = std::string(static_cast(farg3->data), farg3->size); - arg3 = &tempstr3; - result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,(std::string const &)*arg3); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_tka_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_2(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_multiact_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - int arg3 ; - std::shared_ptr< SpecUtils::Measurement const > result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,int const) const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_multiact_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - arg3 = (int)(*farg3); - result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,arg3); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_multiact_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_suggested_sum_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_phd_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; - std::vector< std::string > *arg3 = 0 ; - SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration const > > result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_phd_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::string > *)farg3->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->suggested_sum_energy_calibration((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3); - fresult.cptr = new (std::shared_ptr< SpecUtils::EnergyCalibration const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_phd_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sum_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_lzs_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; - std::vector< std::string > *arg3 = 0 ; - SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration const > > arg4 ; - std::shared_ptr< SpecUtils::Measurement > result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lzs_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); - arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::string > *)farg3->cptr; - SWIG_check_nonnull(farg4->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const >", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); - arg4 = *((std::shared_ptr< SpecUtils::EnergyCalibration const > *)(farg4->cptr)); - result = ((SpecUtils::SpecFile const *)arg1)->sum_measurements((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3,arg4); - fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_lzs_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_SpecFile_memmorysize(SwigClassWrapper *farg1) { - size_t fresult ; +SWIGEXPORT int _wrap_SpecFile_load_radiacode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::memmorysize() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_radiacode_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->memmorysize(); - fresult = (size_t)(result); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_radiacode_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_channel_counts(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_xml_scan_data_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::set< size_t,std::less< size_t >,std::allocator< size_t > > > result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_channel_counts() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_xml_scan_data_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->gamma_channel_counts(); - fresult.cptr = new (std::set< size_t,std::less< size_t >,std::allocator< size_t > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_xml_scan_data_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_SpecFile_num_gamma_channels(SwigClassWrapper *farg1) { - size_t fresult ; +SWIGEXPORT int _wrap_SpecFile_load_json_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_gamma_channels() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_json_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->num_gamma_channels(); - fresult = (size_t)(result); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_json_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_SpecFile_keep_n_bin_spectra_only(SwigClassWrapper *farg1, size_t const *farg2) { - size_t fresult ; +SWIGEXPORT int _wrap_SpecFile_load_caen_gxml_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t arg2 ; - size_t result; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_n_bin_spectra_only(size_t)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_caen_gxml_file(std::string const &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = (arg1)->keep_n_bin_spectra_only(arg2); - fresult = (size_t)(result); + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_caen_gxml_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_contained_neutron(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_load_from_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contained_neutron() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->contained_neutron(); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_N42(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_energy_cal_variants(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::set< std::string,std::less< std::string >,std::allocator< std::string > > > result; + char *arg2 = (char *) 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::energy_cal_variants() const", return SwigClassWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->energy_cal_variants(); - fresult.cptr = new (std::set< std::string,std::less< std::string >,std::allocator< std::string > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + arg2 = (char *)(farg2->data); + result = (bool)(arg1)->load_N42_from_data(arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_SpecFile_keep_energy_cal_variants(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - size_t fresult ; +SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; - size_t result; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *,char *)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); - arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; - result = (arg1)->keep_energy_cal_variants((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); - fresult = (size_t)(result); + arg2 = (char *)(farg2->data); + arg3 = (char *)(farg3->data); + result = (bool)(arg1)->load_N42_from_data(arg2,arg3); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_SpecFile_keep_derived_data_variant(SwigClassWrapper *farg1, int const *farg2) { - size_t fresult ; +SWIGEXPORT int _wrap_SpecFile_load_from_iaea_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::SpecFile::DerivedVariantToKeep arg2 ; - size_t result; + std::istream *arg2 = 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_derived_data_variant(SpecUtils::SpecFile::DerivedVariantToKeep const)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (SpecUtils::SpecFile::DerivedVariantToKeep)(*farg2); - result = (arg1)->keep_derived_data_variant(arg2); - fresult = (size_t)(result); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_iaea_spc(*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_SpecFile_remove_detectors_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - size_t fresult ; +SWIGEXPORT int _wrap_SpecFile_load_from_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; - size_t result; + std::istream *arg2 = 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); - arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; - result = (arg1)->remove_detectors_data((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); - fresult = (size_t)(result); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_binary_spc(*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_SpecFile_remove_neutron_measurements(SwigClassWrapper *farg1) { - size_t fresult ; +SWIGEXPORT int _wrap_SpecFile_load_from_N42_document(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; + rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_neutron_measurements()", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42_document(rapidxml::xml_node< char > const *)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (arg1)->remove_neutron_measurements(); - fresult = (size_t)(result); + arg2 = (rapidxml::xml_node< char > *)farg2->cptr; + result = (bool)(arg1)->load_from_N42_document((rapidxml::xml_node< char > const *)arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_background_sample_number(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_load_from_micro_raider_from_data(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int result; + char *arg2 = (char *) 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::background_sample_number() const", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_micro_raider_from_data(char const *)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (int)((SpecUtils::SpecFile const *)arg1)->background_sample_number(); - fresult = (int)(result); + arg2 = (char *)(farg2->data); + result = (bool)(arg1)->load_from_micro_raider_from_data((char const *)arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_generate_psuedo_uuid(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; +SWIGEXPORT int _wrap_SpecFile_load_from_binary_exploranium(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string result; + std::istream *arg2 = 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::generate_psuedo_uuid() const", return SwigArrayWrapper_uninitialized()); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->generate_psuedo_uuid(); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_binary_exploranium(*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT void _wrap_SpecFile_reset(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_SpecFile_load_from_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset()", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->reset(); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_pcf(*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_N42_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_txt_or_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_N42_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_txt_or_csv(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_pcf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_Gr135_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_pcf_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_pcf_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_Gr135_txt(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_spc_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spc_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_spc_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_spectroscopic_daily_file(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_chn_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_srpm210_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_chn_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_chn_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_srpm210_csv(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_iaea_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_D3S_raw(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_iaea_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_iaea_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_D3S_raw(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_binary_exploranium_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_amptek_mca(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_binary_exploranium_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_binary_exploranium_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_amptek_mca(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_micro_raider_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_ortec_listmode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_micro_raider_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_micro_raider_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_ortec_listmode(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_txt_or_csv_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_lsrm_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_txt_or_csv_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_txt_or_csv_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_lsrm_spe(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_cnf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_cnf_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_cnf_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_tka(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_tracs_mps_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_multiact(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tracs_mps_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_tracs_mps_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_multiact(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_aram_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_phd(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_aram_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_aram_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_phd(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_lzs(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spectroscopic_daily_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_spectroscopic_daily_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_lzs(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_amptek_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_radiacode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_amptek_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_amptek_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_radiacode(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_ortec_listmode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_radiacode_spectrogram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_ortec_listmode_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_ortec_listmode_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_radiacode_spectrogram(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_lsrm_spe_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_xml_scan_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lsrm_spe_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_lsrm_spe_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_xml_scan_data(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_tka_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_iaea(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tka_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_tka_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_iaea(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_multiact_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_chn(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_multiact_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_multiact_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_chn(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_phd_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_phd_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_phd_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_cnf(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_lzs_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_tracs_mps(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lzs_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_lzs_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_tracs_mps(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_radiacode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_aram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_radiacode_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_radiacode_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_aram(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_xml_scan_data_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_json(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_xml_scan_data_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_xml_scan_data_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_json(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_json_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_load_from_caen_gxml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + std::istream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_json_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_json_file((std::string const &)*arg2); + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_caen_gxml(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_caen_gxml_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_RebinToCommonBinning = (int)(SpecUtils::SpecFile::RebinToCommonBinning); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_DontChangeOrReorderSamples = (int)(SpecUtils::SpecFile::DontChangeOrReorderSamples); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_ReorderSamplesByTime = (int)(SpecUtils::SpecFile::ReorderSamplesByTime); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_StandardCleanup = (int)(SpecUtils::SpecFile::StandardCleanup); + +SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; + unsigned int arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_caen_gxml_file(std::string const &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load(unsigned int const)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_caen_gxml_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; + arg2 = (unsigned int)(*farg2); + (arg1)->cleanup_after_load(arg2); } -SWIGEXPORT int _wrap_SpecFile_load_from_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_1(SwigClassWrapper *farg1) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load()", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_N42(*arg2); - fresult = (result ? 1 : 0); - return fresult; + (arg1)->cleanup_after_load(); } -SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_recalc_total_counts(SwigClassWrapper *farg1) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - char *arg2 = (char *) 0 ; - bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::recalc_total_counts()", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (char *)(farg2->data); - result = (bool)(arg1)->load_N42_from_data(arg2); - fresult = (result ? 1 : 0); - return fresult; + (arg1)->recalc_total_counts(); } -SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_merge_neutron_meas_into_gamma_meas(SwigClassWrapper *farg1) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *,char *)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::merge_neutron_meas_into_gamma_meas()", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (char *)(farg2->data); - arg3 = (char *)(farg3->data); - result = (bool)(arg1)->load_N42_from_data(arg2,arg3); - fresult = (result ? 1 : 0); - return fresult; + (arg1)->merge_neutron_meas_into_gamma_meas(); } -SWIGEXPORT int _wrap_SpecFile_load_from_iaea_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_rebin_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + std::shared_ptr< SpecUtils::Measurement const > tempnull3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_measurement(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_iaea_spc(*arg2); - fresult = (result ? 1 : 0); - return fresult; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + arg3 = farg3->cptr ? static_cast * >(farg3->cptr) : &tempnull3; + (arg1)->rebin_measurement((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::shared_ptr< SpecUtils::Measurement const > const &)*arg3); } -SWIGEXPORT int _wrap_SpecFile_load_from_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_rebin_all_measurements(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_all_measurements(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_binary_spc(*arg2); - fresult = (result ? 1 : 0); - return fresult; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->rebin_all_measurements((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); } -SWIGEXPORT int _wrap_SpecFile_load_from_N42_document(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_set_energy_calibration__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigClassWrapper const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) 0 ; - bool result; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + std::shared_ptr< SpecUtils::Measurement const > tempnull3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42_document(rapidxml::xml_node< char > const *)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_energy_calibration(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (rapidxml::xml_node< char > *)farg2->cptr; - result = (bool)(arg1)->load_from_N42_document((rapidxml::xml_node< char > const *)arg2); - fresult = (result ? 1 : 0); - return fresult; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + arg3 = farg3->cptr ? static_cast * >(farg3->cptr) : &tempnull3; + (arg1)->set_energy_calibration((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::shared_ptr< SpecUtils::Measurement const > const &)*arg3); } -SWIGEXPORT int _wrap_SpecFile_load_from_micro_raider_from_data(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_set_energy_calibration_from_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - char *arg2 = (char *) 0 ; - bool result; + std::istream *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_micro_raider_from_data(char const *)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (char *)(farg2->data); - result = (bool)(arg1)->load_from_micro_raider_from_data((char const *)arg2); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); + arg2 = (std::istream *)farg2->cptr; + (arg1)->set_energy_calibration_from_CALp_file(*arg2); } -SWIGEXPORT int _wrap_SpecFile_load_from_binary_exploranium(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names_to_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::vector< std::string > *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_binary_exploranium(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< std::string > *)farg2->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->detector_names_to_numbers((std::vector< std::string > const &)*arg2); + fresult.cptr = new (std::set< int,std::less< int >,std::allocator< int > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::string arg2 ; + SpecUtils::SaveSpectrumAsType arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,SpecUtils::SaveSpectrumAsType const) const", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_pcf(*arg2); - fresult = (result ? 1 : 0); - return fresult; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + arg3 = (SpecUtils::SaveSpectrumAsType)(*farg3); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3); } -SWIGEXPORT int _wrap_SpecFile_load_from_txt_or_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::string arg2 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_txt_or_csv(*arg2); - fresult = (result ? 1 : 0); - return fresult; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); } -SWIGEXPORT int _wrap_SpecFile_load_from_Gr135_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_2(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::string arg2 ; + SwigValueWrapper< std::vector< int > > arg3 ; + SwigValueWrapper< std::vector< int > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_Gr135_txt(*arg2); - fresult = (result ? 1 : 0); - return fresult; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SWIG_check_nonnull(farg3->cptr, "std::vector< int >", "SWIGTYPE_p_std__vectorT_int_t", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::vector< int > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< int >", "SWIGTYPE_p_std__vectorT_int_t", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::vector< int > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); } -SWIGEXPORT int _wrap_SpecFile_load_from_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_3(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::string *arg2 = 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg3 = 0 ; + std::vector< std::string > *arg4 = 0 ; + SpecUtils::SaveSpectrumAsType arg5 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_spectroscopic_daily_file(*arg2); - fresult = (result ? 1 : 0); - return fresult; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = (std::set< int,std::less< int >,std::allocator< int > > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = (std::vector< std::string > *)farg4->cptr; + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file((std::string const &)*arg2,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg3,(std::vector< std::string > const &)*arg4,arg5); } -SWIGEXPORT int _wrap_SpecFile_load_from_srpm210_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_write__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_srpm210_csv(*arg2); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,arg4,arg5); } -SWIGEXPORT int _wrap_SpecFile_load_from_D3S_raw(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT void _wrap_SpecFile_write__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::vector< std::string > *arg4 = 0 ; + SpecUtils::SaveSpectrumAsType arg5 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_D3S_raw(*arg2); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = (std::vector< std::string > *)farg4->cptr; + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,(std::vector< std::string > const &)*arg4,arg5); } -SWIGEXPORT int _wrap_SpecFile_load_from_amptek_mca(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_amptek_mca(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_pcf(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_ortec_listmode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_2006_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_ortec_listmode(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2006_N42(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_lsrm_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_lsrm_spe(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_csv(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_tka(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_txt(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_multiact(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_multiact(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_phd(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::vector< std::string > *arg4 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_phd(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg4 = (std::vector< std::string > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::vector< std::string > const &)*arg4); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_lzs(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, SwigClassWrapper *farg5) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::ostream *arg2 = 0 ; + SpecUtils::SpecFile::SpcBinaryType arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + std::set< int,std::less< int >,std::allocator< int > > *arg5 = 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_lzs(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + arg3 = (SpecUtils::SpecFile::SpcBinaryType)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + SWIG_check_nonnull(farg5->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg5 = (std::set< int,std::less< int >,std::allocator< int > > *)farg5->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_spc(*arg2,arg3,arg4,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg5); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_radiacode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_ascii_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_radiacode(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_ascii_spc(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_radiacode_spectrogram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr130v0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_radiacode_spectrogram(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr130v0(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_xml_scan_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr135v2(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_xml_scan_data(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr135v2(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_iaea(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_iaea_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_iaea(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_iaea_spe(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_chn(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_chn(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_cnf(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_cnf(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_tka(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_tracs_mps(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_2012N42_VERSION_get() { int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + int result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_tracs_mps(*arg2); - fresult = (result ? 1 : 0); + result = (int)(5); + fresult = (int)(result); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_aram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_create_2012_N42_xml(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + SwigValueWrapper< std::shared_ptr< ::rapidxml::xml_document< char > > > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::create_2012_N42_xml() const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_aram(*arg2); - fresult = (result ? 1 : 0); + result = ((SpecUtils::SpecFile const *)arg1)->create_2012_N42_xml(); + fresult.cptr = new (std::shared_ptr< ::rapidxml::xml_document< char > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_json(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_SpecFile_write_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; + std::ostream *arg2 = 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_json(*arg2); + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2012_N42(*arg2); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_load_from_caen_gxml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_mutex(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; + std::recursive_mutex *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mutex() const", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_caen_gxml(*arg2); - fresult = (result ? 1 : 0); + result = (std::recursive_mutex *) &((SpecUtils::SpecFile const *)arg1)->mutex(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_RebinToCommonBinning = (int)(SpecUtils::SpecFile::RebinToCommonBinning); - -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_DontChangeOrReorderSamples = (int)(SpecUtils::SpecFile::DontChangeOrReorderSamples); - -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_ReorderSamplesByTime = (int)(SpecUtils::SpecFile::ReorderSamplesByTime); - -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_StandardCleanup = (int)(SpecUtils::SpecFile::StandardCleanup); - -SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement_at(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - unsigned int arg2 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement const > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load(unsigned int const)", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::measurement_at(int)", return SwigClassWrapper_uninitialized()); arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (unsigned int)(*farg2); - (arg1)->cleanup_after_load(arg2); + arg2 = (int)(*farg2); + result = SpecUtils_SpecFile_measurement_at(arg1,arg2); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; } -SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_1(SwigClassWrapper *farg1) { +SWIGEXPORT void _wrap_SpecFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::SpecFile *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->cleanup_after_load(); } -SWIGEXPORT void _wrap_SpecFile_recalc_total_counts(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; +SWIGEXPORT void _wrap_DetectorAnalysisResult_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::recalc_total_counts()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->recalc_total_counts(); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->remark_ = *arg2; } -SWIGEXPORT void _wrap_SpecFile_merge_neutron_meas_into_gamma_meas(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_remark__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::merge_neutron_meas_into_gamma_meas()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->merge_neutron_meas_into_gamma_meas(); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->remark_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_SpecFile_rebin_measurement(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *arg3 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > tempnull3 ; +SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_measurement(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::SpecFile::rebin_measurement(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); - arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; - arg3 = farg3->cptr ? static_cast * >(farg3->cptr) : &tempnull3; - (arg1)->rebin_measurement((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::shared_ptr< SpecUtils::Measurement const > const &)*arg3); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->nuclide_ = *arg2; } -SWIGEXPORT void _wrap_SpecFile_rebin_all_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_all_measurements(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::SpecFile::rebin_all_measurements(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); - arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; - (arg1)->rebin_all_measurements((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->nuclide_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_SpecFile_set_energy_calibration_from_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; +SWIGEXPORT void _wrap_DetectorAnalysisResult_activity__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); - arg2 = (std::istream *)farg2->cptr; - (arg1)->set_energy_calibration_from_CALp_file(*arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->activity_ = arg2; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names_to_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > result; +SWIGEXPORT float _wrap_DetectorAnalysisResult_activity__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg2 = (std::vector< std::string > *)farg2->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->detector_names_to_numbers((std::vector< std::string > const &)*arg2); - fresult.cptr = new (std::set< int,std::less< int >,std::allocator< int > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->activity_); + fresult = (float)(result); return fresult; } -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string arg2 ; - SpecUtils::SaveSpectrumAsType arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - arg3 = (SpecUtils::SaveSpectrumAsType)(*farg3); - ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string arg2 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; - SpecUtils::SaveSpectrumAsType arg5 ; +SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->nuclide_type_ = *arg2; } -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_2(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string arg2 ; - std::vector< int > arg3 ; - std::vector< int > arg4 ; - SpecUtils::SaveSpectrumAsType arg5 ; +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide_type__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SWIG_check_nonnull(farg3->cptr, "std::vector< int >", "IntVector", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::vector< int > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::vector< int >", "IntVector", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = *((std::vector< int > *)(farg4->cptr)); - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->nuclide_type_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_3(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; +SWIGEXPORT void _wrap_DetectorAnalysisResult_id_confidence__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; std::string *arg2 = 0 ; - std::set< int,std::less< int >,std::allocator< int > > *arg3 = 0 ; - std::vector< std::string > *arg4 = 0 ; - SpecUtils::SaveSpectrumAsType arg5 ; std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = (std::set< int,std::less< int >,std::allocator< int > > *)farg3->cptr; - SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = (std::vector< std::string > *)farg4->cptr; - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write_to_file((std::string const &)*arg2,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg3,(std::vector< std::string > const &)*arg4,arg5); + if (arg1) (arg1)->id_confidence_ = *arg2; } -SWIGEXPORT void _wrap_SpecFile_write__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; - SpecUtils::SaveSpectrumAsType arg5 ; +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_id_confidence__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,arg4,arg5); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->id_confidence_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; } -SWIGEXPORT void _wrap_SpecFile_write__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::vector< std::string > *arg4 = 0 ; - SpecUtils::SaveSpectrumAsType arg5 ; +SWIGEXPORT void _wrap_DetectorAnalysisResult_distance__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = (std::vector< std::string > *)farg4->cptr; - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,(std::vector< std::string > const &)*arg4,arg5); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->distance_ = arg2; } -SWIGEXPORT int _wrap_SpecFile_write_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; +SWIGEXPORT float _wrap_DetectorAnalysisResult_distance__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_pcf(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->distance_); + fresult = (float)(result); return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_2006_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; +SWIGEXPORT void _wrap_DetectorAnalysisResult_dose_rate__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2006_N42(*arg2); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->dose_rate_ = arg2; } -SWIGEXPORT int _wrap_SpecFile_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; +SWIGEXPORT float _wrap_DetectorAnalysisResult_dose_rate__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_csv(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->dose_rate_); + fresult = (float)(result); return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; +SWIGEXPORT void _wrap_DetectorAnalysisResult_real_time__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_txt(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->real_time_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_real_time__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->real_time_); + fresult = (float)(result); return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; +SWIGEXPORT void _wrap_DetectorAnalysisResult_detector__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->detector_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_detector__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->detector_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::vector< std::string > *arg4 = 0 ; - bool result; +SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysisResult() { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysisResult *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg4 = (std::vector< std::string > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::vector< std::string > const &)*arg4); - fresult = (result ? 1 : 0); + result = (SpecUtils::DetectorAnalysisResult *)new SpecUtils::DetectorAnalysisResult(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, SwigClassWrapper *farg5) { +SWIGEXPORT void _wrap_DetectorAnalysisResult_reset(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::reset()", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + (arg1)->reset(); +} + + +SWIGEXPORT int _wrap_DetectorAnalysisResult_isEmpty(SwigClassWrapper *farg1) { int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SpecUtils::SpecFile::SpcBinaryType arg3 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; - std::set< int,std::less< int >,std::allocator< int > > *arg5 = 0 ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - arg3 = (SpecUtils::SpecFile::SpcBinaryType)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); - SWIG_check_nonnull(farg5->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg5 = (std::set< int,std::less< int >,std::allocator< int > > *)farg5->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_spc(*arg2,arg3,arg4,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg5); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult const *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::isEmpty() const", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (bool)((SpecUtils::DetectorAnalysisResult const *)arg1)->isEmpty(); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_ascii_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; +SWIGEXPORT void _wrap_delete_DetectorAnalysisResult(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_ascii_spc(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + SpecUtils::DetectorAnalysisResult *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_remarks__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::string > *arg2 = (std::vector< std::string > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< std::string > *)farg2->cptr; + if (arg1) (arg1)->remarks_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_remarks__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< std::string > *)& ((arg1)->remarks_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_name__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_name_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_name__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_name_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_component_versions__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::pair< std::string,std::string > > *arg2 = (std::vector< std::pair< std::string,std::string > > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< std::pair< std::string,std::string > > *)farg2->cptr; + if (arg1) (arg1)->algorithm_component_versions_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_algorithm_component_versions__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::pair< std::string,std::string > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< std::pair< std::string,std::string > > *)& ((arg1)->algorithm_component_versions_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_creator__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_creator_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_creator__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_creator_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_description_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_description__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_description_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_analysis_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::time_point_t arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); + arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); + if (arg1) (arg1)->analysis_start_time_ = arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_analysis_start_time__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::time_point_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = ((arg1)->analysis_start_time_); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_analysis_computation_duration__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->analysis_computation_duration_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysis_analysis_computation_duration__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return 0); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (float) ((arg1)->analysis_computation_duration_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_result_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_result_description_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_result_description__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_result_description_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_results__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< SpecUtils::DetectorAnalysisResult > *arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *)farg2->cptr; + if (arg1) (arg1)->results_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_results__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< SpecUtils::DetectorAnalysisResult > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< SpecUtils::DetectorAnalysisResult > *)& ((arg1)->results_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysis() { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *result = 0 ; + + result = (SpecUtils::DetectorAnalysis *)new SpecUtils::DetectorAnalysis(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr130v0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; +SWIGEXPORT void _wrap_DetectorAnalysis_reset(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr130v0(*arg2); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::reset()", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + (arg1)->reset(); } -SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr135v2(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_DetectorAnalysis_is_empty(SwigClassWrapper *farg1) { int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr135v2(*arg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::is_empty() const", return 0); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (bool)((SpecUtils::DetectorAnalysis const *)arg1)->is_empty(); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_iaea_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; +SWIGEXPORT void _wrap_delete_DetectorAnalysis(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_iaea_spe(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + delete arg1; } -SWIGEXPORT int _wrap_SpecFile_write_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; +SWIGEXPORT void _wrap_DetectorAnalysis_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_cnf(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; } -SWIGEXPORT int _wrap_SpecFile_write_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; +SWIGEXPORT void _wrap_MultimediaData_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_tka(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->remark_ = *arg2; } -SWIGEXPORT int _wrap_SpecFile_2012N42_VERSION_get() { - int fresult ; - int result; +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_remark__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; - result = (int)(5); - fresult = (int)(result); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->remark_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_create_2012_N42_xml(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::shared_ptr< ::rapidxml::xml_document< char > > > result; +SWIGEXPORT void _wrap_MultimediaData_descriptions__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::create_2012_N42_xml() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->create_2012_N42_xml(); - fresult.cptr = new (std::shared_ptr< ::rapidxml::xml_document< char > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->descriptions_ = *arg2; } -SWIGEXPORT int _wrap_SpecFile_write_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_descriptions__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2012_N42(*arg2); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->descriptions_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_mutex(SwigClassWrapper *farg1) { +SWIGEXPORT void _wrap_MultimediaData_data__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::vector< char > *arg2 = (std::vector< char > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + arg2 = (std::vector< char > *)farg2->cptr; + if (arg1) (arg1)->data_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_data__get(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::recursive_mutex *result = 0 ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::vector< char > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mutex() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::recursive_mutex *) &((SpecUtils::SpecFile const *)arg1)->mutex(); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::vector< char > *)& ((arg1)->data_); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement_at(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement const > result; +SWIGEXPORT void _wrap_MultimediaData_data_encoding__set(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData::EncodingType arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::measurement_at(int)", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - result = SpecUtils_SpecFile_measurement_at(arg1,arg2); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + arg2 = (SpecUtils::MultimediaData::EncodingType)(*farg2); + if (arg1) (arg1)->data_encoding_ = arg2; +} + + +SWIGEXPORT int _wrap_MultimediaData_data_encoding__get(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData::EncodingType result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return 0); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (SpecUtils::MultimediaData::EncodingType) ((arg1)->data_encoding_); + fresult = (int)(result); return fresult; } -SWIGEXPORT void _wrap_SpecFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::SpecFile *arg2 = 0 ; +SWIGEXPORT void _wrap_MultimediaData_capture_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::time_point_t arg2 ; - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::MultimediaData::capture_start_time_", return ); + arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); + if (arg1) (arg1)->capture_start_time_ = arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_capture_start_time__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::time_point_t result; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = ((arg1)->capture_start_time_); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; +SWIGEXPORT void _wrap_MultimediaData_file_uri__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; std::string *arg2 = 0 ; std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; - if (arg1) (arg1)->remark_ = *arg2; + if (arg1) (arg1)->file_uri_ = *arg2; } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_remark__get(SwigClassWrapper *farg1) { +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_file_uri__get(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->remark_); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->file_uri_); fresult.size = result->size(); if (fresult.size > 0) { fresult.data = malloc(fresult.size); @@ -6127,27 +6261,27 @@ SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_remark__get(SwigClassWr } -SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; +SWIGEXPORT void _wrap_MultimediaData_mime_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; std::string *arg2 = 0 ; std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; - if (arg1) (arg1)->nuclide_ = *arg2; + if (arg1) (arg1)->mime_type_ = *arg2; } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide__get(SwigClassWrapper *farg1) { +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_mime_type__get(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; std::string *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->nuclide_); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->mime_type_); fresult.size = result->size(); if (fresult.size > 0) { fresult.data = malloc(fresult.size); @@ -6159,1567 +6293,1610 @@ SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide__get(SwigClassW } -SWIGEXPORT void _wrap_DetectorAnalysisResult_activity__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float arg2 ; +SWIGEXPORT SwigClassWrapper _wrap_new_MultimediaData() { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->activity_ = arg2; + result = (SpecUtils::MultimediaData *)new SpecUtils::MultimediaData(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT float _wrap_DetectorAnalysisResult_activity__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float result; +SWIGEXPORT void _wrap_delete_MultimediaData(SwigClassWrapper *farg1) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->activity_); - fresult = (float)(result); - return fresult; + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + delete arg1; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->nuclide_type_ = *arg2; } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide_type__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { + SwigClassWrapper fresult ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->nuclide_type_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + result = (std::pair< float,float > *)new std::pair< float,float >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_id_confidence__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_1(float const *farg1, float const *farg2) { + SwigClassWrapper fresult ; + float arg1 ; + float arg2 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->id_confidence_ = *arg2; + arg1 = (float)(*farg1); + arg2 = (float)(*farg2); + result = (std::pair< float,float > *)new std::pair< float,float >(arg1,arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_id_confidence__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_2(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::pair< float,float > *arg1 = 0 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->id_confidence_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > const &", "DevPair", "std::pair< float,float >::pair(std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (std::pair< float,float > *)new std::pair< float,float >((std::pair< float,float > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_distance__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; +SWIGEXPORT void _wrap_DevPair_first_set(SwigClassWrapper *farg1, float const *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; float arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return ); + arg1 = (std::pair< float,float > *)farg1->cptr; arg2 = (float)(*farg2); - if (arg1) (arg1)->distance_ = arg2; + if (arg1) (arg1)->first = arg2; } -SWIGEXPORT float _wrap_DetectorAnalysisResult_distance__get(SwigClassWrapper *farg1) { +SWIGEXPORT float _wrap_DevPair_first_get(SwigClassWrapper *farg1) { float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; float result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->distance_); + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return 0); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (float) ((arg1)->first); fresult = (float)(result); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_dose_rate__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; +SWIGEXPORT void _wrap_DevPair_second_set(SwigClassWrapper *farg1, float const *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; float arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return ); + arg1 = (std::pair< float,float > *)farg1->cptr; arg2 = (float)(*farg2); - if (arg1) (arg1)->dose_rate_ = arg2; + if (arg1) (arg1)->second = arg2; } -SWIGEXPORT float _wrap_DetectorAnalysisResult_dose_rate__get(SwigClassWrapper *farg1) { +SWIGEXPORT float _wrap_DevPair_second_get(SwigClassWrapper *farg1) { float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; float result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->dose_rate_); + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return 0); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (float) ((arg1)->second); fresult = (float)(result); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_real_time__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float arg2 ; +SWIGEXPORT void _wrap_delete_DevPair(SwigClassWrapper *farg1) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->real_time_ = arg2; + arg1 = (std::pair< float,float > *)farg1->cptr; + delete arg1; } -SWIGEXPORT float _wrap_DetectorAnalysisResult_real_time__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float result; +SWIGEXPORT void _wrap_DevPair_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + std::pair< float,float > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->real_time_); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_detector__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_>(farg1, *farg2); - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->detector_ = *arg2; } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_detector__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->detector_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysisResult() { +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_1(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysisResult *result = 0 ; + std::vector< std::pair< float,float > > *arg1 = 0 ; + std::vector< std::pair< float,float > > *result = 0 ; - result = (SpecUtils::DetectorAnalysisResult *)new SpecUtils::DetectorAnalysisResult(); + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "std::vector< std::pair< float,float > >::vector(std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >((std::vector< std::pair< float,float > > const &)*arg1); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_reset(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_2(int const *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > >::size_type arg1 ; + std::vector< std::pair< float,float > > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::reset()", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - (arg1)->reset(); + arg1 = (std::vector< std::pair< float,float > >::size_type)(*farg1); + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT int _wrap_DetectorAnalysisResult_isEmpty(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - bool result; +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_3(int const *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > >::size_type arg1 ; + std::pair< float,float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult const *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::isEmpty() const", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (bool)((SpecUtils::DetectorAnalysisResult const *)arg1)->isEmpty(); - fresult = (result ? 1 : 0); + arg1 = (std::vector< std::pair< float,float > >::size_type)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::vector(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); + arg2 = (std::pair< float,float > *)farg2->cptr; + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(arg1,(std::pair< float,float > const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_delete_DetectorAnalysisResult(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; +SWIGEXPORT int _wrap_DeviationPairs_size(SwigClassWrapper *farg1) { + int fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type result; - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - delete arg1; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::size() const", return 0); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = ((std::vector< std::pair< float,float > > const *)arg1)->size(); + fresult = (std::vector< std::pair< float,float > >::size_type)(result); + return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysisResult_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - SpecUtils::DetectorAnalysisResult *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); +SWIGEXPORT int _wrap_DeviationPairs_capacity(SwigClassWrapper *farg1) { + int fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type result; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::capacity() const", return 0); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = ((std::vector< std::pair< float,float > > const *)arg1)->capacity(); + fresult = (std::vector< std::pair< float,float > >::size_type)(result); + return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysis_remarks__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::string > *arg2 = (std::vector< std::string > *) 0 ; +SWIGEXPORT int _wrap_DeviationPairs_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (std::vector< std::string > *)farg2->cptr; - if (arg1) (arg1)->remarks_ = *arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::empty() const", return 0); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (bool)((std::vector< std::pair< float,float > > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_remarks__get(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_front(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::string > *result = 0 ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::vector< std::string > *)& ((arg1)->remarks_); + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::front() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &((std::vector< std::pair< float,float > > const *)arg1)->front(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_name__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_name_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_name__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_back(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_name_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::back() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &((std::vector< std::pair< float,float > > const *)arg1)->back(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_component_versions__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::pair< std::string,std::string > > *arg2 = (std::vector< std::pair< std::string,std::string > > *) 0 ; +SWIGEXPORT void _wrap_DeviationPairs_reserve(SwigClassWrapper *farg1, int const *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (std::vector< std::pair< std::string,std::string > > *)farg2->cptr; - if (arg1) (arg1)->algorithm_component_versions_ = *arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::reserve(std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); + (arg1)->reserve(arg2); } -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_algorithm_component_versions__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::pair< std::string,std::string > > *result = 0 ; +SWIGEXPORT void _wrap_DeviationPairs_resize__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::vector< std::pair< std::string,std::string > > *)& ((arg1)->algorithm_component_versions_); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); + (arg1)->resize(arg2); } -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_creator__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT void _wrap_DeviationPairs_resize__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *arg3 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_creator_ = *arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg3 = (std::pair< float,float > *)farg3->cptr; + (arg1)->resize(arg2,(std::pair< float,float > const &)*arg3); } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_creator__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; +SWIGEXPORT void _wrap_DeviationPairs_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_creator_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::push_back(std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::push_back(std::pair< float,float > const &)", return ); + arg2 = (std::pair< float,float > *)farg2->cptr; + (arg1)->push_back((std::pair< float,float > const &)*arg2); } -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT void _wrap_DeviationPairs_pop_back(SwigClassWrapper *farg1) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_description_ = *arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::pop_back()", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + (arg1)->pop_back(); } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_description__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; +SWIGEXPORT void _wrap_DeviationPairs_clear(SwigClassWrapper *farg1) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_description_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::clear()", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + (arg1)->clear(); } -SWIGEXPORT void _wrap_DetectorAnalysis_analysis_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SpecUtils::time_point_t arg2 ; +SWIGEXPORT void _wrap_DeviationPairs_set(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *arg3 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); - arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); - if (arg1) (arg1)->analysis_start_time_ = arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::set(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::set(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg3 = (std::pair< float,float > *)farg3->cptr; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__set(arg1,SWIG_STD_MOVE(arg2),(std::pair< float,float > const &)*arg3); } -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_analysis_start_time__get(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_get(SwigClassWrapper *farg1, int const *farg2) { SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SpecUtils::time_point_t result; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = ((arg1)->analysis_start_time_); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::get(std::vector< std::pair< float,float > >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysis_analysis_computation_duration__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - float arg2 ; +SWIGEXPORT void _wrap_DeviationPairs_insert(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *arg3 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->analysis_computation_duration_ = arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::insert(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::insert(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg3 = (std::pair< float,float > *)farg3->cptr; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__insert(arg1,SWIG_STD_MOVE(arg2),(std::pair< float,float > const &)*arg3); } -SWIGEXPORT float _wrap_DetectorAnalysis_analysis_computation_duration__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - float result; +SWIGEXPORT void _wrap_DeviationPairs_erase__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return 0); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (float) ((arg1)->analysis_computation_duration_); - fresult = (float)(result); - return fresult; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::erase(std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); } -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_result_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT void _wrap_DeviationPairs_erase__SWIG_1(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::vector< std::pair< float,float > >::size_type arg3 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_result_description_ = *arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::erase(std::vector< std::pair< float,float > >::size_type,std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); } -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_result_description__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_front_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_result_description_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::front_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__front_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysis_results__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< SpecUtils::DetectorAnalysisResult > *arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *) 0 ; +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_back_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *)farg2->cptr; - if (arg1) (arg1)->results_ = *arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::back_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__back_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_results__get(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_get_ref(SwigClassWrapper *farg1, int const *farg2) { SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< SpecUtils::DetectorAnalysisResult > *result = 0 ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::vector< SpecUtils::DetectorAnalysisResult > *)& ((arg1)->results_); + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::get_ref(std::vector< std::pair< float,float > >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysis() { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *result = 0 ; +SWIGEXPORT void _wrap_delete_DeviationPairs(SwigClassWrapper *farg1) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - result = (SpecUtils::DetectorAnalysis *)new SpecUtils::DetectorAnalysis(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + delete arg1; } -SWIGEXPORT void _wrap_DetectorAnalysis_reset(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; +SWIGEXPORT void _wrap_DeviationPairs_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::reset()", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - (arg1)->reset(); + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign >, SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT int _wrap_EnergyCalibration_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + SpecUtils::EnergyCalType result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (SpecUtils::EnergyCalType)((SpecUtils::EnergyCalibration const *)arg1)->type(); + fresult = (int)(result); + return fresult; } -SWIGEXPORT int _wrap_DetectorAnalysis_is_empty(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_EnergyCalibration_valid(SwigClassWrapper *farg1) { int fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::is_empty() const", return 0); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (bool)((SpecUtils::DetectorAnalysis const *)arg1)->is_empty(); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->valid(); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT void _wrap_delete_DetectorAnalysis(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_coefficients(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + std::vector< float > *result = 0 ; - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - delete arg1; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::vector< float > *) &((SpecUtils::EnergyCalibration const *)arg1)->coefficients(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT void _wrap_DetectorAnalysis_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SpecUtils::DetectorAnalysis *arg2 = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_deviation_pairs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + std::vector< std::pair< float,float > > *result = 0 ; - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::vector< std::pair< float,float > > *) &((SpecUtils::EnergyCalibration const *)arg1)->deviation_pairs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::EnergyCalibration const *)arg1)->channel_energies(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; } -SWIGEXPORT void _wrap_MultimediaData_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT int _wrap_EnergyCalibration_num_channels(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->remark_ = *arg2; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = ((SpecUtils::EnergyCalibration const *)arg1)->num_channels(); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_remark__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; +SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibration() { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *result = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->remark_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + result = (SpecUtils::EnergyCalibration *)new SpecUtils::EnergyCalibration(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::EnergyCalibration >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; return fresult; } -SWIGEXPORT void _wrap_MultimediaData_descriptions__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT void _wrap_EnergyCalibration_set_polynomial(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->descriptions_ = *arg2; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); } -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_descriptions__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; +SWIGEXPORT void _wrap_EnergyCalibration_set_default_polynomial(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->descriptions_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_default_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); } -SWIGEXPORT void _wrap_MultimediaData_data__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::vector< char > *arg2 = (std::vector< char > *) 0 ; +SWIGEXPORT void _wrap_EnergyCalibration_set_full_range_fraction(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - arg2 = (std::vector< char > *)farg2->cptr; - if (arg1) (arg1)->data_ = *arg2; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_full_range_fraction(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); } -SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_data__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::vector< char > *result = 0 ; +SWIGEXPORT int _wrap_EnergyCalibration_op_lt__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::vector< char > *)& ((arg1)->data_); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator <(SpecUtils::EnergyCalibration const &) const", return 0) + arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator <((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT void _wrap_MultimediaData_data_encoding__set(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::MultimediaData::EncodingType arg2 ; +SWIGEXPORT int _wrap_EnergyCalibration_op_eq__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - arg2 = (SpecUtils::MultimediaData::EncodingType)(*farg2); - if (arg1) (arg1)->data_encoding_ = arg2; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator ==(SpecUtils::EnergyCalibration const &) const", return 0) + arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator ==((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; } -SWIGEXPORT int _wrap_MultimediaData_data_encoding__get(SwigClassWrapper *farg1) { +SWIGEXPORT int _wrap_EnergyCalibration_op_ne__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::MultimediaData::EncodingType result; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return 0); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (SpecUtils::MultimediaData::EncodingType) ((arg1)->data_encoding_); - fresult = (int)(result); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator !=(SpecUtils::EnergyCalibration const &) const", return 0) + arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator !=((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT void _wrap_MultimediaData_capture_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::time_point_t arg2 ; +SWIGEXPORT int _wrap_EnergyCalibration_memmorysize(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::MultimediaData::capture_start_time_", return ); - arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); - if (arg1) (arg1)->capture_start_time_ = arg2; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = ((SpecUtils::EnergyCalibration const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_capture_start_time__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::time_point_t result; +SWIGEXPORT double _wrap_EnergyCalibration_channel_for_energy(SwigClassWrapper *farg1, double const *farg2) { + double fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + double arg2 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = ((arg1)->capture_start_time_); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (double)(*farg2); + result = (double)((SpecUtils::EnergyCalibration const *)arg1)->channel_for_energy(arg2); + fresult = (double)(result); return fresult; } -SWIGEXPORT void _wrap_MultimediaData_file_uri__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT double _wrap_EnergyCalibration_energy_for_channel(SwigClassWrapper *farg1, double const *farg2) { + double fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + double arg2 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->file_uri_ = *arg2; + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (double)(*farg2); + result = (double)((SpecUtils::EnergyCalibration const *)arg1)->energy_for_channel(arg2); + fresult = (double)(result); + return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_file_uri__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; +SWIGEXPORT float _wrap_EnergyCalibration_lower_energy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + float result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->file_uri_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::EnergyCalibration const *)arg1)->lower_energy(); + fresult = (float)(result); return fresult; } -SWIGEXPORT void _wrap_MultimediaData_mime_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; +SWIGEXPORT float _wrap_EnergyCalibration_upper_energy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::EnergyCalibration const *)arg1)->upper_energy(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_sm_min_channels_get() { + int fresult ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->mime_type_ = *arg2; + result = (size_t)SpecUtils::EnergyCalibration::sm_min_channels; + fresult = (size_t)(result); + return fresult; } -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_mime_type__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; +SWIGEXPORT int _wrap_EnergyCalibration_sm_max_channels_get() { + int fresult ; + size_t result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->mime_type_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } + result = (size_t)SpecUtils::EnergyCalibration::sm_max_channels; + fresult = (size_t)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_MultimediaData() { - SwigClassWrapper fresult ; - SpecUtils::MultimediaData *result = 0 ; +SWIGEXPORT float _wrap_EnergyCalibration_sm_polynomial_offset_limit_get() { + float fresult ; + float result; - result = (SpecUtils::MultimediaData *)new SpecUtils::MultimediaData(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + result = (float)(float)SpecUtils::EnergyCalibration::sm_polynomial_offset_limit; + fresult = (float)(result); return fresult; } -SWIGEXPORT void _wrap_delete_MultimediaData(SwigClassWrapper *farg1) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; +SWIGEXPORT void _wrap_delete_EnergyCalibration(SwigClassWrapper *farg1) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - delete arg1; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + (void)arg1; delete smartarg1; } -SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::MultimediaData *arg2 = 0 ; +SWIGEXPORT void _wrap_EnergyCalibration_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - (void)sizeof(arg1); + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); + SWIG_assign, SWIGPOLICY_SpecUtils_EnergyCalibration>(farg1, *farg2); } -SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { +SWIGEXPORT SwigClassWrapper _wrap_energy_cal_combine_channels(SwigClassWrapper *farg1, int const *farg2) { SwigClassWrapper fresult ; - std::pair< float,float > *result = 0 ; + SpecUtils::EnergyCalibration *arg1 = 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::EnergyCalibration > result; - result = (std::pair< float,float > *)new std::pair< float,float >(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + SWIG_check_sp_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::energy_cal_combine_channels(SpecUtils::EnergyCalibration const &,size_t const)", return SwigClassWrapper_uninitialized()) + arg1 = (SpecUtils::EnergyCalibration*)static_cast*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + result = SpecUtils::energy_cal_combine_channels((SpecUtils::EnergyCalibration const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::EnergyCalibration >(static_cast< const std::shared_ptr< SpecUtils::EnergyCalibration >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_1(float const *farg1, float const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_polynomial_binning(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { SwigClassWrapper fresult ; - float arg1 ; - float arg2 ; - std::pair< float,float > *result = 0 ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; - arg1 = (float)(*farg1); - arg2 = (float)(*farg2); - result = (std::pair< float,float > *)new std::pair< float,float >(arg1,arg2); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = SpecUtils::polynomial_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_2(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_0(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, int const *farg4) { SwigClassWrapper fresult ; - std::pair< float,float > *arg1 = 0 ; - std::pair< float,float > *result = 0 ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + bool arg4 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > const &", "DevPair", "std::pair< float,float >::pair(std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::pair< float,float > *)farg1->cptr; - result = (std::pair< float,float > *)new std::pair< float,float >((std::pair< float,float > const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + arg4 = (*farg4 ? true : false); + result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3,arg4); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT void _wrap_DevPair_first_set(SwigClassWrapper *farg1, float const *farg2) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float arg2 ; +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return ); - arg1 = (std::pair< float,float > *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->first = arg2; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; } -SWIGEXPORT float _wrap_DevPair_first_get(SwigClassWrapper *farg1) { - float fresult ; - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float result; +SWIGEXPORT double _wrap_fullrangefraction_energy(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return 0); - arg1 = (std::pair< float,float > *)farg1->cptr; - result = (float) ((arg1)->first); - fresult = (float)(result); + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::fullrangefraction_energy(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); return fresult; } -SWIGEXPORT void _wrap_DevPair_second_set(SwigClassWrapper *farg1, float const *farg2) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float arg2 ; +SWIGEXPORT double _wrap_polynomial_energy(double const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + double result; - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return ); - arg1 = (std::pair< float,float > *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->second = arg2; + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = (double)SpecUtils::polynomial_energy(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3); + fresult = (double)(result); + return fresult; } -SWIGEXPORT float _wrap_DevPair_second_get(SwigClassWrapper *farg1) { - float fresult ; - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float result; +SWIGEXPORT double _wrap_deviation_pair_correction(double const *farg1, SwigClassWrapper *farg2) { + double fresult ; + double arg1 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + double result; - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return 0); - arg1 = (std::pair< float,float > *)farg1->cptr; - result = (float) ((arg1)->second); - fresult = (float)(result); + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::deviation_pair_correction(double const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = (double)SpecUtils::deviation_pair_correction(arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult = (double)(result); return fresult; } -SWIGEXPORT void _wrap_delete_DevPair(SwigClassWrapper *farg1) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; +SWIGEXPORT double _wrap_correction_due_to_dev_pairs(double const *farg1, SwigClassWrapper *farg2) { + double fresult ; + double arg1 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + double result; - arg1 = (std::pair< float,float > *)farg1->cptr; - delete arg1; + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::correction_due_to_dev_pairs(double const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = (double)SpecUtils::correction_due_to_dev_pairs(arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult = (double)(result); + return fresult; } -SWIGEXPORT void _wrap_DevPair_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - std::pair< float,float > *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_>(farg1, *farg2); +SWIGEXPORT SwigClassWrapper _wrap_apply_deviation_pair(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = SpecUtils::apply_deviation_pair((std::vector< float > const &)*arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; } -SWIGEXPORT int _wrap_EnergyCalibration_type(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalType result; +SWIGEXPORT SwigClassWrapper _wrap_polynomial_coef_to_fullrangefraction(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::type() const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = (SpecUtils::EnergyCalType)((SpecUtils::EnergyCalibration const *)arg1)->type(); - fresult = (int)(result); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_coef_to_fullrangefraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = SpecUtils::polynomial_coef_to_fullrangefraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT int _wrap_EnergyCalibration_valid(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - bool result; +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_coef_to_polynomial(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::valid() const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->valid(); - fresult = (result ? 1 : 0); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_coef_to_polynomial(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = SpecUtils::fullrangefraction_coef_to_polynomial((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_coefficients(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_mid_channel_polynomial_to_fullrangeFraction(SwigClassWrapper *farg1, int const *farg2) { SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::vector< float > *result = 0 ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::coefficients() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = (std::vector< float > *) &((SpecUtils::EnergyCalibration const *)arg1)->coefficients(); - { - fresult.cptr = new std::shared_ptr >(result SWIG_NO_NULL_DELETER_0); - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - } + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::mid_channel_polynomial_to_fullrangeFraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = SpecUtils::mid_channel_polynomial_to_fullrangeFraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_deviation_pairs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::vector< std::pair< float,float > > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::deviation_pairs() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = (std::vector< std::pair< float,float > > *) &((SpecUtils::EnergyCalibration const *)arg1)->deviation_pairs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); +SWIGEXPORT int _wrap_calibration_is_valid(int const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, int const *farg4) { + int fresult ; + SpecUtils::EnergyCalType arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + size_t arg4 ; + bool result; + + arg1 = (SpecUtils::EnergyCalType)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + arg4 = (size_t)(*farg4); + result = (bool)SpecUtils::calibration_is_valid(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3,SWIG_STD_MOVE(arg4)); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_channel_energies(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_polynomial_cal_remove_first_channels(int const *farg1, SwigClassWrapper *farg2) { SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; + int arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< float > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::channel_energies() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::EnergyCalibration const *)arg1)->channel_energies(); - fresult.cptr = *result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(*result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + arg1 = (int)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_cal_remove_first_channels(int const,std::vector< float > const &)", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< float > *)farg2->cptr; + result = SpecUtils::polynomial_cal_remove_first_channels(arg1,(std::vector< float > const &)*arg2); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT size_t _wrap_EnergyCalibration_num_channels(SwigClassWrapper *farg1) { - size_t fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t result; +SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, double const *farg5) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double arg5 ; + double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::num_channels() const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = ((SpecUtils::EnergyCalibration const *)arg1)->num_channels(); - fresult = (size_t)(result); + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + arg5 = (double)(*farg5); + result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); + fresult = (double)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibration() { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *result = 0 ; +SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; - result = (SpecUtils::EnergyCalibration *)new SpecUtils::EnergyCalibration(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); return fresult; } -SWIGEXPORT void _wrap_EnergyCalibration_set_polynomial(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t arg2 ; - std::vector< float > *arg3 = 0 ; +SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, double const *farg5) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; std::vector< std::pair< float,float > > *arg4 = 0 ; + double arg5 ; + double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - arg2 = (size_t)(*farg2); - SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ) - arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - (arg1)->set_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); + arg5 = (double)(*farg5); + result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); + fresult = (double)(result); + return fresult; } -SWIGEXPORT void _wrap_EnergyCalibration_set_default_polynomial(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t arg2 ; - std::vector< float > *arg3 = 0 ; +SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - arg2 = (size_t)(*farg2); - SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ) - arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - (arg1)->set_default_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); + result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); + return fresult; } -SWIGEXPORT void _wrap_EnergyCalibration_set_full_range_fraction(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t arg2 ; +SWIGEXPORT void _wrap_rebin_by_lower_edge(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + std::vector< float > *arg1 = 0 ; + std::vector< float > *arg2 = 0 ; std::vector< float > *arg3 = 0 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; + std::vector< float > *arg4 = 0 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - arg2 = (size_t)(*farg2); - SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ) - arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - (arg1)->set_full_range_fraction(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg2 = (std::vector< float > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< float > &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg4 = (std::vector< float > *)farg4->cptr; + SpecUtils::rebin_by_lower_edge((std::vector< float > const &)*arg1,(std::vector< float > const &)*arg2,(std::vector< float > const &)*arg3,*arg4); } -SWIGEXPORT int _wrap_EnergyCalibration_op_lt__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_write_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigArrayWrapper *farg3) { int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; + std::ostream *arg1 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::string *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + std::string tempstr3 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator <(SpecUtils::EnergyCalibration const &) const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator <(SpecUtils::EnergyCalibration const &) const", return 0); - arg2 = (SpecUtils::EnergyCalibration *)farg2->cptr; - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator <((SpecUtils::EnergyCalibration const &)*arg2); + SWIG_check_nonnull(farg1->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::write_CALp_file(std::ostream &,std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::string const &)", return 0); + arg1 = (std::ostream *)farg1->cptr; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + result = (bool)SpecUtils::write_CALp_file(*arg1,(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::string const &)*arg3); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_EnergyCalibration_op_eq__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_remove_file(SwigArrayWrapper *farg1) { int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; + std::string *arg1 = 0 ; + std::string tempstr1 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator ==(SpecUtils::EnergyCalibration const &) const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator ==(SpecUtils::EnergyCalibration const &) const", return 0); - arg2 = (SpecUtils::EnergyCalibration *)farg2->cptr; - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator ==((SpecUtils::EnergyCalibration const &)*arg2); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::remove_file((std::string const &)*arg1); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT int _wrap_EnergyCalibration_op_ne__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT int _wrap_is_file(SwigArrayWrapper *farg1) { int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; + std::string *arg1 = 0 ; + std::string tempstr1 ; bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator !=(SpecUtils::EnergyCalibration const &) const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator !=(SpecUtils::EnergyCalibration const &) const", return 0); - arg2 = (SpecUtils::EnergyCalibration *)farg2->cptr; - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator !=((SpecUtils::EnergyCalibration const &)*arg2); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::is_file((std::string const &)*arg1); fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_EnergyCalibration_memmorysize(SwigClassWrapper *farg1) { - size_t fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::memmorysize() const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = ((SpecUtils::EnergyCalibration const *)arg1)->memmorysize(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_EnergyCalibration_channel_for_energy(SwigClassWrapper *farg1, double const *farg2) { - double fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - double arg2 ; - double result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::channel_for_energy(double const) const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - arg2 = (double)(*farg2); - result = (double)((SpecUtils::EnergyCalibration const *)arg1)->channel_for_energy(arg2); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_EnergyCalibration_energy_for_channel(SwigClassWrapper *farg1, double const *farg2) { - double fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - double arg2 ; - double result; +SWIGEXPORT int _wrap_rename_file(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::energy_for_channel(double const) const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - arg2 = (double)(*farg2); - result = (double)((SpecUtils::EnergyCalibration const *)arg1)->energy_for_channel(arg2); - fresult = (double)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)SpecUtils::rename_file((std::string const &)*arg1,(std::string const &)*arg2); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT float _wrap_EnergyCalibration_lower_energy(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - float result; +SWIGEXPORT int _wrap_is_directory(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::lower_energy() const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = (float)((SpecUtils::EnergyCalibration const *)arg1)->lower_energy(); - fresult = (float)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::is_directory((std::string const &)*arg1); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT float _wrap_EnergyCalibration_upper_energy(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - float result; +SWIGEXPORT int _wrap_create_directory(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + int result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const *", "EnergyCalibration", "SpecUtils::EnergyCalibration::upper_energy() const", return 0); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - result = (float)((SpecUtils::EnergyCalibration const *)arg1)->upper_energy(); - fresult = (float)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (int)SpecUtils::create_directory((std::string const &)*arg1); + fresult = (int)(result); return fresult; } -SWIGEXPORT size_t _wrap_EnergyCalibration_sm_min_channels_get() { - size_t fresult ; - size_t result; +SWIGEXPORT int _wrap_can_rw_in_directory(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; - result = (size_t)SpecUtils::EnergyCalibration::sm_min_channels; - fresult = (size_t)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::can_rw_in_directory((std::string const &)*arg1); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT size_t _wrap_EnergyCalibration_sm_max_channels_get() { - size_t fresult ; - size_t result; +SWIGEXPORT SwigArrayWrapper _wrap_append_path(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + std::string result; - result = (size_t)SpecUtils::EnergyCalibration::sm_max_channels; - fresult = (size_t)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = SpecUtils::append_path((std::string const &)*arg1,(std::string const &)*arg2); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT float _wrap_EnergyCalibration_sm_polynomial_offset_limit_get() { - float fresult ; - float result; +SWIGEXPORT SwigArrayWrapper _wrap_filename(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; - result = (float)(float)SpecUtils::EnergyCalibration::sm_polynomial_offset_limit; - fresult = (float)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::filename((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT void _wrap_delete_EnergyCalibration(SwigClassWrapper *farg1) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_EnergyCalibration_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); - -} - - -SWIGEXPORT SwigClassWrapper _wrap_energy_cal_combine_channels(SwigClassWrapper *farg1, size_t const *farg2) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = 0 ; - size_t arg2 ; - SwigValueWrapper< std::shared_ptr< SpecUtils::EnergyCalibration > > result; +SWIGEXPORT SwigArrayWrapper _wrap_parent_path(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration const &", "EnergyCalibration", "SpecUtils::energy_cal_combine_channels(SpecUtils::EnergyCalibration const &,size_t const)", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::EnergyCalibration *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = SpecUtils::energy_cal_combine_channels((SpecUtils::EnergyCalibration const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = new (std::shared_ptr< SpecUtils::EnergyCalibration >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::parent_path((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_polynomial_binning(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - std::shared_ptr< std::vector< float > const > result; +SWIGEXPORT SwigArrayWrapper _wrap_file_extension(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - result = SpecUtils::polynomial_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); - fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::file_extension((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3, int const *farg4) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - bool arg4 ; - std::shared_ptr< std::vector< float > const > result; +SWIGEXPORT int _wrap_file_size(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + size_t result; - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - arg4 = (*farg4 ? true : false); - result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3,arg4); - fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::file_size((std::string const &)*arg1); + fresult = (size_t)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - std::shared_ptr< std::vector< float > const > result; +SWIGEXPORT SwigArrayWrapper _wrap_temp_dir() { + SwigArrayWrapper fresult ; + std::string result; - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); - fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + result = SpecUtils::temp_dir(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT double _wrap_fullrangefraction_energy(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double result; +SWIGEXPORT int _wrap_is_absolute_path(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; - arg1 = (double)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - result = (double)SpecUtils::fullrangefraction_energy(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); - fresult = (double)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::is_absolute_path((std::string const &)*arg1); + fresult = (result ? 1 : 0); return fresult; } -SWIGEXPORT double _wrap_polynomial_energy(double const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - double result; +SWIGEXPORT SwigArrayWrapper _wrap_get_working_path() { + SwigArrayWrapper fresult ; + std::string result; - arg1 = (double)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - result = (double)SpecUtils::polynomial_energy(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3); - fresult = (double)(result); + result = SpecUtils::get_working_path(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT double _wrap_deviation_pair_correction(double const *farg1, SwigClassWrapper *farg2) { - double fresult ; - double arg1 ; - std::vector< std::pair< float,float > > *arg2 = 0 ; - double result; +SWIGEXPORT SwigArrayWrapper _wrap_temp_file_name(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + std::string arg1 ; + std::string arg2 ; + std::string result; - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::deviation_pair_correction(double const,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; - result = (double)SpecUtils::deviation_pair_correction(arg1,(std::vector< std::pair< float,float > > const &)*arg2); - fresult = (double)(result); + (&arg1)->assign(static_cast(farg1->data), farg1->size); + (&arg2)->assign(static_cast(farg2->data), farg2->size); + result = SpecUtils::temp_file_name(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2)); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT double _wrap_correction_due_to_dev_pairs(double const *farg1, SwigClassWrapper *farg2) { - double fresult ; - double arg1 ; - std::vector< std::pair< float,float > > *arg2 = 0 ; - double result; +SWIGEXPORT int _wrap_sm_recursive_ls_max_depth_get() { + int fresult ; + size_t result; - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::correction_due_to_dev_pairs(double const,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; - result = (double)SpecUtils::correction_due_to_dev_pairs(arg1,(std::vector< std::pair< float,float > > const &)*arg2); - fresult = (double)(result); + result = (size_t)SpecUtils::sm_recursive_ls_max_depth; + fresult = (size_t)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_apply_deviation_pair(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - std::vector< std::pair< float,float > > *arg2 = 0 ; - std::shared_ptr< std::vector< float > const > result; +SWIGEXPORT int _wrap_sm_ls_max_results_get() { + int fresult ; + size_t result; - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; - result = SpecUtils::apply_deviation_pair((std::vector< float > const &)*arg1,(std::vector< std::pair< float,float > > const &)*arg2); - fresult.cptr = result ? (new std::shared_ptr >(static_cast< const std::shared_ptr >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + result = (size_t)SpecUtils::sm_ls_max_results; + fresult = (size_t)(result); return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_polynomial_coef_to_fullrangefraction(SwigClassWrapper *farg1, size_t const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_0(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< float > result; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + SwigValueWrapper< std::vector< std::string > > result; - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_coef_to_fullrangefraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - arg2 = (size_t)(*farg2); - result = SpecUtils::polynomial_coef_to_fullrangefraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = SpecUtils::recursive_ls((std::string const &)*arg1,(std::string const &)*arg2); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_coef_to_polynomial(SwigClassWrapper *farg1, size_t const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_1(SwigArrayWrapper *farg1) { SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< float > result; - - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::fullrangefraction_coef_to_polynomial(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - arg2 = (size_t)(*farg2); - result = SpecUtils::fullrangefraction_coef_to_polynomial((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + std::string *arg1 = 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::recursive_ls((std::string const &)*arg1); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_mid_channel_polynomial_to_fullrangeFraction(SwigClassWrapper *farg1, size_t const *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_2(SwigArrayWrapper *farg1, SpecUtils::file_match_function_t farg2, void const **farg3) { SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< float > result; - - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::mid_channel_polynomial_to_fullrangeFraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - arg2 = (size_t)(*farg2); - result = SpecUtils::mid_channel_polynomial_to_fullrangeFraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + std::string *arg1 = 0 ; + SpecUtils::file_match_function_t arg2 = (SpecUtils::file_match_function_t) 0 ; + void *arg3 = (void *) 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + arg2 = (SpecUtils::file_match_function_t)(*farg2); + arg3 = (void *)(*farg3); + result = SpecUtils::recursive_ls((std::string const &)*arg1,arg2,arg3); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT int _wrap_calibration_is_valid(int const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, size_t const *farg4) { - int fresult ; - SpecUtils::EnergyCalType arg1 ; - std::vector< float > *arg2 = 0 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - size_t arg4 ; - bool result; +SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_0(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + SwigValueWrapper< std::vector< std::string > > result; - arg1 = (SpecUtils::EnergyCalType)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - arg4 = (size_t)(*farg4); - result = (bool)SpecUtils::calibration_is_valid(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3,SWIG_STD_MOVE(arg4)); - fresult = (result ? 1 : 0); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = SpecUtils::ls_files_in_directory((std::string const &)*arg1,(std::string const &)*arg2); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT SwigClassWrapper _wrap_polynomial_cal_remove_first_channels(int const *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_1(SwigArrayWrapper *farg1) { SwigClassWrapper fresult ; - int arg1 ; - std::vector< float > *arg2 = 0 ; - std::vector< float > result; - - arg1 = (int)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::polynomial_cal_remove_first_channels(int const,std::vector< float > const &)", return SwigClassWrapper_uninitialized()) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - result = SpecUtils::polynomial_cal_remove_first_channels(arg1,(std::vector< float > const &)*arg2); - fresult.cptr = new std::shared_ptr< std::vector >((new std::vector< float >(static_cast< const std::vector< float >& >(result)))); - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + std::string *arg1 = 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::ls_files_in_directory((std::string const &)*arg1); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4, double const *farg5) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double arg5 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - arg5 = (double)(*farg5); - result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); - fresult = (double)(result); +SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_2(SwigArrayWrapper *farg1, SpecUtils::file_match_function_t farg2, void const **farg3) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + SpecUtils::file_match_function_t arg2 = (SpecUtils::file_match_function_t) 0 ; + void *arg3 = (void *) 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + arg2 = (SpecUtils::file_match_function_t)(*farg2); + arg3 = (void *)(*farg3); + result = SpecUtils::ls_files_in_directory((std::string const &)*arg1,arg2,arg3); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); - fresult = (double)(result); +SWIGEXPORT SwigClassWrapper _wrap_ls_directories_in_directory(SwigArrayWrapper *farg1) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::ls_directories_in_directory((std::string const &)*arg1); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; return fresult; } -SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4, double const *farg5) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double arg5 ; - double result; +SWIGEXPORT SwigArrayWrapper _wrap_fs_relative(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + std::string arg1 ; + std::string arg2 ; + std::string result; - arg1 = (double)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - arg5 = (double)(*farg5); - result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); - fresult = (double)(result); + (&arg1)->assign(static_cast(farg1->data), farg1->size); + (&arg2)->assign(static_cast(farg2->data), farg2->size); + result = SpecUtils::fs_relative(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2)); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, size_t const *farg3, SwigClassWrapper *farg4) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double result; +SWIGEXPORT SwigArrayWrapper _wrap_lexically_normalize_path(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; - arg1 = (double)(*farg1); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); - fresult = (double)(result); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::lexically_normalize_path((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } return fresult; } -SWIGEXPORT void _wrap_rebin_by_lower_edge(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - std::vector< float > *arg1 = 0 ; - std::vector< float > *arg2 = 0 ; - std::vector< float > *arg3 = 0 ; - std::vector< float > *arg4 = 0 ; +SWIGEXPORT void _wrap_load_file_data(SwigArrayWrapper *farg1, SwigClassWrapper *farg2) { + char *arg1 = (char *) (char *)0 ; + std::vector< char > *arg2 = 0 ; - SWIG_check_sp_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) - arg1 = (std::vector*)static_cast >*>(farg1->cptr)->get(); - SWIG_check_sp_nonnull(farg2->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) - arg2 = (std::vector*)static_cast >*>(farg2->cptr)->get(); - SWIG_check_sp_nonnull(farg3->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) - arg3 = (std::vector*)static_cast >*>(farg3->cptr)->get(); - SWIG_check_sp_nonnull(farg4->cptr, "std::vector< float > *", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ) - arg4 = (std::vector*)static_cast >*>(farg4->cptr)->get(); - SpecUtils::rebin_by_lower_edge((std::vector< float > const &)*arg1,(std::vector< float > const &)*arg2,(std::vector< float > const &)*arg3,*arg4); + arg1 = (char *)(farg1->data); + SWIG_check_nonnull(farg2->cptr, "std::vector< char > &", "SWIGTYPE_p_std__vectorT_char_t", "SpecUtils::load_file_data(char const *const,std::vector< char > &)", return ); + arg2 = (std::vector< char > *)farg2->cptr; + SpecUtils::load_file_data((char const *)arg1,*arg2); } -SWIGEXPORT int _wrap_write_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigArrayWrapper *farg3) { +SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { int fresult ; - std::ostream *arg1 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::string *arg3 = 0 ; - std::string tempstr3 ; + std::string *arg1 = 0 ; + std::string tempstr1 ; bool result; - SWIG_check_nonnull(farg1->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::write_CALp_file(std::ostream &,std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::string const &)", return 0); - arg1 = (std::ostream *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::shared_ptr< SpecUtils::EnergyCalibration const > const &", "SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z", "SpecUtils::write_CALp_file(std::ostream &,std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::string const &)", return 0); - arg2 = (std::shared_ptr< SpecUtils::EnergyCalibration const > *)farg2->cptr; - tempstr3 = std::string(static_cast(farg3->data), farg3->size); - arg3 = &tempstr3; - result = (bool)SpecUtils::write_CALp_file(*arg1,(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::string const &)*arg3); + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::likely_not_spec_file((std::string const &)*arg1); fresult = (result ? 1 : 0); return fresult; } diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 9ae8aa2..2b96ad1 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -16,64 +16,6 @@ module specutilswrap type(C_PTR), public :: cptr = C_NULL_PTR integer(C_INT), public :: cmemflags = 0 end type - ! class std::vector< int > - type, public :: IntVector - type(SwigClassWrapper), public :: swigdata - contains - procedure :: size => swigf_IntVector_size - procedure :: capacity => swigf_IntVector_capacity - procedure :: empty => swigf_IntVector_empty - procedure :: front => swigf_IntVector_front - procedure :: back => swigf_IntVector_back - procedure :: reserve => swigf_IntVector_reserve - procedure, private :: swigf_IntVector_resize__SWIG_0 - procedure, private :: swigf_IntVector_resize__SWIG_1 - procedure :: push_back => swigf_IntVector_push_back - procedure :: pop_back => swigf_IntVector_pop_back - procedure :: clear => swigf_IntVector_clear - procedure :: set => swigf_IntVector_set - procedure :: get => swigf_IntVector_get - procedure :: insert => swigf_IntVector_insert - procedure, private :: swigf_IntVector_erase__SWIG_0 - procedure, private :: swigf_IntVector_erase__SWIG_1 - procedure :: front_ref => swigf_IntVector_front_ref - procedure :: back_ref => swigf_IntVector_back_ref - procedure :: get_ref => swigf_IntVector_get_ref - procedure :: release => swigf_IntVector_release - procedure, private :: swigf_IntVector_op_assign__ - generic :: resize => swigf_IntVector_resize__SWIG_0, swigf_IntVector_resize__SWIG_1 - generic :: assignment(=) => swigf_IntVector_op_assign__ - generic :: erase => swigf_IntVector_erase__SWIG_0, swigf_IntVector_erase__SWIG_1 - end type IntVector - ! class std::vector< double > - type, public :: DoubleVector - type(SwigClassWrapper), public :: swigdata - contains - procedure :: size => swigf_DoubleVector_size - procedure :: capacity => swigf_DoubleVector_capacity - procedure :: empty => swigf_DoubleVector_empty - procedure :: front => swigf_DoubleVector_front - procedure :: back => swigf_DoubleVector_back - procedure :: reserve => swigf_DoubleVector_reserve - procedure, private :: swigf_DoubleVector_resize__SWIG_0 - procedure, private :: swigf_DoubleVector_resize__SWIG_1 - procedure :: push_back => swigf_DoubleVector_push_back - procedure :: pop_back => swigf_DoubleVector_pop_back - procedure :: clear => swigf_DoubleVector_clear - procedure :: set => swigf_DoubleVector_set - procedure :: get => swigf_DoubleVector_get - procedure :: insert => swigf_DoubleVector_insert - procedure, private :: swigf_DoubleVector_erase__SWIG_0 - procedure, private :: swigf_DoubleVector_erase__SWIG_1 - procedure :: front_ref => swigf_DoubleVector_front_ref - procedure :: back_ref => swigf_DoubleVector_back_ref - procedure :: get_ref => swigf_DoubleVector_get_ref - procedure :: release => swigf_DoubleVector_release - procedure, private :: swigf_DoubleVector_op_assign__ - generic :: resize => swigf_DoubleVector_resize__SWIG_0, swigf_DoubleVector_resize__SWIG_1 - generic :: assignment(=) => swigf_DoubleVector_op_assign__ - generic :: erase => swigf_DoubleVector_erase__SWIG_0, swigf_DoubleVector_erase__SWIG_1 - end type DoubleVector ! class std::vector< float > type, public :: FloatVector type(SwigClassWrapper), public :: swigdata @@ -310,10 +252,7 @@ module specutilswrap type(SwigClassWrapper), public :: swigdata end type integer, parameter, public :: SWIGTYPE_SpecUtils__EnergyCalType = C_INT - type, public :: SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z + type, public :: SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t type(SwigClassWrapper), public :: swigdata end type type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t @@ -415,8 +354,10 @@ module specutilswrap procedure :: write_txt => swigf_Measurement_write_txt procedure :: reset => swigf_Measurement_reset procedure :: rebin => swigf_Measurement_rebin + procedure :: set_energy_calibration => swigf_Measurement_set_energy_calibration procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node procedure :: gamma_count_at => swigf_Measurement_gamma_count_at + procedure :: get_num_channels => swigf_Measurement_get_num_channels procedure :: get_description => swigf_Measurement_get_description procedure :: get_source => swigf_Measurement_get_source procedure :: get_start_time_string => swigf_Measurement_get_start_time_string @@ -424,6 +365,7 @@ module specutilswrap procedure :: set_description => swigf_Measurement_set_description procedure :: set_source => swigf_Measurement_set_source procedure :: set_neutron_count => swigf_Measurement_set_neutron_count + procedure :: get_neutron_count => swigf_Measurement_get_neutron_count procedure :: set_spectrum => swigf_Measurement_set_spectrum procedure :: get_spectrum => swigf_Measurement_get_spectrum procedure :: release => swigf_Measurement_release @@ -431,6 +373,9 @@ module specutilswrap generic :: assignment(=) => swigf_Measurement_op_assign__ generic :: set_neutron_counts => swigf_Measurement_set_neutron_counts__SWIG_0, swigf_Measurement_set_neutron_counts__SWIG_1 end type Measurement + type, public :: SWIGTYPE_p_std__vectorT_int_t + type(SwigClassWrapper), public :: swigdata + end type type, public :: SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2 type(SwigClassWrapper), public :: swigdata end type @@ -640,6 +585,7 @@ module specutilswrap procedure :: merge_neutron_meas_into_gamma_meas => swigf_SpecFile_merge_neutron_meas_into_gamma_meas procedure :: rebin_measurement => swigf_SpecFile_rebin_measurement procedure :: rebin_all_measurements => swigf_SpecFile_rebin_all_measurements + procedure, private :: swigf_SpecFile_set_energy_calibration__SWIG_0 procedure :: set_energy_calibration_from_CALp_file => swigf_SpecFile_set_energy_calibration_from_CALp_file procedure :: detector_names_to_numbers => swigf_SpecFile_detector_names_to_numbers procedure, private :: swigf_SpecFile_write_to_file__SWIG_0 @@ -671,6 +617,7 @@ module specutilswrap generic :: write => swigf_SpecFile_write__SWIG_0, swigf_SpecFile_write__SWIG_1 generic :: write_integer_chn => swigf_SpecFile_write_integer_chn__SWIG_0, swigf_SpecFile_write_integer_chn__SWIG_1 generic :: cleanup_after_load => swigf_SpecFile_cleanup_after_load__SWIG_0, swigf_SpecFile_cleanup_after_load__SWIG_1 + generic :: set_energy_calibration => swigf_SpecFile_set_energy_calibration__SWIG_0 generic :: add_measurement => swigf_SpecFile_add_measurement__SWIG_0, swigf_SpecFile_add_measurement__SWIG_1 generic :: assignment(=) => swigf_SpecFile_op_assign__ generic :: set_remarks => swigf_SpecFile_set_remarks__SWIG_0, swigf_SpecFile_set_remarks__SWIG_1 @@ -787,6 +734,35 @@ module specutilswrap procedure, private :: swigf_DevPair_op_assign__ generic :: assignment(=) => swigf_DevPair_op_assign__ end type DevPair + ! class std::vector< std::pair< float,float > > + type, public :: DeviationPairs + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_DeviationPairs_size + procedure :: capacity => swigf_DeviationPairs_capacity + procedure :: empty => swigf_DeviationPairs_empty + procedure :: front => swigf_DeviationPairs_front + procedure :: back => swigf_DeviationPairs_back + procedure :: reserve => swigf_DeviationPairs_reserve + procedure, private :: swigf_DeviationPairs_resize__SWIG_0 + procedure, private :: swigf_DeviationPairs_resize__SWIG_1 + procedure :: push_back => swigf_DeviationPairs_push_back + procedure :: pop_back => swigf_DeviationPairs_pop_back + procedure :: clear => swigf_DeviationPairs_clear + procedure :: set => swigf_DeviationPairs_set + procedure :: get => swigf_DeviationPairs_get + procedure :: insert => swigf_DeviationPairs_insert + procedure, private :: swigf_DeviationPairs_erase__SWIG_0 + procedure, private :: swigf_DeviationPairs_erase__SWIG_1 + procedure :: front_ref => swigf_DeviationPairs_front_ref + procedure :: back_ref => swigf_DeviationPairs_back_ref + procedure :: get_ref => swigf_DeviationPairs_get_ref + procedure :: release => swigf_DeviationPairs_release + procedure, private :: swigf_DeviationPairs_op_assign__ + generic :: resize => swigf_DeviationPairs_resize__SWIG_0, swigf_DeviationPairs_resize__SWIG_1 + generic :: assignment(=) => swigf_DeviationPairs_op_assign__ + generic :: erase => swigf_DeviationPairs_erase__SWIG_0, swigf_DeviationPairs_erase__SWIG_1 + end type DeviationPairs ! enum class SpecUtils::EnergyCalType enum, bind(c) enumerator :: EnergyCalType_Polynomial @@ -829,9 +805,6 @@ module specutilswrap generic :: operator(.eq.) => swigf_EnergyCalibration_op_eq__ generic :: assignment(=) => swigf_EnergyCalibration_op_assign__ end type EnergyCalibration - type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_t - type(SwigClassWrapper), public :: swigdata - end type public :: energy_cal_combine_channels public :: polynomial_binning public :: fullrangefraction_energy @@ -846,14 +819,33 @@ module specutilswrap public :: polynomial_cal_remove_first_channels public :: rebin_by_lower_edge public :: write_CALp_file + public :: remove_file + public :: is_file + public :: rename_file + public :: is_directory + public :: create_directory + public :: can_rw_in_directory + public :: append_path + public :: filename + public :: parent_path + public :: file_extension + public :: file_size + public :: temp_dir + public :: is_absolute_path + public :: get_working_path + public :: temp_file_name + public :: get_sm_recursive_ls_max_depth + public :: get_sm_ls_max_results + public :: SWIGTYPE_f_r_q_const__std__string_p_void__bool + public :: ls_directories_in_directory + public :: fs_relative + public :: lexically_normalize_path + public :: load_file_data + public :: likely_not_spec_file interface is_candidate_n42_file module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 end interface public :: is_candidate_n42_file - interface IntVector - module procedure swigf_new_IntVector__SWIG_0, swigf_new_IntVector__SWIG_1, swigf_new_IntVector__SWIG_2, & - swigf_new_IntVector__SWIG_3 - end interface interface DevPair module procedure swigf_new_DevPair__SWIG_0, swigf_new_DevPair__SWIG_1, swigf_new_DevPair__SWIG_2 end interface @@ -875,10 +867,19 @@ module specutilswrap interface DetectorAnalysis module procedure swigf_new_DetectorAnalysis end interface - interface DoubleVector - module procedure swigf_new_DoubleVector__SWIG_0, swigf_new_DoubleVector__SWIG_1, swigf_new_DoubleVector__SWIG_2, & - swigf_new_DoubleVector__SWIG_3 + interface DeviationPairs + module procedure swigf_new_DeviationPairs__SWIG_0, swigf_new_DeviationPairs__SWIG_1, swigf_new_DeviationPairs__SWIG_2, & + swigf_new_DeviationPairs__SWIG_3 + end interface + interface recursive_ls + module procedure swigf_recursive_ls__SWIG_0, swigf_recursive_ls__SWIG_1, swigf_recursive_ls__SWIG_2 end interface + public :: recursive_ls + interface ls_files_in_directory + module procedure swigf_ls_files_in_directory__SWIG_0, swigf_ls_files_in_directory__SWIG_1, & + swigf_ls_files_in_directory__SWIG_2 + end interface + public :: ls_files_in_directory interface EnergyCalibration module procedure swigf_new_EnergyCalibration end interface @@ -889,29 +890,43 @@ module specutilswrap module procedure swigf_fullrangefraction_binning__SWIG_0, swigf_fullrangefraction_binning__SWIG_1 end interface public :: fullrangefraction_binning - interface Measurement - module procedure swigf_new_Measurement - end interface interface find_polynomial_channel module procedure swigf_find_polynomial_channel__SWIG_0, swigf_find_polynomial_channel__SWIG_1 end interface public :: find_polynomial_channel + interface Measurement + module procedure swigf_new_Measurement + end interface interface MultimediaData module procedure swigf_new_MultimediaData end interface +! FUNCTION POINTER DECLARATIONS +abstract interface +function SWIGTYPE_f_r_q_const__std__string_p_void__bool(arg0, arg1) & +bind(C) & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: arg0 +type(C_PTR), intent(in), value :: arg1 +logical(C_BOOL) :: fresult +end function + +end interface + + ! WRAPPER DECLARATIONS interface -function swigc_new_IntVector__SWIG_0() & -bind(C, name="_wrap_new_IntVector__SWIG_0") & +function swigc_new_FloatVector__SWIG_0() & +bind(C, name="_wrap_new_FloatVector__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper) :: fresult end function -function swigc_new_IntVector__SWIG_1(farg1) & -bind(C, name="_wrap_new_IntVector__SWIG_1") & +function swigc_new_FloatVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_FloatVector__SWIG_1") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -919,8 +934,8 @@ function swigc_new_IntVector__SWIG_1(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_new_IntVector__SWIG_2(farg1) & -bind(C, name="_wrap_new_IntVector__SWIG_2") & +function swigc_new_FloatVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_FloatVector__SWIG_2") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -928,18 +943,18 @@ function swigc_new_IntVector__SWIG_2(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_new_IntVector__SWIG_3(farg1, farg2) & -bind(C, name="_wrap_new_IntVector__SWIG_3") & +function swigc_new_FloatVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_FloatVector__SWIG_3") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper integer(C_SIZE_T), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -function swigc_IntVector_size(farg1) & -bind(C, name="_wrap_IntVector_size") & +function swigc_FloatVector_size(farg1) & +bind(C, name="_wrap_FloatVector_size") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -947,8 +962,8 @@ function swigc_IntVector_size(farg1) & integer(C_SIZE_T) :: fresult end function -function swigc_IntVector_capacity(farg1) & -bind(C, name="_wrap_IntVector_capacity") & +function swigc_FloatVector_capacity(farg1) & +bind(C, name="_wrap_FloatVector_capacity") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -956,8 +971,8 @@ function swigc_IntVector_capacity(farg1) & integer(C_SIZE_T) :: fresult end function -function swigc_IntVector_empty(farg1) & -bind(C, name="_wrap_IntVector_empty") & +function swigc_FloatVector_empty(farg1) & +bind(C, name="_wrap_FloatVector_empty") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -965,109 +980,109 @@ function swigc_IntVector_empty(farg1) & integer(C_INT) :: fresult end function -function swigc_IntVector_front(farg1) & -bind(C, name="_wrap_IntVector_front") & +function swigc_FloatVector_front(farg1) & +bind(C, name="_wrap_FloatVector_front") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +real(C_FLOAT) :: fresult end function -function swigc_IntVector_back(farg1) & -bind(C, name="_wrap_IntVector_back") & +function swigc_FloatVector_back(farg1) & +bind(C, name="_wrap_FloatVector_back") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +real(C_FLOAT) :: fresult end function -subroutine swigc_IntVector_reserve(farg1, farg2) & -bind(C, name="_wrap_IntVector_reserve") +subroutine swigc_FloatVector_reserve(farg1, farg2) & +bind(C, name="_wrap_FloatVector_reserve") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 end subroutine -subroutine swigc_IntVector_resize__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_IntVector_resize__SWIG_0") +subroutine swigc_FloatVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_FloatVector_resize__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 end subroutine -subroutine swigc_IntVector_resize__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_IntVector_resize__SWIG_1") +subroutine swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_resize__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 +real(C_FLOAT), intent(in) :: farg3 end subroutine -subroutine swigc_IntVector_push_back(farg1, farg2) & -bind(C, name="_wrap_IntVector_push_back") +subroutine swigc_FloatVector_push_back(farg1, farg2) & +bind(C, name="_wrap_FloatVector_push_back") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg2 end subroutine -subroutine swigc_IntVector_pop_back(farg1) & -bind(C, name="_wrap_IntVector_pop_back") +subroutine swigc_FloatVector_pop_back(farg1) & +bind(C, name="_wrap_FloatVector_pop_back") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 end subroutine -subroutine swigc_IntVector_clear(farg1) & -bind(C, name="_wrap_IntVector_clear") +subroutine swigc_FloatVector_clear(farg1) & +bind(C, name="_wrap_FloatVector_clear") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 end subroutine -subroutine swigc_IntVector_set(farg1, farg2, farg3) & -bind(C, name="_wrap_IntVector_set") +subroutine swigc_FloatVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 +real(C_FLOAT), intent(in) :: farg3 end subroutine -function swigc_IntVector_get(farg1, farg2) & -bind(C, name="_wrap_IntVector_get") & +function swigc_FloatVector_get(farg1, farg2) & +bind(C, name="_wrap_FloatVector_get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -integer(C_INT) :: fresult +real(C_FLOAT) :: fresult end function -subroutine swigc_IntVector_insert(farg1, farg2, farg3) & -bind(C, name="_wrap_IntVector_insert") +subroutine swigc_FloatVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_insert") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 +real(C_FLOAT), intent(in) :: farg3 end subroutine -subroutine swigc_IntVector_erase__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_IntVector_erase__SWIG_0") +subroutine swigc_FloatVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_FloatVector_erase__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 end subroutine -subroutine swigc_IntVector_erase__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_IntVector_erase__SWIG_1") +subroutine swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_erase__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 @@ -1075,8 +1090,8 @@ subroutine swigc_IntVector_erase__SWIG_1(farg1, farg2, farg3) & integer(C_SIZE_T), intent(in) :: farg3 end subroutine -function swigc_IntVector_front_ref(farg1) & -bind(C, name="_wrap_IntVector_front_ref") & +function swigc_FloatVector_front_ref(farg1) & +bind(C, name="_wrap_FloatVector_front_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1084,8 +1099,8 @@ function swigc_IntVector_front_ref(farg1) & type(C_PTR) :: fresult end function -function swigc_IntVector_back_ref(farg1) & -bind(C, name="_wrap_IntVector_back_ref") & +function swigc_FloatVector_back_ref(farg1) & +bind(C, name="_wrap_FloatVector_back_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1093,8 +1108,8 @@ function swigc_IntVector_back_ref(farg1) & type(C_PTR) :: fresult end function -function swigc_IntVector_get_ref(farg1, farg2) & -bind(C, name="_wrap_IntVector_get_ref") & +function swigc_FloatVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_FloatVector_get_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1103,31 +1118,31 @@ function swigc_IntVector_get_ref(farg1, farg2) & type(C_PTR) :: fresult end function -subroutine swigc_delete_IntVector(farg1) & -bind(C, name="_wrap_delete_IntVector") +subroutine swigc_delete_FloatVector(farg1) & +bind(C, name="_wrap_delete_FloatVector") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -subroutine swigc_IntVector_op_assign__(farg1, farg2) & -bind(C, name="_wrap_IntVector_op_assign__") +subroutine swigc_FloatVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_FloatVector_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(inout) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_new_DoubleVector__SWIG_0() & -bind(C, name="_wrap_new_DoubleVector__SWIG_0") & +function swigc_new_MeasurementVector__SWIG_0() & +bind(C, name="_wrap_new_MeasurementVector__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper) :: fresult end function -function swigc_new_DoubleVector__SWIG_1(farg1) & -bind(C, name="_wrap_new_DoubleVector__SWIG_1") & +function swigc_new_MeasurementVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_1") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1135,8 +1150,8 @@ function swigc_new_DoubleVector__SWIG_1(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_new_DoubleVector__SWIG_2(farg1) & -bind(C, name="_wrap_new_DoubleVector__SWIG_2") & +function swigc_new_MeasurementVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_2") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1144,18 +1159,18 @@ function swigc_new_DoubleVector__SWIG_2(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_new_DoubleVector__SWIG_3(farg1, farg2) & -bind(C, name="_wrap_new_DoubleVector__SWIG_3") & +function swigc_new_MeasurementVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_3") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper integer(C_SIZE_T), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -function swigc_DoubleVector_size(farg1) & -bind(C, name="_wrap_DoubleVector_size") & +function swigc_MeasurementVector_size(farg1) & +bind(C, name="_wrap_MeasurementVector_size") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1163,8 +1178,8 @@ function swigc_DoubleVector_size(farg1) & integer(C_SIZE_T) :: fresult end function -function swigc_DoubleVector_capacity(farg1) & -bind(C, name="_wrap_DoubleVector_capacity") & +function swigc_MeasurementVector_capacity(farg1) & +bind(C, name="_wrap_MeasurementVector_capacity") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1172,8 +1187,8 @@ function swigc_DoubleVector_capacity(farg1) & integer(C_SIZE_T) :: fresult end function -function swigc_DoubleVector_empty(farg1) & -bind(C, name="_wrap_DoubleVector_empty") & +function swigc_MeasurementVector_empty(farg1) & +bind(C, name="_wrap_MeasurementVector_empty") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1181,109 +1196,109 @@ function swigc_DoubleVector_empty(farg1) & integer(C_INT) :: fresult end function -function swigc_DoubleVector_front(farg1) & -bind(C, name="_wrap_DoubleVector_front") & +function swigc_MeasurementVector_front(farg1) & +bind(C, name="_wrap_MeasurementVector_front") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_DoubleVector_back(farg1) & -bind(C, name="_wrap_DoubleVector_back") & +function swigc_MeasurementVector_back(farg1) & +bind(C, name="_wrap_MeasurementVector_back") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_DoubleVector_reserve(farg1, farg2) & -bind(C, name="_wrap_DoubleVector_reserve") +subroutine swigc_MeasurementVector_reserve(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_reserve") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 end subroutine -subroutine swigc_DoubleVector_resize__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_DoubleVector_resize__SWIG_0") +subroutine swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_resize__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 end subroutine -subroutine swigc_DoubleVector_resize__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_DoubleVector_resize__SWIG_1") +subroutine swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_resize__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg3 end subroutine -subroutine swigc_DoubleVector_push_back(farg1, farg2) & -bind(C, name="_wrap_DoubleVector_push_back") +subroutine swigc_MeasurementVector_push_back(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_push_back") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 end subroutine -subroutine swigc_DoubleVector_pop_back(farg1) & -bind(C, name="_wrap_DoubleVector_pop_back") +subroutine swigc_MeasurementVector_pop_back(farg1) & +bind(C, name="_wrap_MeasurementVector_pop_back") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 end subroutine -subroutine swigc_DoubleVector_clear(farg1) & -bind(C, name="_wrap_DoubleVector_clear") +subroutine swigc_MeasurementVector_clear(farg1) & +bind(C, name="_wrap_MeasurementVector_clear") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 end subroutine -subroutine swigc_DoubleVector_set(farg1, farg2, farg3) & -bind(C, name="_wrap_DoubleVector_set") +subroutine swigc_MeasurementVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg3 end subroutine -function swigc_DoubleVector_get(farg1, farg2) & -bind(C, name="_wrap_DoubleVector_get") & +function swigc_MeasurementVector_get(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_DoubleVector_insert(farg1, farg2, farg3) & -bind(C, name="_wrap_DoubleVector_insert") +subroutine swigc_MeasurementVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_insert") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg3 end subroutine -subroutine swigc_DoubleVector_erase__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_DoubleVector_erase__SWIG_0") +subroutine swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_erase__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 end subroutine -subroutine swigc_DoubleVector_erase__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_DoubleVector_erase__SWIG_1") +subroutine swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_erase__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 @@ -1291,440 +1306,437 @@ subroutine swigc_DoubleVector_erase__SWIG_1(farg1, farg2, farg3) & integer(C_SIZE_T), intent(in) :: farg3 end subroutine -function swigc_DoubleVector_front_ref(farg1) & -bind(C, name="_wrap_DoubleVector_front_ref") & +function swigc_MeasurementVector_front_ref(farg1) & +bind(C, name="_wrap_MeasurementVector_front_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_DoubleVector_back_ref(farg1) & -bind(C, name="_wrap_DoubleVector_back_ref") & +function swigc_MeasurementVector_back_ref(farg1) & +bind(C, name="_wrap_MeasurementVector_back_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_DoubleVector_get_ref(farg1, farg2) & -bind(C, name="_wrap_DoubleVector_get_ref") & +function swigc_MeasurementVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_get_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_SIZE_T), intent(in) :: farg2 -type(C_PTR) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_delete_DoubleVector(farg1) & -bind(C, name="_wrap_delete_DoubleVector") +subroutine swigc_delete_MeasurementVector(farg1) & +bind(C, name="_wrap_delete_MeasurementVector") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -subroutine swigc_DoubleVector_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DoubleVector_op_assign__") +subroutine swigc_MeasurementVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(inout) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_new_FloatVector__SWIG_0() & -bind(C, name="_wrap_new_FloatVector__SWIG_0") & +function swigc_spectrumTypeFromDescription(farg1) & +bind(C, name="_wrap_spectrumTypeFromDescription") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult end function -function swigc_new_FloatVector__SWIG_1(farg1) & -bind(C, name="_wrap_new_FloatVector__SWIG_1") & + subroutine SWIG_free(cptr) & + bind(C, name="free") + use, intrinsic :: ISO_C_BINDING + type(C_PTR), value :: cptr +end subroutine +function swigc_suggestedNameEnding(farg1) & +bind(C, name="_wrap_suggestedNameEnding") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +import :: swigarraywrapper +integer(C_INT), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult end function -function swigc_new_FloatVector__SWIG_2(farg1) & -bind(C, name="_wrap_new_FloatVector__SWIG_2") & +function swigc_is_candidate_n42_file__SWIG_0(farg1) & +bind(C, name="_wrap_is_candidate_n42_file__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult end function -function swigc_new_FloatVector__SWIG_3(farg1, farg2) & -bind(C, name="_wrap_new_FloatVector__SWIG_3") & +function swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_is_candidate_n42_file__SWIG_1") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult end function -function swigc_FloatVector_size(farg1) & -bind(C, name="_wrap_FloatVector_size") & +function swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) & +bind(C, name="_wrap_convert_n42_utf16_xml_to_utf8") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult end function -function swigc_FloatVector_capacity(farg1) & -bind(C, name="_wrap_FloatVector_capacity") & -result(fresult) +subroutine swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) & +bind(C, name="_wrap_add_analysis_results_to_2012_N42") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_FloatVector_empty(farg1) & -bind(C, name="_wrap_FloatVector_empty") & -result(fresult) +subroutine swigc_set_analysis_info_from_n42(farg1, farg2) & +bind(C, name="_wrap_set_analysis_info_from_n42") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_FloatVector_front(farg1) & -bind(C, name="_wrap_FloatVector_front") & +function swigc_gamma_integral(farg1, farg2, farg3) & +bind(C, name="_wrap_gamma_integral") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +real(C_FLOAT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +real(C_DOUBLE) :: fresult end function -function swigc_FloatVector_back(farg1) & -bind(C, name="_wrap_FloatVector_back") & +function swigc_detectorTypeToString(farg1) & +bind(C, name="_wrap_detectorTypeToString") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +import :: swigarraywrapper +integer(C_INT), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult end function -subroutine swigc_FloatVector_reserve(farg1, farg2) & -bind(C, name="_wrap_FloatVector_reserve") +function swigc_new_Measurement() & +bind(C, name="_wrap_new_Measurement") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_FloatVector_resize__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_FloatVector_resize__SWIG_0") +function swigc_Measurement_memmorysize(farg1) & +bind(C, name="_wrap_Measurement_memmorysize") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_resize__SWIG_1") +function swigc_Measurement_live_time(farg1) & +bind(C, name="_wrap_Measurement_live_time") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine +real(C_FLOAT) :: fresult +end function -subroutine swigc_FloatVector_push_back(farg1, farg2) & -bind(C, name="_wrap_FloatVector_push_back") +subroutine swigc_Measurement_set_live_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_live_time") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 real(C_FLOAT), intent(in) :: farg2 end subroutine -subroutine swigc_FloatVector_pop_back(farg1) & -bind(C, name="_wrap_FloatVector_pop_back") +function swigc_Measurement_real_time(farg1) & +bind(C, name="_wrap_Measurement_real_time") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -end subroutine +real(C_FLOAT) :: fresult +end function -subroutine swigc_FloatVector_clear(farg1) & -bind(C, name="_wrap_FloatVector_clear") +subroutine swigc_Measurement_set_real_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_real_time") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 end subroutine -subroutine swigc_FloatVector_set(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_set") +function swigc_Measurement_contained_neutron(farg1) & +bind(C, name="_wrap_Measurement_contained_neutron") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine +integer(C_INT) :: fresult +end function -function swigc_FloatVector_get(farg1, farg2) & -bind(C, name="_wrap_FloatVector_get") & +function swigc_Measurement_sample_number(farg1) & +bind(C, name="_wrap_Measurement_sample_number") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT) :: fresult +integer(C_INT) :: fresult end function -subroutine swigc_FloatVector_insert(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_insert") +function swigc_Measurement_title(farg1) & +bind(C, name="_wrap_Measurement_title") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: fresult +end function -subroutine swigc_FloatVector_erase__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_FloatVector_erase__SWIG_0") +function swigc_Measurement_occupied(farg1) & +bind(C, name="_wrap_Measurement_occupied") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_erase__SWIG_1") +function swigc_Measurement_gamma_count_sum(farg1) & +bind(C, name="_wrap_Measurement_gamma_count_sum") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 -end subroutine +real(C_DOUBLE) :: fresult +end function -function swigc_FloatVector_front_ref(farg1) & -bind(C, name="_wrap_FloatVector_front_ref") & +function swigc_Measurement_neutron_live_time(farg1) & +bind(C, name="_wrap_Measurement_neutron_live_time") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR) :: fresult +real(C_FLOAT) :: fresult end function -function swigc_FloatVector_back_ref(farg1) & -bind(C, name="_wrap_FloatVector_back_ref") & +function swigc_Measurement_neutron_counts_sum(farg1) & +bind(C, name="_wrap_Measurement_neutron_counts_sum") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR) :: fresult +real(C_DOUBLE) :: fresult end function -function swigc_FloatVector_get_ref(farg1, farg2) & -bind(C, name="_wrap_FloatVector_get_ref") & +function swigc_Measurement_speed(farg1) & +bind(C, name="_wrap_Measurement_speed") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(C_PTR) :: fresult +real(C_FLOAT) :: fresult end function -subroutine swigc_delete_FloatVector(farg1) & -bind(C, name="_wrap_delete_FloatVector") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_FloatVector_op_assign__(farg1, farg2) & -bind(C, name="_wrap_FloatVector_op_assign__") +function swigc_Measurement_dx(farg1) & +bind(C, name="_wrap_Measurement_dx") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function -function swigc_new_MeasurementVector__SWIG_0() & -bind(C, name="_wrap_new_MeasurementVector__SWIG_0") & +function swigc_Measurement_dy(farg1) & +bind(C, name="_wrap_Measurement_dy") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult end function -function swigc_new_MeasurementVector__SWIG_1(farg1) & -bind(C, name="_wrap_new_MeasurementVector__SWIG_1") & +function swigc_Measurement_latitude(farg1) & +bind(C, name="_wrap_Measurement_latitude") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +real(C_DOUBLE) :: fresult end function -function swigc_new_MeasurementVector__SWIG_2(farg1) & -bind(C, name="_wrap_new_MeasurementVector__SWIG_2") & +function swigc_Measurement_longitude(farg1) & +bind(C, name="_wrap_Measurement_longitude") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult end function -function swigc_new_MeasurementVector__SWIG_3(farg1, farg2) & -bind(C, name="_wrap_new_MeasurementVector__SWIG_3") & +function swigc_Measurement_has_gps_info(farg1) & +bind(C, name="_wrap_Measurement_has_gps_info") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult end function -function swigc_MeasurementVector_size(farg1) & -bind(C, name="_wrap_MeasurementVector_size") & +function swigc_Measurement_dose_rate(farg1) & +bind(C, name="_wrap_Measurement_dose_rate") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +real(C_FLOAT) :: fresult end function -function swigc_MeasurementVector_capacity(farg1) & -bind(C, name="_wrap_MeasurementVector_capacity") & +function swigc_Measurement_exposure_rate(farg1) & +bind(C, name="_wrap_Measurement_exposure_rate") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +real(C_FLOAT) :: fresult end function -function swigc_MeasurementVector_empty(farg1) & -bind(C, name="_wrap_MeasurementVector_empty") & +function swigc_Measurement_position_time(farg1) & +bind(C, name="_wrap_Measurement_position_time") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_MeasurementVector_front(farg1) & -bind(C, name="_wrap_MeasurementVector_front") & +function swigc_Measurement_detector_name(farg1) & +bind(C, name="_wrap_Measurement_detector_name") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_MeasurementVector_back(farg1) & -bind(C, name="_wrap_MeasurementVector_back") & +function swigc_Measurement_detector_number(farg1) & +bind(C, name="_wrap_Measurement_detector_number") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult end function -subroutine swigc_MeasurementVector_reserve(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_reserve") +function swigc_Measurement_detector_type(farg1) & +bind(C, name="_wrap_Measurement_detector_type") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: fresult +end function -subroutine swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_resize__SWIG_0") +function swigc_Measurement_quality_status(farg1) & +bind(C, name="_wrap_Measurement_quality_status") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_resize__SWIG_1") +function swigc_Measurement_source_type(farg1) & +bind(C, name="_wrap_Measurement_source_type") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_MeasurementVector_push_back(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_push_back") +function swigc_Measurement_remarks(farg1) & +bind(C, name="_wrap_Measurement_remarks") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_MeasurementVector_pop_back(farg1) & -bind(C, name="_wrap_MeasurementVector_pop_back") +function swigc_Measurement_parse_warnings(farg1) & +bind(C, name="_wrap_Measurement_parse_warnings") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_MeasurementVector_clear(farg1) & -bind(C, name="_wrap_MeasurementVector_clear") +function swigc_Measurement_start_time(farg1) & +bind(C, name="_wrap_Measurement_start_time") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_MeasurementVector_set(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_set") +function swigc_Measurement_start_time_copy(farg1) & +bind(C, name="_wrap_Measurement_start_time_copy") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -function swigc_MeasurementVector_get(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -subroutine swigc_MeasurementVector_insert(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_insert") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_erase__SWIG_0") +function swigc_Measurement_energy_calibration_model(farg1) & +bind(C, name="_wrap_Measurement_energy_calibration_model") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_erase__SWIG_1") +function swigc_Measurement_calibration_coeffs(farg1) & +bind(C, name="_wrap_Measurement_calibration_coeffs") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 -end subroutine +type(SwigClassWrapper) :: fresult +end function -function swigc_MeasurementVector_front_ref(farg1) & -bind(C, name="_wrap_MeasurementVector_front_ref") & +function swigc_Measurement_deviation_pairs(farg1) & +bind(C, name="_wrap_Measurement_deviation_pairs") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1732,8 +1744,8 @@ function swigc_MeasurementVector_front_ref(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_MeasurementVector_back_ref(farg1) & -bind(C, name="_wrap_MeasurementVector_back_ref") & +function swigc_Measurement_energy_calibration(farg1) & +bind(C, name="_wrap_Measurement_energy_calibration") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1741,173 +1753,145 @@ function swigc_MeasurementVector_back_ref(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_MeasurementVector_get_ref(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_get_ref") & +function swigc_Measurement_channel_energies(farg1) & +bind(C, name="_wrap_Measurement_channel_energies") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -subroutine swigc_delete_MeasurementVector(farg1) & -bind(C, name="_wrap_delete_MeasurementVector") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_MeasurementVector_op_assign__(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_spectrumTypeFromDescription(farg1) & -bind(C, name="_wrap_spectrumTypeFromDescription") & +function swigc_Measurement_gamma_counts(farg1) & +bind(C, name="_wrap_Measurement_gamma_counts") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult end function - subroutine SWIG_free(cptr) & - bind(C, name="free") - use, intrinsic :: ISO_C_BINDING - type(C_PTR), value :: cptr -end subroutine -function swigc_suggestedNameEnding(farg1) & -bind(C, name="_wrap_suggestedNameEnding") & +function swigc_Measurement_neutron_counts(farg1) & +bind(C, name="_wrap_Measurement_neutron_counts") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -integer(C_INT), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult end function -function swigc_is_candidate_n42_file__SWIG_0(farg1) & -bind(C, name="_wrap_is_candidate_n42_file__SWIG_0") & +function swigc_Measurement_location_state(farg1) & +bind(C, name="_wrap_Measurement_location_state") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult end function -function swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_is_candidate_n42_file__SWIG_1") & -result(fresult) +subroutine swigc_Measurement_set_title(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_title") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) & -bind(C, name="_wrap_convert_n42_utf16_xml_to_utf8") & -result(fresult) +subroutine swigc_Measurement_set_start_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_start_time") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: fresult -end function +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -subroutine swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) & -bind(C, name="_wrap_add_analysis_results_to_2012_N42") +subroutine swigc_Measurement_set_remarks(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_remarks") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 end subroutine -subroutine swigc_set_analysis_info_from_n42(farg1, farg2) & -bind(C, name="_wrap_set_analysis_info_from_n42") +subroutine swigc_Measurement_set_parse_warnings(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_parse_warnings") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_gamma_integral(farg1, farg2, farg3) & -bind(C, name="_wrap_gamma_integral") & -result(fresult) +subroutine swigc_Measurement_set_source_type(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_source_type") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -real(C_DOUBLE) :: fresult -end function +integer(C_INT), intent(in) :: farg2 +end subroutine -function swigc_detectorTypeToString(farg1) & -bind(C, name="_wrap_detectorTypeToString") & -result(fresult) +subroutine swigc_Measurement_set_position(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_Measurement_set_position") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -integer(C_INT), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine -function swigc_new_Measurement() & -bind(C, name="_wrap_new_Measurement") & -result(fresult) +subroutine swigc_Measurement_set_sample_number(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_sample_number") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine -function swigc_Measurement_memmorysize(farg1) & -bind(C, name="_wrap_Measurement_memmorysize") & -result(fresult) +subroutine swigc_Measurement_set_occupancy_status(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_occupancy_status") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult -end function +integer(C_INT), intent(in) :: farg2 +end subroutine -function swigc_Measurement_live_time(farg1) & -bind(C, name="_wrap_Measurement_live_time") & -result(fresult) +subroutine swigc_Measurement_set_detector_name(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_detector_name") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -subroutine swigc_Measurement_set_live_time(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_live_time") +subroutine swigc_Measurement_set_detector_number(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_detector_number") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 end subroutine -function swigc_Measurement_real_time(farg1) & -bind(C, name="_wrap_Measurement_real_time") & -result(fresult) +subroutine swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine -subroutine swigc_Measurement_set_real_time(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_real_time") +subroutine swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_Measurement_contained_neutron(farg1) & -bind(C, name="_wrap_Measurement_contained_neutron") & +function swigc_Measurement_num_gamma_channels(farg1) & +bind(C, name="_wrap_Measurement_num_gamma_channels") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -1915,117 +1899,108 @@ function swigc_Measurement_contained_neutron(farg1) & integer(C_INT) :: fresult end function -function swigc_Measurement_sample_number(farg1) & -bind(C, name="_wrap_Measurement_sample_number") & +function swigc_Measurement_find_gamma_channel(farg1, farg2) & +bind(C, name="_wrap_Measurement_find_gamma_channel") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_Measurement_title(farg1) & -bind(C, name="_wrap_Measurement_title") & +function swigc_Measurement_gamma_channel_content(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_content") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult end function -function swigc_Measurement_occupied(farg1) & -bind(C, name="_wrap_Measurement_occupied") & +function swigc_Measurement_gamma_channel_lower(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_lower") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult end function -function swigc_Measurement_gamma_count_sum(farg1) & -bind(C, name="_wrap_Measurement_gamma_count_sum") & +function swigc_Measurement_gamma_channel_center(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_center") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult end function -function swigc_Measurement_neutron_live_time(farg1) & -bind(C, name="_wrap_Measurement_neutron_live_time") & +function swigc_Measurement_gamma_channel_upper(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_upper") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 real(C_FLOAT) :: fresult end function -function swigc_Measurement_neutron_counts_sum(farg1) & -bind(C, name="_wrap_Measurement_neutron_counts_sum") & +function swigc_Measurement_gamma_channel_width(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_width") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult end function -function swigc_Measurement_speed(farg1) & -bind(C, name="_wrap_Measurement_speed") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_dx(farg1) & -bind(C, name="_wrap_Measurement_dx") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_dy(farg1) & -bind(C, name="_wrap_Measurement_dy") & +function swigc_Measurement_gamma_integral(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_gamma_integral") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +real(C_FLOAT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +real(C_DOUBLE) :: fresult end function -function swigc_Measurement_latitude(farg1) & -bind(C, name="_wrap_Measurement_latitude") & +function swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_gamma_channels_sum") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 real(C_DOUBLE) :: fresult end function -function swigc_Measurement_longitude(farg1) & -bind(C, name="_wrap_Measurement_longitude") & +function swigc_Measurement_gamma_channel_energies(farg1) & +bind(C, name="_wrap_Measurement_gamma_channel_energies") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_has_gps_info(farg1) & -bind(C, name="_wrap_Measurement_has_gps_info") & +function swigc_Measurement_gamma_channel_contents(farg1) & +bind(C, name="_wrap_Measurement_gamma_channel_contents") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_dose_rate(farg1) & -bind(C, name="_wrap_Measurement_dose_rate") & +function swigc_Measurement_gamma_energy_min(farg1) & +bind(C, name="_wrap_Measurement_gamma_energy_min") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2033,8 +2008,8 @@ function swigc_Measurement_dose_rate(farg1) & real(C_FLOAT) :: fresult end function -function swigc_Measurement_exposure_rate(farg1) & -bind(C, name="_wrap_Measurement_exposure_rate") & +function swigc_Measurement_gamma_energy_max(farg1) & +bind(C, name="_wrap_Measurement_gamma_energy_max") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2042,8 +2017,8 @@ function swigc_Measurement_exposure_rate(farg1) & real(C_FLOAT) :: fresult end function -function swigc_Measurement_position_time(farg1) & -bind(C, name="_wrap_Measurement_position_time") & +function swigc_Measurement_derived_data_properties(farg1) & +bind(C, name="_wrap_Measurement_derived_data_properties") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2051,163 +2026,162 @@ function swigc_Measurement_position_time(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_detector_name(farg1) & -bind(C, name="_wrap_Measurement_detector_name") & +function swigc_Measurement_write_2006_N42_xml(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_2006_N42_xml") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_Measurement_detector_number(farg1) & -bind(C, name="_wrap_Measurement_detector_number") & +function swigc_Measurement_write_csv(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_csv") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_Measurement_detector_type(farg1) & -bind(C, name="_wrap_Measurement_detector_type") & +function swigc_Measurement_write_txt(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_txt") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_Measurement_quality_status(farg1) & -bind(C, name="_wrap_Measurement_quality_status") & -result(fresult) +subroutine swigc_Measurement_reset(farg1) & +bind(C, name="_wrap_Measurement_reset") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_Measurement_source_type(farg1) & -bind(C, name="_wrap_Measurement_source_type") & -result(fresult) +subroutine swigc_Measurement_rebin(farg1, farg2) & +bind(C, name="_wrap_Measurement_rebin") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_Measurement_remarks(farg1) & -bind(C, name="_wrap_Measurement_remarks") & -result(fresult) +subroutine swigc_Measurement_set_energy_calibration(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_energy_calibration") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_Measurement_parse_warnings(farg1) & -bind(C, name="_wrap_Measurement_parse_warnings") & -result(fresult) +subroutine swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_info_from_2006_N42_spectrum_node") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_Measurement_start_time(farg1) & -bind(C, name="_wrap_Measurement_start_time") & +function swigc_Measurement_gamma_count_at(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_count_at") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult end function -function swigc_Measurement_start_time_copy(farg1) & -bind(C, name="_wrap_Measurement_start_time_copy") & +function swigc_Measurement_get_num_channels(farg1) & +bind(C, name="_wrap_Measurement_get_num_channels") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult end function -function swigc_Measurement_energy_calibration_model(farg1) & -bind(C, name="_wrap_Measurement_energy_calibration_model") & +function swigc_Measurement_get_description(farg1) & +bind(C, name="_wrap_Measurement_get_description") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_calibration_coeffs(farg1) & -bind(C, name="_wrap_Measurement_calibration_coeffs") & +function swigc_Measurement_get_source(farg1) & +bind(C, name="_wrap_Measurement_get_source") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_deviation_pairs(farg1) & -bind(C, name="_wrap_Measurement_deviation_pairs") & +function swigc_Measurement_get_start_time_string(farg1) & +bind(C, name="_wrap_Measurement_get_start_time_string") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_energy_calibration(farg1) & -bind(C, name="_wrap_Measurement_energy_calibration") & -result(fresult) +subroutine swigc_Measurement_set_start_time_from_string(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_start_time_from_string") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_Measurement_channel_energies(farg1) & -bind(C, name="_wrap_Measurement_channel_energies") & -result(fresult) +subroutine swigc_Measurement_set_description(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_description") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_Measurement_gamma_counts(farg1) & -bind(C, name="_wrap_Measurement_gamma_counts") & -result(fresult) +subroutine swigc_Measurement_set_source(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_source") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_Measurement_neutron_counts(farg1) & -bind(C, name="_wrap_Measurement_neutron_counts") & -result(fresult) +subroutine swigc_Measurement_set_neutron_count(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_neutron_count") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +real(C_FLOAT), intent(in) :: farg2 +end subroutine -function swigc_Measurement_location_state(farg1) & -bind(C, name="_wrap_Measurement_location_state") & +function swigc_Measurement_get_neutron_count(farg1) & +bind(C, name="_wrap_Measurement_get_neutron_count") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: fresult end function -subroutine swigc_Measurement_set_title(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_title") +subroutine swigc_Measurement_set_spectrum(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_spectrum") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper @@ -2215,191 +2189,186 @@ subroutine swigc_Measurement_set_title(farg1, farg2) & type(SwigArrayWrapper) :: farg2 end subroutine -subroutine swigc_Measurement_set_start_time(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_start_time") +subroutine swigc_Measurement_get_spectrum(farg1, farg2) & +bind(C, name="_wrap_Measurement_get_spectrum") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg2 end subroutine -subroutine swigc_Measurement_set_remarks(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_remarks") +subroutine swigc_delete_Measurement(farg1) & +bind(C, name="_wrap_delete_Measurement") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -subroutine swigc_Measurement_set_parse_warnings(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_parse_warnings") +subroutine swigc_Measurement_op_assign__(farg1, farg2) & +bind(C, name="_wrap_Measurement_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(inout) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 end subroutine -subroutine swigc_Measurement_set_source_type(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_source_type") +function swigc_new_SpecFile__SWIG_0() & +bind(C, name="_wrap_new_SpecFile__SWIG_0") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_set_position(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_Measurement_set_position") +function swigc_new_SpecFile__SWIG_1(farg1) & +bind(C, name="_wrap_new_SpecFile__SWIG_1") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 -real(C_DOUBLE), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_set_sample_number(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_sample_number") +subroutine swigc_delete_SpecFile(farg1) & +bind(C, name="_wrap_delete_SpecFile") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -subroutine swigc_Measurement_set_occupancy_status(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_occupancy_status") +function swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_load_file__SWIG_0") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigArrayWrapper) :: farg4 +integer(C_INT) :: fresult +end function -subroutine swigc_Measurement_set_detector_name(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_detector_name") +function swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_load_file__SWIG_1") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_detector_number(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_detector_number") +integer(C_INT), intent(in) :: farg3 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_parse_warnings(farg1) & +bind(C, name="_wrap_SpecFile_parse_warnings") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) & -bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_0") +function swigc_SpecFile_modified(farg1) & +bind(C, name="_wrap_SpecFile_modified") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_1") +subroutine swigc_SpecFile_reset_modified(farg1) & +bind(C, name="_wrap_SpecFile_reset_modified") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_Measurement_num_gamma_channels(farg1) & -bind(C, name="_wrap_Measurement_num_gamma_channels") & +function swigc_SpecFile_modified_since_decode(farg1) & +bind(C, name="_wrap_SpecFile_modified_since_decode") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +integer(C_INT) :: fresult end function -function swigc_Measurement_find_gamma_channel(farg1, farg2) & -bind(C, name="_wrap_Measurement_find_gamma_channel") & -result(fresult) +subroutine swigc_SpecFile_reset_modified_since_decode(farg1) & +bind(C, name="_wrap_SpecFile_reset_modified_since_decode") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -integer(C_SIZE_T) :: fresult -end function +end subroutine -function swigc_Measurement_gamma_channel_content(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_content") & +function swigc_SpecFile_gamma_live_time(farg1) & +bind(C, name="_wrap_SpecFile_gamma_live_time") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 real(C_FLOAT) :: fresult end function -function swigc_Measurement_gamma_channel_lower(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_lower") & +function swigc_SpecFile_gamma_real_time(farg1) & +bind(C, name="_wrap_SpecFile_gamma_real_time") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 real(C_FLOAT) :: fresult end function -function swigc_Measurement_gamma_channel_center(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_center") & +function swigc_SpecFile_gamma_count_sum(farg1) & +bind(C, name="_wrap_SpecFile_gamma_count_sum") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT) :: fresult +real(C_DOUBLE) :: fresult end function -function swigc_Measurement_gamma_channel_upper(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_upper") & +function swigc_SpecFile_neutron_counts_sum(farg1) & +bind(C, name="_wrap_SpecFile_neutron_counts_sum") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT) :: fresult +real(C_DOUBLE) :: fresult end function -function swigc_Measurement_gamma_channel_width(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_width") & +function swigc_SpecFile_filename(farg1) & +bind(C, name="_wrap_SpecFile_filename") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_gamma_integral(farg1, farg2, farg3) & -bind(C, name="_wrap_Measurement_gamma_integral") & +function swigc_SpecFile_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_detector_names") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) & -bind(C, name="_wrap_Measurement_gamma_channels_sum") & +function swigc_SpecFile_detector_numbers(farg1) & +bind(C, name="_wrap_SpecFile_detector_numbers") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_gamma_channel_energies(farg1) & -bind(C, name="_wrap_Measurement_gamma_channel_energies") & +function swigc_SpecFile_gamma_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_gamma_detector_names") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2407,8 +2376,8 @@ function swigc_Measurement_gamma_channel_energies(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_gamma_channel_contents(farg1) & -bind(C, name="_wrap_Measurement_gamma_channel_contents") & +function swigc_SpecFile_neutron_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_neutron_detector_names") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2416,98 +2385,103 @@ function swigc_Measurement_gamma_channel_contents(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_gamma_energy_min(farg1) & -bind(C, name="_wrap_Measurement_gamma_energy_min") & +function swigc_SpecFile_uuid(farg1) & +bind(C, name="_wrap_SpecFile_uuid") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_gamma_energy_max(farg1) & -bind(C, name="_wrap_Measurement_gamma_energy_max") & +function swigc_SpecFile_remarks(farg1) & +bind(C, name="_wrap_SpecFile_remarks") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_Measurement_derived_data_properties(farg1) & -bind(C, name="_wrap_Measurement_derived_data_properties") & +function swigc_SpecFile_lane_number(farg1) & +bind(C, name="_wrap_SpecFile_lane_number") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult end function -function swigc_Measurement_write_2006_N42_xml(farg1, farg2) & -bind(C, name="_wrap_Measurement_write_2006_N42_xml") & +function swigc_SpecFile_measurement_location_name(farg1) & +bind(C, name="_wrap_SpecFile_measurement_location_name") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_write_csv(farg1, farg2) & -bind(C, name="_wrap_Measurement_write_csv") & +function swigc_SpecFile_inspection(farg1) & +bind(C, name="_wrap_SpecFile_inspection") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_write_txt(farg1, farg2) & -bind(C, name="_wrap_Measurement_write_txt") & +function swigc_SpecFile_measurement_operator(farg1) & +bind(C, name="_wrap_SpecFile_measurement_operator") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -subroutine swigc_Measurement_reset(farg1) & -bind(C, name="_wrap_Measurement_reset") +function swigc_SpecFile_sample_numbers(farg1) & +bind(C, name="_wrap_SpecFile_sample_numbers") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_rebin(farg1, farg2) & -bind(C, name="_wrap_Measurement_rebin") +function swigc_SpecFile_num_measurements(farg1) & +bind(C, name="_wrap_SpecFile_num_measurements") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_info_from_2006_N42_spectrum_node") +function swigc_SpecFile_detector_type(farg1) & +bind(C, name="_wrap_SpecFile_detector_type") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -function swigc_Measurement_gamma_count_at(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_count_at") & +function swigc_SpecFile_instrument_type(farg1) & +bind(C, name="_wrap_SpecFile_instrument_type") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_get_description(farg1) & -bind(C, name="_wrap_Measurement_get_description") & +function swigc_SpecFile_manufacturer(farg1) & +bind(C, name="_wrap_SpecFile_manufacturer") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper @@ -2516,8 +2490,8 @@ function swigc_Measurement_get_description(farg1) & type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_get_source(farg1) & -bind(C, name="_wrap_Measurement_get_source") & +function swigc_SpecFile_instrument_model(farg1) & +bind(C, name="_wrap_SpecFile_instrument_model") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper @@ -2526,8 +2500,8 @@ function swigc_Measurement_get_source(farg1) & type(SwigArrayWrapper) :: fresult end function -function swigc_Measurement_get_start_time_string(farg1) & -bind(C, name="_wrap_Measurement_get_start_time_string") & +function swigc_SpecFile_instrument_id(farg1) & +bind(C, name="_wrap_SpecFile_instrument_id") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper @@ -2536,437 +2510,455 @@ function swigc_Measurement_get_start_time_string(farg1) & type(SwigArrayWrapper) :: fresult end function -subroutine swigc_Measurement_set_start_time_from_string(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_start_time_from_string") +function swigc_SpecFile_measurements(farg1) & +bind(C, name="_wrap_SpecFile_measurements") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_set_description(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_description") +function swigc_SpecFile_measurement__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_0") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_set_source(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_source") +function swigc_SpecFile_detectors_analysis(farg1) & +bind(C, name="_wrap_SpecFile_detectors_analysis") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_set_neutron_count(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_neutron_count") +function swigc_SpecFile_multimedia_data(farg1) & +bind(C, name="_wrap_SpecFile_multimedia_data") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_Measurement_set_spectrum(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_spectrum") +function swigc_SpecFile_has_gps_info(farg1) & +bind(C, name="_wrap_SpecFile_has_gps_info") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_Measurement_get_spectrum(farg1, farg2) & -bind(C, name="_wrap_Measurement_get_spectrum") +function swigc_SpecFile_mean_latitude(farg1) & +bind(C, name="_wrap_SpecFile_mean_latitude") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +real(C_DOUBLE) :: fresult +end function -subroutine swigc_delete_Measurement(farg1) & -bind(C, name="_wrap_delete_Measurement") +function swigc_SpecFile_mean_longitude(farg1) & +bind(C, name="_wrap_SpecFile_mean_longitude") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_Measurement_op_assign__(farg1, farg2) & -bind(C, name="_wrap_Measurement_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function -function swigc_new_SpecFile__SWIG_0() & -bind(C, name="_wrap_new_SpecFile__SWIG_0") & +function swigc_SpecFile_passthrough(farg1) & +bind(C, name="_wrap_SpecFile_passthrough") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult end function -function swigc_new_SpecFile__SWIG_1(farg1) & -bind(C, name="_wrap_new_SpecFile__SWIG_1") & +function swigc_SpecFile_contains_derived_data(farg1) & +bind(C, name="_wrap_SpecFile_contains_derived_data") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult end function -subroutine swigc_delete_SpecFile(farg1) & -bind(C, name="_wrap_delete_SpecFile") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -function swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_load_file__SWIG_0") & +function swigc_SpecFile_contains_non_derived_data(farg1) & +bind(C, name="_wrap_SpecFile_contains_non_derived_data") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigArrayWrapper) :: farg4 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_load_file__SWIG_1") & -result(fresult) +subroutine swigc_SpecFile_set_filename(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_filename") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -integer(C_INT), intent(in) :: farg3 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_parse_warnings(farg1) & -bind(C, name="_wrap_SpecFile_parse_warnings") & -result(fresult) +subroutine swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_remarks__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_modified(farg1) & -bind(C, name="_wrap_SpecFile_modified") & -result(fresult) +subroutine swigc_SpecFile_add_remark(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_remark") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -subroutine swigc_SpecFile_reset_modified(farg1) & -bind(C, name="_wrap_SpecFile_reset_modified") +subroutine swigc_SpecFile_set_parse_warnings(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_parse_warnings") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_SpecFile_modified_since_decode(farg1) & -bind(C, name="_wrap_SpecFile_modified_since_decode") & -result(fresult) +subroutine swigc_SpecFile_set_uuid(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_uuid") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -subroutine swigc_SpecFile_reset_modified_since_decode(farg1) & -bind(C, name="_wrap_SpecFile_reset_modified_since_decode") +subroutine swigc_SpecFile_set_lane_number(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_lane_number") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 end subroutine -function swigc_SpecFile_gamma_live_time(farg1) & -bind(C, name="_wrap_SpecFile_gamma_live_time") & -result(fresult) +subroutine swigc_SpecFile_set_measurement_location_name(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_measurement_location_name") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_gamma_real_time(farg1) & -bind(C, name="_wrap_SpecFile_gamma_real_time") & -result(fresult) +subroutine swigc_SpecFile_set_inspection(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_inspection") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_gamma_count_sum(farg1) & -bind(C, name="_wrap_SpecFile_gamma_count_sum") & -result(fresult) +subroutine swigc_SpecFile_set_instrument_type(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_type") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_neutron_counts_sum(farg1) & -bind(C, name="_wrap_SpecFile_neutron_counts_sum") & -result(fresult) +subroutine swigc_SpecFile_set_detector_type(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_detector_type") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function +integer(C_INT), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_filename(farg1) & -bind(C, name="_wrap_SpecFile_filename") & -result(fresult) +subroutine swigc_SpecFile_set_manufacturer(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_manufacturer") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_detector_names(farg1) & -bind(C, name="_wrap_SpecFile_detector_names") & -result(fresult) +subroutine swigc_SpecFile_set_instrument_model(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_model") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_detector_numbers(farg1) & -bind(C, name="_wrap_SpecFile_detector_numbers") & -result(fresult) +subroutine swigc_SpecFile_set_instrument_id(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_id") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_gamma_detector_names(farg1) & -bind(C, name="_wrap_SpecFile_gamma_detector_names") & -result(fresult) +subroutine swigc_SpecFile_set_live_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_live_time") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_neutron_detector_names(farg1) & -bind(C, name="_wrap_SpecFile_neutron_detector_names") & -result(fresult) +subroutine swigc_SpecFile_set_real_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_real_time") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_uuid(farg1) & -bind(C, name="_wrap_SpecFile_uuid") & -result(fresult) +subroutine swigc_SpecFile_set_start_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_start_time") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_remarks(farg1) & -bind(C, name="_wrap_SpecFile_remarks") & -result(fresult) +subroutine swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_remarks__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_lane_number(farg1) & -bind(C, name="_wrap_SpecFile_lane_number") & -result(fresult) +subroutine swigc_SpecFile_set_source_type(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_source_type") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_measurement_location_name(farg1) & -bind(C, name="_wrap_SpecFile_measurement_location_name") & -result(fresult) +subroutine swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_set_position") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper), intent(in) :: farg5 +end subroutine -function swigc_SpecFile_inspection(farg1) & -bind(C, name="_wrap_SpecFile_inspection") & -result(fresult) +subroutine swigc_SpecFile_set_title(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_title") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_measurement_operator(farg1) & -bind(C, name="_wrap_SpecFile_measurement_operator") & -result(fresult) +subroutine swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_set_contained_neutrons") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_FLOAT), intent(in) :: farg5 +end subroutine -function swigc_SpecFile_sample_numbers(farg1) & -bind(C, name="_wrap_SpecFile_sample_numbers") & -result(fresult) +subroutine swigc_SpecFile_set_detectors_analysis(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_detectors_analysis") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_num_measurements(farg1) & -bind(C, name="_wrap_SpecFile_num_measurements") & -result(fresult) +subroutine swigc_SpecFile_change_detector_name(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_change_detector_name") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: farg3 +end subroutine -function swigc_SpecFile_detector_type(farg1) & -bind(C, name="_wrap_SpecFile_detector_type") & -result(fresult) +subroutine swigc_SpecFile_change_sample_numbers(farg1, farg2) & +bind(C, name="_wrap_SpecFile_change_sample_numbers") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_instrument_type(farg1) & -bind(C, name="_wrap_SpecFile_instrument_type") & -result(fresult) +subroutine swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_add_measurement__SWIG_0") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_manufacturer(farg1) & -bind(C, name="_wrap_SpecFile_manufacturer") & -result(fresult) +subroutine swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_measurement__SWIG_1") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_instrument_model(farg1) & -bind(C, name="_wrap_SpecFile_instrument_model") & -result(fresult) +subroutine swigc_SpecFile_remove_measurement(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_remove_measurement") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_instrument_id(farg1) & -bind(C, name="_wrap_SpecFile_instrument_id") & +subroutine swigc_SpecFile_remove_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_remove_measurements") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_clear_multimedia_data(farg1) & +bind(C, name="_wrap_SpecFile_clear_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_add_multimedia_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_multimedia_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_SpecFile_occupancy_number_from_remarks(farg1) & +bind(C, name="_wrap_SpecFile_occupancy_number_from_remarks") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +integer(C_INT) :: fresult end function -function swigc_SpecFile_measurements(farg1) & -bind(C, name="_wrap_SpecFile_measurements") & +function swigc_SpecFile_sample_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_sample_measurements") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_measurement__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_measurement__SWIG_0") & +function swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_1") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg3 type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_detectors_analysis(farg1) & -bind(C, name="_wrap_SpecFile_detectors_analysis") & +function swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_2") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_multimedia_data(farg1) & -bind(C, name="_wrap_SpecFile_multimedia_data") & +function swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_suggested_sum_energy_calibration") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_has_gps_info(farg1) & -bind(C, name="_wrap_SpecFile_has_gps_info") & +function swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_sum_measurements") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_mean_latitude(farg1) & -bind(C, name="_wrap_SpecFile_mean_latitude") & +function swigc_SpecFile_memmorysize(farg1) & +bind(C, name="_wrap_SpecFile_memmorysize") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult +integer(C_INT) :: fresult end function -function swigc_SpecFile_mean_longitude(farg1) & -bind(C, name="_wrap_SpecFile_mean_longitude") & +function swigc_SpecFile_gamma_channel_counts(farg1) & +bind(C, name="_wrap_SpecFile_gamma_channel_counts") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_passthrough(farg1) & -bind(C, name="_wrap_SpecFile_passthrough") & +function swigc_SpecFile_num_gamma_channels(farg1) & +bind(C, name="_wrap_SpecFile_num_gamma_channels") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2974,17 +2966,18 @@ function swigc_SpecFile_passthrough(farg1) & integer(C_INT) :: fresult end function -function swigc_SpecFile_contains_derived_data(farg1) & -bind(C, name="_wrap_SpecFile_contains_derived_data") & +function swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_n_bin_spectra_only") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_contains_non_derived_data(farg1) & -bind(C, name="_wrap_SpecFile_contains_non_derived_data") & +function swigc_SpecFile_contained_neutron(farg1) & +bind(C, name="_wrap_SpecFile_contained_neutron") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2992,772 +2985,790 @@ function swigc_SpecFile_contains_non_derived_data(farg1) & integer(C_INT) :: fresult end function -subroutine swigc_SpecFile_set_filename(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_filename") +function swigc_SpecFile_energy_cal_variants(farg1) & +bind(C, name="_wrap_SpecFile_energy_cal_variants") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_remarks__SWIG_0") +function swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_energy_cal_variants") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_add_remark(farg1, farg2) & -bind(C, name="_wrap_SpecFile_add_remark") +function swigc_SpecFile_keep_derived_data_variant(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_derived_data_variant") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT), intent(in) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_parse_warnings(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_parse_warnings") +function swigc_SpecFile_remove_detectors_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_remove_detectors_data") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_uuid(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_uuid") +function swigc_SpecFile_remove_neutron_measurements(farg1) & +bind(C, name="_wrap_SpecFile_remove_neutron_measurements") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_lane_number(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_lane_number") +function swigc_SpecFile_background_sample_number(farg1) & +bind(C, name="_wrap_SpecFile_background_sample_number") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_measurement_location_name(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_measurement_location_name") +function swigc_SpecFile_generate_psuedo_uuid(farg1) & +bind(C, name="_wrap_SpecFile_generate_psuedo_uuid") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +type(SwigArrayWrapper) :: fresult +end function -subroutine swigc_SpecFile_set_inspection(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_inspection") +subroutine swigc_SpecFile_reset(farg1) & +bind(C, name="_wrap_SpecFile_reset") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 end subroutine -subroutine swigc_SpecFile_set_instrument_type(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_instrument_type") +function swigc_SpecFile_load_N42_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_N42_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_detector_type(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_detector_type") +function swigc_SpecFile_load_pcf_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_pcf_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_manufacturer(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_manufacturer") +function swigc_SpecFile_load_spc_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_spc_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_instrument_model(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_instrument_model") +function swigc_SpecFile_load_chn_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_chn_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_instrument_id(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_instrument_id") +function swigc_SpecFile_load_iaea_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_iaea_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_live_time(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_live_time") +function swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_binary_exploranium_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_real_time(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_real_time") +function swigc_SpecFile_load_micro_raider_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_micro_raider_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_start_time(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_start_time") +function swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_txt_or_csv_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_remarks__SWIG_1") +function swigc_SpecFile_load_cnf_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_cnf_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_source_type(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_source_type") +function swigc_SpecFile_load_tracs_mps_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_tracs_mps_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_set_position") +function swigc_SpecFile_load_aram_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_aram_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 -real(C_DOUBLE), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -type(SwigClassWrapper), intent(in) :: farg5 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_title(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_title") +function swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_spectroscopic_daily_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_set_contained_neutrons") +function swigc_SpecFile_load_amptek_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_amptek_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -real(C_FLOAT), intent(in) :: farg5 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_detectors_analysis(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_detectors_analysis") +function swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_ortec_listmode_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_change_detector_name(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_change_detector_name") +function swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_lsrm_spe_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: farg3 -end subroutine +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_change_sample_numbers(farg1, farg2) & -bind(C, name="_wrap_SpecFile_change_sample_numbers") +function swigc_SpecFile_load_tka_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_tka_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_add_measurement__SWIG_0") +function swigc_SpecFile_load_multiact_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_multiact_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_SpecFile_add_measurement__SWIG_1") +function swigc_SpecFile_load_phd_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_phd_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_remove_measurement(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_remove_measurement") +function swigc_SpecFile_load_lzs_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_lzs_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_remove_measurements(farg1, farg2) & -bind(C, name="_wrap_SpecFile_remove_measurements") +function swigc_SpecFile_load_radiacode_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_radiacode_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_clear_multimedia_data(farg1) & -bind(C, name="_wrap_SpecFile_clear_multimedia_data") +function swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_xml_scan_data_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_add_multimedia_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_add_multimedia_data") +function swigc_SpecFile_load_json_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_json_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -subroutine swigc_SpecFile_set_multimedia_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_multimedia_data") +function swigc_SpecFile_load_caen_gxml_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_caen_gxml_file") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function -function swigc_SpecFile_occupancy_number_from_remarks(farg1) & -bind(C, name="_wrap_SpecFile_occupancy_number_from_remarks") & +function swigc_SpecFile_load_from_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_N42") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_sample_measurements(farg1, farg2) & -bind(C, name="_wrap_SpecFile_sample_measurements") & +function swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_measurement__SWIG_1") & +function swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_1") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg2 type(SwigArrayWrapper) :: farg3 -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult end function -function swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_measurement__SWIG_2") & +function swigc_SpecFile_load_from_iaea_spc(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_iaea_spc") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_suggested_sum_energy_calibration") & +function swigc_SpecFile_load_from_binary_spc(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_binary_spc") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult end function -function swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_sum_measurements") & +function swigc_SpecFile_load_from_N42_document(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_N42_document") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult end function -function swigc_SpecFile_memmorysize(farg1) & -bind(C, name="_wrap_SpecFile_memmorysize") & +function swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_micro_raider_from_data") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_gamma_channel_counts(farg1) & -bind(C, name="_wrap_SpecFile_gamma_channel_counts") & +function swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_binary_exploranium") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_num_gamma_channels(farg1) & -bind(C, name="_wrap_SpecFile_num_gamma_channels") & +function swigc_SpecFile_load_from_pcf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_pcf") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) & -bind(C, name="_wrap_SpecFile_keep_n_bin_spectra_only") & +function swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_txt_or_csv") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -integer(C_SIZE_T) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_contained_neutron(farg1) & -bind(C, name="_wrap_SpecFile_contained_neutron") & +function swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_Gr135_txt") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_energy_cal_variants(farg1) & -bind(C, name="_wrap_SpecFile_energy_cal_variants") & +function swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_spectroscopic_daily_file") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) & -bind(C, name="_wrap_SpecFile_keep_energy_cal_variants") & +function swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_srpm210_csv") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_SIZE_T) :: fresult +integer(C_INT) :: fresult end function -function swigc_SpecFile_keep_derived_data_variant(farg1, farg2) & -bind(C, name="_wrap_SpecFile_keep_derived_data_variant") & +function swigc_SpecFile_load_from_D3S_raw(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_D3S_raw") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -integer(C_SIZE_T) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_remove_detectors_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_remove_detectors_data") & +function swigc_SpecFile_load_from_amptek_mca(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_amptek_mca") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_SIZE_T) :: fresult +integer(C_INT) :: fresult end function -function swigc_SpecFile_remove_neutron_measurements(farg1) & -bind(C, name="_wrap_SpecFile_remove_neutron_measurements") & +function swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_ortec_listmode") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -function swigc_SpecFile_background_sample_number(farg1) & -bind(C, name="_wrap_SpecFile_background_sample_number") & +function swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_lsrm_spe") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_generate_psuedo_uuid(farg1) & -bind(C, name="_wrap_SpecFile_generate_psuedo_uuid") & +function swigc_SpecFile_load_from_tka(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_tka") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult end function -subroutine swigc_SpecFile_reset(farg1) & -bind(C, name="_wrap_SpecFile_reset") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -function swigc_SpecFile_load_N42_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_N42_file") & +function swigc_SpecFile_load_from_multiact(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_multiact") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_pcf_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_pcf_file") & +function swigc_SpecFile_load_from_phd(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_phd") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_spc_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_spc_file") & +function swigc_SpecFile_load_from_lzs(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_lzs") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_chn_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_chn_file") & +function swigc_SpecFile_load_from_radiacode(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_radiacode") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_iaea_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_iaea_file") & +function swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_radiacode_spectrogram") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_binary_exploranium_file") & +function swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_xml_scan_data") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_micro_raider_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_micro_raider_file") & +function swigc_SpecFile_load_from_iaea(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_iaea") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_txt_or_csv_file") & +function swigc_SpecFile_load_from_chn(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_chn") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_cnf_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_cnf_file") & +function swigc_SpecFile_load_from_cnf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_cnf") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_tracs_mps_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_tracs_mps_file") & +function swigc_SpecFile_load_from_tracs_mps(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_tracs_mps") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_aram_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_aram_file") & +function swigc_SpecFile_load_from_aram(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_aram") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_spectroscopic_daily_file") & +function swigc_SpecFile_load_from_json(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_json") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_amptek_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_amptek_file") & +function swigc_SpecFile_load_from_caen_gxml(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_caen_gxml") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_ortec_listmode_file") & -result(fresult) +subroutine swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_0") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +integer(C_INT), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_lsrm_spe_file") & -result(fresult) +subroutine swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) & +bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_1") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_load_tka_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_tka_file") & -result(fresult) +subroutine swigc_SpecFile_recalc_total_counts(farg1) & +bind(C, name="_wrap_SpecFile_recalc_total_counts") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_load_multiact_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_multiact_file") & -result(fresult) +subroutine swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) & +bind(C, name="_wrap_SpecFile_merge_neutron_meas_into_gamma_meas") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_load_phd_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_phd_file") & -result(fresult) +subroutine swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_rebin_measurement") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_load_lzs_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_lzs_file") & -result(fresult) +subroutine swigc_SpecFile_rebin_all_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_rebin_all_measurements") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_load_radiacode_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_radiacode_file") & -result(fresult) +subroutine swigc_SpecFile_set_energy_calibration__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_energy_calibration__SWIG_0") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_xml_scan_data_file") & -result(fresult) +subroutine swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_energy_calibration_from_CALp_file") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_load_json_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_json_file") & +function swigc_SpecFile_detector_names_to_numbers(farg1, farg2) & +bind(C, name="_wrap_SpecFile_detector_names_to_numbers") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_load_caen_gxml_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_caen_gxml_file") & -result(fresult) +subroutine swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +integer(C_INT), intent(in) :: farg3 +end subroutine -function swigc_SpecFile_load_from_N42(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_N42") & -result(fresult) +subroutine swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_1") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine -function swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_0") & -result(fresult) +subroutine swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_2") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine -function swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_1") & -result(fresult) +subroutine swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_3") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: farg3 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine -function swigc_SpecFile_load_from_iaea_spc(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_iaea_spc") & -result(fresult) +subroutine swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine -function swigc_SpecFile_load_from_binary_spc(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_binary_spc") & -result(fresult) +subroutine swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine -function swigc_SpecFile_load_from_N42_document(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_N42_document") & +function swigc_SpecFile_write_pcf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_pcf") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -3766,19 +3777,18 @@ function swigc_SpecFile_load_from_N42_document(farg1, farg2) & integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_micro_raider_from_data") & +function swigc_SpecFile_write_2006_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_2006_N42") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_binary_exploranium") & +function swigc_SpecFile_write_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_csv") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -3787,8 +3797,8 @@ function swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) & integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_pcf(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_pcf") & +function swigc_SpecFile_write_txt(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_txt") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -3797,48 +3807,57 @@ function swigc_SpecFile_load_from_pcf(farg1, farg2) & integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_txt_or_csv") & +function swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_Gr135_txt") & +function swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_1") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_spectroscopic_daily_file") & +function swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_binary_spc") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper), intent(in) :: farg5 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_srpm210_csv") & +function swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_ascii_spc") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_D3S_raw(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_D3S_raw") & +function swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr130v0") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -3847,8 +3866,8 @@ function swigc_SpecFile_load_from_D3S_raw(farg1, farg2) & integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_amptek_mca(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_amptek_mca") & +function swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr135v2") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -3857,58 +3876,60 @@ function swigc_SpecFile_load_from_amptek_mca(farg1, farg2) & integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_ortec_listmode") & +function swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_iaea_spe") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_lsrm_spe") & +function swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_cnf") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_tka(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_tka") & +function swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_tka") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_multiact(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_multiact") & +function swigc_SpecFile_2012N42_VERSION_get() & +bind(C, name="_wrap_SpecFile_2012N42_VERSION_get") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_phd(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_phd") & +function swigc_SpecFile_create_2012_N42_xml(farg1) & +bind(C, name="_wrap_SpecFile_create_2012_N42_xml") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_load_from_lzs(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_lzs") & +function swigc_SpecFile_write_2012_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_2012_N42") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -3917,411 +3938,389 @@ function swigc_SpecFile_load_from_lzs(farg1, farg2) & integer(C_INT) :: fresult end function -function swigc_SpecFile_load_from_radiacode(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_radiacode") & +function swigc_SpecFile_mutex(farg1) & +bind(C, name="_wrap_SpecFile_mutex") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_radiacode_spectrogram") & +function swigc_SpecFile_measurement_at(farg1, farg2) & +bind(C, name="_wrap_SpecFile_measurement_at") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_xml_scan_data") & -result(fresult) +subroutine swigc_SpecFile_op_assign__(farg1, farg2) & +bind(C, name="_wrap_SpecFile_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(inout) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_load_from_iaea(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_iaea") & -result(fresult) +subroutine swigc_DetectorAnalysisResult_remark__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_remark__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_load_from_chn(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_chn") & +function swigc_DetectorAnalysisResult_remark__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_remark__get") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_SpecFile_load_from_cnf(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_cnf") & -result(fresult) +subroutine swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_load_from_tracs_mps(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_tracs_mps") & +function swigc_DetectorAnalysisResult_nuclide__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide__get") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_SpecFile_load_from_aram(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_aram") & -result(fresult) +subroutine swigc_DetectorAnalysisResult_activity__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_activity__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +real(C_FLOAT), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_load_from_json(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_json") & +function swigc_DetectorAnalysisResult_activity__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_activity__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +real(C_FLOAT) :: fresult end function -function swigc_SpecFile_load_from_caen_gxml(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_caen_gxml") & -result(fresult) +subroutine swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_nuclide_type__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult end function -subroutine swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_0") +subroutine swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg2 end subroutine -subroutine swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) & -bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_1") +function swigc_DetectorAnalysisResult_id_confidence__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__get") & +result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -end subroutine +type(SwigArrayWrapper) :: fresult +end function -subroutine swigc_SpecFile_recalc_total_counts(farg1) & -bind(C, name="_wrap_SpecFile_recalc_total_counts") +subroutine swigc_DetectorAnalysisResult_distance__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_distance__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 end subroutine -subroutine swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) & -bind(C, name="_wrap_SpecFile_merge_neutron_meas_into_gamma_meas") +function swigc_DetectorAnalysisResult_distance__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_distance__get") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -end subroutine +real(C_FLOAT) :: fresult +end function -subroutine swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_rebin_measurement") +subroutine swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 +real(C_FLOAT), intent(in) :: farg2 end subroutine -subroutine swigc_SpecFile_rebin_all_measurements(farg1, farg2) & -bind(C, name="_wrap_SpecFile_rebin_all_measurements") +function swigc_DetectorAnalysisResult_dose_rate__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__get") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +real(C_FLOAT) :: fresult +end function -subroutine swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_energy_calibration_from_CALp_file") +subroutine swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_real_time__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg2 end subroutine -function swigc_SpecFile_detector_names_to_numbers(farg1, farg2) & -bind(C, name="_wrap_SpecFile_detector_names_to_numbers") & +function swigc_DetectorAnalysisResult_real_time__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_real_time__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: fresult end function -subroutine swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_0") +subroutine swigc_DetectorAnalysisResult_detector__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_detector__set") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigArrayWrapper) :: farg2 -integer(C_INT), intent(in) :: farg3 end subroutine -subroutine swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_1") +function swigc_DetectorAnalysisResult_detector__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_detector__get") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 -end subroutine +type(SwigArrayWrapper) :: fresult +end function -subroutine swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_2") +function swigc_new_DetectorAnalysisResult() & +bind(C, name="_wrap_new_DetectorAnalysisResult") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_reset(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_reset") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 end subroutine -subroutine swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_3") +function swigc_DetectorAnalysisResult_isEmpty(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_isEmpty") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 +integer(C_INT) :: fresult +end function + +subroutine swigc_delete_DetectorAnalysisResult(farg1) & +bind(C, name="_wrap_delete_DetectorAnalysisResult") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -subroutine swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write__SWIG_0") +subroutine swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(inout) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 end subroutine -subroutine swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write__SWIG_1") +subroutine swigc_DetectorAnalysis_remarks__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_remarks__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 end subroutine -function swigc_SpecFile_write_pcf(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_pcf") & +function swigc_DetectorAnalysis_remarks__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_remarks__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_write_2006_N42(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_2006_N42") & -result(fresult) +subroutine swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_name__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_write_csv(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_csv") & +function swigc_DetectorAnalysis_algorithm_name__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_name__get") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_SpecFile_write_txt(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_txt") & -result(fresult) +subroutine swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_0") & +function swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_1") & -result(fresult) +subroutine swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_binary_spc") & +function swigc_DetectorAnalysis_algorithm_creator__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__get") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -type(SwigClassWrapper), intent(in) :: farg5 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_ascii_spc") & -result(fresult) +subroutine swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_description__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr130v0") & +function swigc_DetectorAnalysis_algorithm_description__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_description__get") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr135v2") & -result(fresult) +subroutine swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_iaea_spe") & +function swigc_DetectorAnalysis_analysis_start_time__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_cnf") & -result(fresult) +subroutine swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function +real(C_FLOAT), intent(in) :: farg2 +end subroutine -function swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_tka") & +function swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult +real(C_FLOAT) :: fresult end function -function swigc_SpecFile_2012N42_VERSION_get() & -bind(C, name="_wrap_SpecFile_2012N42_VERSION_get") & -result(fresult) +subroutine swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__set") use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: fresult -end function +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine -function swigc_SpecFile_create_2012_N42_xml(farg1) & -bind(C, name="_wrap_SpecFile_create_2012_N42_xml") & +function swigc_DetectorAnalysis_algorithm_result_description__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__get") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: fresult end function -function swigc_SpecFile_write_2012_N42(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_2012_N42") & -result(fresult) +subroutine swigc_DetectorAnalysis_results__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_results__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function +end subroutine -function swigc_SpecFile_mutex(farg1) & -bind(C, name="_wrap_SpecFile_mutex") & +function swigc_DetectorAnalysis_results__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_results__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -4329,81 +4328,47 @@ function swigc_SpecFile_mutex(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_SpecFile_measurement_at(farg1, farg2) & -bind(C, name="_wrap_SpecFile_measurement_at") & +function swigc_new_DetectorAnalysis() & +bind(C, name="_wrap_new_DetectorAnalysis") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -subroutine swigc_SpecFile_op_assign__(farg1, farg2) & -bind(C, name="_wrap_SpecFile_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_DetectorAnalysisResult_remark__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_remark__set") +subroutine swigc_DetectorAnalysis_reset(farg1) & +bind(C, name="_wrap_DetectorAnalysis_reset") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_remark__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_remark__get") & +function swigc_DetectorAnalysis_is_empty(farg1) & +bind(C, name="_wrap_DetectorAnalysis_is_empty") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +integer(C_INT) :: fresult end function -subroutine swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide__set") +subroutine swigc_delete_DetectorAnalysis(farg1) & +bind(C, name="_wrap_delete_DetectorAnalysis") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -function swigc_DetectorAnalysisResult_nuclide__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_activity__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_activity__set") +subroutine swigc_DetectorAnalysis_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_activity__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_activity__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__set") +subroutine swigc_MultimediaData_remark__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_remark__set") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper @@ -4411,8 +4376,8 @@ subroutine swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) & type(SwigArrayWrapper) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_nuclide_type__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__get") & +function swigc_MultimediaData_remark__get(farg1) & +bind(C, name="_wrap_MultimediaData_remark__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper @@ -4421,8 +4386,8 @@ function swigc_DetectorAnalysisResult_nuclide_type__get(farg1) & type(SwigArrayWrapper) :: fresult end function -subroutine swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__set") +subroutine swigc_MultimediaData_descriptions__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_descriptions__set") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper @@ -4430,8 +4395,8 @@ subroutine swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) & type(SwigArrayWrapper) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_id_confidence__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__get") & +function swigc_MultimediaData_descriptions__get(farg1) & +bind(C, name="_wrap_MultimediaData_descriptions__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper @@ -4440,59 +4405,59 @@ function swigc_DetectorAnalysisResult_id_confidence__get(farg1) & type(SwigArrayWrapper) :: fresult end function -subroutine swigc_DetectorAnalysisResult_distance__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_distance__set") +subroutine swigc_MultimediaData_data__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_data__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_distance__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_distance__get") & +function swigc_MultimediaData_data__get(farg1) & +bind(C, name="_wrap_MultimediaData_data__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__set") +subroutine swigc_MultimediaData_data_encoding__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_data_encoding__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_dose_rate__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__get") & +function swigc_MultimediaData_data_encoding__get(farg1) & +bind(C, name="_wrap_MultimediaData_data_encoding__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +integer(C_INT) :: fresult end function -subroutine swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_real_time__set") +subroutine swigc_MultimediaData_capture_start_time__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_capture_start_time__set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_real_time__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_real_time__get") & +function swigc_MultimediaData_capture_start_time__get(farg1) & +bind(C, name="_wrap_MultimediaData_capture_start_time__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_DetectorAnalysisResult_detector__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_detector__set") +subroutine swigc_MultimediaData_file_uri__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_file_uri__set") use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper import :: swigclasswrapper @@ -4500,8 +4465,8 @@ subroutine swigc_DetectorAnalysisResult_detector__set(farg1, farg2) & type(SwigArrayWrapper) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_detector__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_detector__get") & +function swigc_MultimediaData_file_uri__get(farg1) & +bind(C, name="_wrap_MultimediaData_file_uri__get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigarraywrapper @@ -4510,223 +4475,162 @@ function swigc_DetectorAnalysisResult_detector__get(farg1) & type(SwigArrayWrapper) :: fresult end function -function swigc_new_DetectorAnalysisResult() & -bind(C, name="_wrap_new_DetectorAnalysisResult") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_reset(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_reset") +subroutine swigc_MultimediaData_mime_type__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_mime_type__set") use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 end subroutine -function swigc_DetectorAnalysisResult_isEmpty(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_isEmpty") & +function swigc_MultimediaData_mime_type__get(farg1) & +bind(C, name="_wrap_MultimediaData_mime_type__get") & result(fresult) use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult +type(SwigArrayWrapper) :: fresult end function -subroutine swigc_delete_DetectorAnalysisResult(farg1) & -bind(C, name="_wrap_delete_DetectorAnalysisResult") +function swigc_new_MultimediaData() & +bind(C, name="_wrap_new_MultimediaData") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine +type(SwigClassWrapper) :: fresult +end function -subroutine swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_op_assign__") +subroutine swigc_delete_MultimediaData(farg1) & +bind(C, name="_wrap_delete_MultimediaData") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 end subroutine -subroutine swigc_DetectorAnalysis_remarks__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_remarks__set") +subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(inout) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysis_remarks__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_remarks__get") & +function swigc_new_DevPair__SWIG_0() & +bind(C, name="_wrap_new_DevPair__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper) :: fresult end function -subroutine swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_name__set") +function swigc_new_DevPair__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_new_DevPair__SWIG_1") & +result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine +real(C_FLOAT), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function -function swigc_DetectorAnalysis_algorithm_name__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_name__get") & +function swigc_new_DevPair__SWIG_2(farg1) & +bind(C, name="_wrap_new_DevPair__SWIG_2") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__set") +subroutine swigc_DevPair_first_set(farg1, farg2) & +bind(C, name="_wrap_DevPair_first_set") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__get") & +function swigc_DevPair_first_get(farg1) & +bind(C, name="_wrap_DevPair_first_get") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: fresult end function -subroutine swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__set") +subroutine swigc_DevPair_second_set(farg1, farg2) & +bind(C, name="_wrap_DevPair_second_set") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +real(C_FLOAT), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysis_algorithm_creator__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__get") & +function swigc_DevPair_second_get(farg1) & +bind(C, name="_wrap_DevPair_second_get") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +real(C_FLOAT) :: fresult end function -subroutine swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_description__set") +subroutine swigc_delete_DevPair(farg1) & +bind(C, name="_wrap_delete_DevPair") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -function swigc_DetectorAnalysis_algorithm_description__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_description__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__set") +subroutine swigc_DevPair_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DevPair_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(inout) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_DetectorAnalysis_analysis_start_time__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__get") & +function swigc_new_DeviationPairs__SWIG_0() & +bind(C, name="_wrap_new_DeviationPairs__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper) :: fresult end function -subroutine swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_algorithm_result_description__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__get") & +function swigc_new_DeviationPairs__SWIG_1(farg1) & +bind(C, name="_wrap_new_DeviationPairs__SWIG_1") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_DetectorAnalysis_results__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_results__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_results__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_results__get") & +function swigc_new_DeviationPairs__SWIG_2(farg1) & +bind(C, name="_wrap_new_DeviationPairs__SWIG_2") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg1 type(SwigClassWrapper) :: fresult end function -function swigc_new_DetectorAnalysis() & -bind(C, name="_wrap_new_DetectorAnalysis") & +function swigc_new_DeviationPairs__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_DeviationPairs__SWIG_3") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper +integer(C_INT), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -subroutine swigc_DetectorAnalysis_reset(farg1) & -bind(C, name="_wrap_DetectorAnalysis_reset") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -function swigc_DetectorAnalysis_is_empty(farg1) & -bind(C, name="_wrap_DetectorAnalysis_is_empty") & +function swigc_DeviationPairs_size(farg1) & +bind(C, name="_wrap_DeviationPairs_size") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -4734,69 +4638,35 @@ function swigc_DetectorAnalysis_is_empty(farg1) & integer(C_INT) :: fresult end function -subroutine swigc_delete_DetectorAnalysis(farg1) & -bind(C, name="_wrap_delete_DetectorAnalysis") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_DetectorAnalysis_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_MultimediaData_remark__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_remark__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_MultimediaData_remark__get(farg1) & -bind(C, name="_wrap_MultimediaData_remark__get") & +function swigc_DeviationPairs_capacity(farg1) & +bind(C, name="_wrap_DeviationPairs_capacity") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +integer(C_INT) :: fresult end function -subroutine swigc_MultimediaData_descriptions__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_descriptions__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_MultimediaData_descriptions__get(farg1) & -bind(C, name="_wrap_MultimediaData_descriptions__get") & +function swigc_DeviationPairs_empty(farg1) & +bind(C, name="_wrap_DeviationPairs_empty") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult +integer(C_INT) :: fresult end function -subroutine swigc_MultimediaData_data__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_data__set") +function swigc_DeviationPairs_front(farg1) & +bind(C, name="_wrap_DeviationPairs_front") & +result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine +type(SwigClassWrapper) :: fresult +end function -function swigc_MultimediaData_data__get(farg1) & -bind(C, name="_wrap_MultimediaData_data__get") & +function swigc_DeviationPairs_back(farg1) & +bind(C, name="_wrap_DeviationPairs_back") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -4804,121 +4674,100 @@ function swigc_MultimediaData_data__get(farg1) & type(SwigClassWrapper) :: fresult end function -subroutine swigc_MultimediaData_data_encoding__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_data_encoding__set") +subroutine swigc_DeviationPairs_reserve(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_reserve") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 integer(C_INT), intent(in) :: farg2 end subroutine -function swigc_MultimediaData_data_encoding__get(farg1) & -bind(C, name="_wrap_MultimediaData_data_encoding__get") & -result(fresult) +subroutine swigc_DeviationPairs_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_resize__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function +integer(C_INT), intent(in) :: farg2 +end subroutine -subroutine swigc_MultimediaData_capture_start_time__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_capture_start_time__set") +subroutine swigc_DeviationPairs_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_resize__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 end subroutine -function swigc_MultimediaData_capture_start_time__get(farg1) & -bind(C, name="_wrap_MultimediaData_capture_start_time__get") & -result(fresult) +subroutine swigc_DeviationPairs_push_back(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_push_back") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine -subroutine swigc_MultimediaData_file_uri__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_file_uri__set") +subroutine swigc_DeviationPairs_pop_back(farg1) & +bind(C, name="_wrap_DeviationPairs_pop_back") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 end subroutine -function swigc_MultimediaData_file_uri__get(farg1) & -bind(C, name="_wrap_MultimediaData_file_uri__get") & -result(fresult) +subroutine swigc_DeviationPairs_clear(farg1) & +bind(C, name="_wrap_DeviationPairs_clear") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function +end subroutine -subroutine swigc_MultimediaData_mime_type__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_mime_type__set") +subroutine swigc_DeviationPairs_set(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_set") use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 end subroutine -function swigc_MultimediaData_mime_type__get(farg1) & -bind(C, name="_wrap_MultimediaData_mime_type__get") & +function swigc_DeviationPairs_get(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_get") & result(fresult) use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_new_MultimediaData() & -bind(C, name="_wrap_new_MultimediaData") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function -subroutine swigc_delete_MultimediaData(farg1) & -bind(C, name="_wrap_delete_MultimediaData") +subroutine swigc_DeviationPairs_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_insert") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 end subroutine -subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_op_assign__") +subroutine swigc_DeviationPairs_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_erase__SWIG_0") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 end subroutine -function swigc_new_DevPair__SWIG_0() & -bind(C, name="_wrap_new_DevPair__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_DevPair__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_new_DevPair__SWIG_1") & -result(fresult) +subroutine swigc_DeviationPairs_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_erase__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -real(C_FLOAT), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine -function swigc_new_DevPair__SWIG_2(farg1) & -bind(C, name="_wrap_new_DevPair__SWIG_2") & +function swigc_DeviationPairs_front_ref(farg1) & +bind(C, name="_wrap_DeviationPairs_front_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -4926,49 +4775,34 @@ function swigc_new_DevPair__SWIG_2(farg1) & type(SwigClassWrapper) :: fresult end function -subroutine swigc_DevPair_first_set(farg1, farg2) & -bind(C, name="_wrap_DevPair_first_set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DevPair_first_get(farg1) & -bind(C, name="_wrap_DevPair_first_get") & +function swigc_DeviationPairs_back_ref(farg1) & +bind(C, name="_wrap_DeviationPairs_back_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: fresult end function -subroutine swigc_DevPair_second_set(farg1, farg2) & -bind(C, name="_wrap_DevPair_second_set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DevPair_second_get(farg1) & -bind(C, name="_wrap_DevPair_second_get") & +function swigc_DeviationPairs_get_ref(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_get_ref") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult end function -subroutine swigc_delete_DevPair(farg1) & -bind(C, name="_wrap_delete_DevPair") +subroutine swigc_delete_DeviationPairs(farg1) & +bind(C, name="_wrap_delete_DeviationPairs") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(inout) :: farg1 end subroutine -subroutine swigc_DevPair_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DevPair_op_assign__") +subroutine swigc_DeviationPairs_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_op_assign__") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(inout) :: farg1 @@ -5026,7 +4860,7 @@ function swigc_EnergyCalibration_num_channels(farg1) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +integer(C_INT) :: fresult end function function swigc_new_EnergyCalibration() & @@ -5042,7 +4876,7 @@ subroutine swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 end subroutine @@ -5052,7 +4886,7 @@ subroutine swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, f use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 end subroutine @@ -5062,7 +4896,7 @@ subroutine swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 end subroutine @@ -5103,7 +4937,7 @@ function swigc_EnergyCalibration_memmorysize(farg1) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult +integer(C_INT) :: fresult end function function swigc_EnergyCalibration_channel_for_energy(farg1, farg2) & @@ -5148,14 +4982,14 @@ function swigc_EnergyCalibration_sm_min_channels_get() & bind(C, name="_wrap_EnergyCalibration_sm_min_channels_get") & result(fresult) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: fresult +integer(C_INT) :: fresult end function function swigc_EnergyCalibration_sm_max_channels_get() & bind(C, name="_wrap_EnergyCalibration_sm_max_channels_get") & result(fresult) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: fresult +integer(C_INT) :: fresult end function function swigc_EnergyCalibration_sm_polynomial_offset_limit_get() & @@ -5186,7 +5020,7 @@ function swigc_energy_cal_combine_channels(farg1, farg2) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function @@ -5196,7 +5030,7 @@ function swigc_polynomial_binning(farg1, farg2, farg3) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper), intent(in) :: farg3 type(SwigClassWrapper) :: fresult end function @@ -5207,7 +5041,7 @@ function swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper), intent(in) :: farg3 integer(C_INT), intent(in) :: farg4 type(SwigClassWrapper) :: fresult @@ -5219,7 +5053,7 @@ function swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper), intent(in) :: farg3 type(SwigClassWrapper) :: fresult end function @@ -5231,7 +5065,7 @@ function swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) & import :: swigclasswrapper real(C_DOUBLE), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 real(C_DOUBLE) :: fresult end function @@ -5283,7 +5117,7 @@ function swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function @@ -5293,7 +5127,7 @@ function swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function @@ -5303,7 +5137,7 @@ function swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) & use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg2 type(SwigClassWrapper) :: fresult end function @@ -5315,7 +5149,7 @@ function swigc_calibration_is_valid(farg1, farg2, farg3, farg4) & integer(C_INT), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 type(SwigClassWrapper), intent(in) :: farg3 -integer(C_SIZE_T), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg4 integer(C_INT) :: fresult end function @@ -5336,7 +5170,7 @@ function swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4 import :: swigclasswrapper real(C_DOUBLE), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 real(C_DOUBLE), intent(in) :: farg5 real(C_DOUBLE) :: fresult @@ -5349,7 +5183,7 @@ function swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4 import :: swigclasswrapper real(C_DOUBLE), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 real(C_DOUBLE) :: fresult end function @@ -5361,7 +5195,7 @@ function swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5 import :: swigclasswrapper real(C_DOUBLE), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 real(C_DOUBLE), intent(in) :: farg5 real(C_DOUBLE) :: fresult @@ -5374,7 +5208,7 @@ function swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) & import :: swigclasswrapper real(C_DOUBLE), intent(in) :: farg1 type(SwigClassWrapper), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg3 type(SwigClassWrapper), intent(in) :: farg4 real(C_DOUBLE) :: fresult end function @@ -5401,86 +5235,349 @@ function swigc_write_CALp_file(farg1, farg2, farg3) & integer(C_INT) :: fresult end function +function swigc_remove_file(farg1) & +bind(C, name="_wrap_remove_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_is_file(farg1) & +bind(C, name="_wrap_is_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_rename_file(farg1, farg2) & +bind(C, name="_wrap_rename_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_is_directory(farg1) & +bind(C, name="_wrap_is_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_create_directory(farg1) & +bind(C, name="_wrap_create_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_can_rw_in_directory(farg1) & +bind(C, name="_wrap_can_rw_in_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_append_path(farg1, farg2) & +bind(C, name="_wrap_append_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_filename(farg1) & +bind(C, name="_wrap_filename") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_parent_path(farg1) & +bind(C, name="_wrap_parent_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_file_extension(farg1) & +bind(C, name="_wrap_file_extension") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_file_size(farg1) & +bind(C, name="_wrap_file_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_temp_dir() & +bind(C, name="_wrap_temp_dir") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: fresult +end function + +function swigc_is_absolute_path(farg1) & +bind(C, name="_wrap_is_absolute_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_get_working_path() & +bind(C, name="_wrap_get_working_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: fresult +end function + +function swigc_temp_file_name(farg1, farg2) & +bind(C, name="_wrap_temp_file_name") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_sm_recursive_ls_max_depth_get() & +bind(C, name="_wrap_sm_recursive_ls_max_depth_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_sm_ls_max_results_get() & +bind(C, name="_wrap_sm_ls_max_results_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_recursive_ls__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_recursive_ls__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_recursive_ls__SWIG_1(farg1) & +bind(C, name="_wrap_recursive_ls__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_recursive_ls__SWIG_2(farg1, farg2, farg3) & +bind(C, name="_wrap_recursive_ls__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR), value :: farg2 +type(C_PTR), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_files_in_directory__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_ls_files_in_directory__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_files_in_directory__SWIG_1(farg1) & +bind(C, name="_wrap_ls_files_in_directory__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_files_in_directory__SWIG_2(farg1, farg2, farg3) & +bind(C, name="_wrap_ls_files_in_directory__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR), value :: farg2 +type(C_PTR), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_directories_in_directory(farg1) & +bind(C, name="_wrap_ls_directories_in_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fs_relative(farg1, farg2) & +bind(C, name="_wrap_fs_relative") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_lexically_normalize_path(farg1) & +bind(C, name="_wrap_lexically_normalize_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_load_file_data(farg1, farg2) & +bind(C, name="_wrap_load_file_data") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_likely_not_spec_file(farg1) & +bind(C, name="_wrap_likely_not_spec_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + end interface contains ! MODULE SUBPROGRAMS -function swigf_new_IntVector__SWIG_0() & +function swigf_new_FloatVector__SWIG_0() & result(self) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self +type(FloatVector) :: self type(SwigClassWrapper) :: fresult -fresult = swigc_new_IntVector__SWIG_0() +fresult = swigc_new_FloatVector__SWIG_0() self%swigdata = fresult end function -function swigf_new_IntVector__SWIG_1(other) & +function swigf_new_FloatVector__SWIG_1(other) & result(self) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self -class(IntVector), intent(in) :: other +type(FloatVector) :: self +class(FloatVector), intent(in) :: other type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = other%swigdata -fresult = swigc_new_IntVector__SWIG_1(farg1) +fresult = swigc_new_FloatVector__SWIG_1(farg1) self%swigdata = fresult end function -function swigf_new_IntVector__SWIG_2(count) & +function swigf_new_FloatVector__SWIG_2(count) & result(self) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self +type(FloatVector) :: self integer, intent(in) :: count type(SwigClassWrapper) :: fresult integer(C_SIZE_T) :: farg1 farg1 = int(count, C_INT) -fresult = swigc_new_IntVector__SWIG_2(farg1) +fresult = swigc_new_FloatVector__SWIG_2(farg1) self%swigdata = fresult end function -function swigf_new_IntVector__SWIG_3(count, v) & +function swigf_new_FloatVector__SWIG_3(count, v) & result(self) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: self +type(FloatVector) :: self integer, intent(in) :: count -integer(C_INT), intent(in) :: v +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: fresult integer(C_SIZE_T) :: farg1 -integer(C_INT) :: farg2 +real(C_FLOAT) :: farg2 farg1 = int(count, C_INT) farg2 = v -fresult = swigc_new_IntVector__SWIG_3(farg1, farg2) +fresult = swigc_new_FloatVector__SWIG_3(farg1, farg2) self%swigdata = fresult end function -function swigf_IntVector_size(self) & +function swigf_FloatVector_size(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer :: swig_result -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_size(farg1) +fresult = swigc_FloatVector_size(farg1) swig_result = int(fresult) end function -function swigf_IntVector_capacity(self) & +function swigf_FloatVector_capacity(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer :: swig_result -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_capacity(farg1) +fresult = swigc_FloatVector_capacity(farg1) swig_result = int(fresult) end function @@ -5492,175 +5589,175 @@ subroutine SWIGTM_fout_bool(imout, fout) fout = (imout /= 0) end subroutine -function swigf_IntVector_empty(self) & +function swigf_FloatVector_empty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_empty(farg1) +fresult = swigc_FloatVector_empty(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_IntVector_front(self) & +function swigf_FloatVector_front(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(IntVector), intent(in) :: self -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_front(farg1) +fresult = swigc_FloatVector_front(farg1) swig_result = fresult end function -function swigf_IntVector_back(self) & +function swigf_FloatVector_back(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(IntVector), intent(in) :: self -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_back(farg1) +fresult = swigc_FloatVector_back(farg1) swig_result = fresult end function -subroutine swigf_IntVector_reserve(self, count) +subroutine swigf_FloatVector_reserve(self, count) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_IntVector_reserve(farg1, farg2) +call swigc_FloatVector_reserve(farg1, farg2) end subroutine -subroutine swigf_IntVector_resize__SWIG_0(self, count) +subroutine swigf_FloatVector_resize__SWIG_0(self, count) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_IntVector_resize__SWIG_0(farg1, farg2) +call swigc_FloatVector_resize__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_IntVector_resize__SWIG_1(self, count, v) +subroutine swigf_FloatVector_resize__SWIG_1(self, count, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: count -integer(C_INT), intent(in) :: v +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -integer(C_INT) :: farg3 +real(C_FLOAT) :: farg3 farg1 = self%swigdata farg2 = int(count, C_INT) farg3 = v -call swigc_IntVector_resize__SWIG_1(farg1, farg2, farg3) +call swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) end subroutine -subroutine swigf_IntVector_push_back(self, v) +subroutine swigf_FloatVector_push_back(self, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self -integer(C_INT), intent(in) :: v +class(FloatVector), intent(in) :: self +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata farg2 = v -call swigc_IntVector_push_back(farg1, farg2) +call swigc_FloatVector_push_back(farg1, farg2) end subroutine -subroutine swigf_IntVector_pop_back(self) +subroutine swigf_FloatVector_pop_back(self) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_IntVector_pop_back(farg1) +call swigc_FloatVector_pop_back(farg1) end subroutine -subroutine swigf_IntVector_clear(self) +subroutine swigf_FloatVector_clear(self) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_IntVector_clear(farg1) +call swigc_FloatVector_clear(farg1) end subroutine -subroutine swigf_IntVector_set(self, index, v) +subroutine swigf_FloatVector_set(self, index, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: index -integer(C_INT), intent(in) :: v +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -integer(C_INT) :: farg3 +real(C_FLOAT) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) farg3 = v -call swigc_IntVector_set(farg1, farg2, farg3) +call swigc_FloatVector_set(farg1, farg2, farg3) end subroutine -function swigf_IntVector_get(self, index) & +function swigf_FloatVector_get(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self integer, intent(in) :: index -integer(C_INT) :: fresult +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_IntVector_get(farg1, farg2) +fresult = swigc_FloatVector_get(farg1, farg2) swig_result = fresult end function -subroutine swigf_IntVector_insert(self, index, v) +subroutine swigf_FloatVector_insert(self, index, v) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: index -integer(C_INT), intent(in) :: v +real(C_FLOAT), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -integer(C_INT) :: farg3 +real(C_FLOAT) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) farg3 = v -call swigc_IntVector_insert(farg1, farg2, farg3) +call swigc_FloatVector_insert(farg1, farg2, farg3) end subroutine -subroutine swigf_IntVector_erase__SWIG_0(self, index) +subroutine swigf_FloatVector_erase__SWIG_0(self, index) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: index type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -call swigc_IntVector_erase__SWIG_0(farg1, farg2) +call swigc_FloatVector_erase__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_IntVector_erase__SWIG_1(self, start_index, stop_index) +subroutine swigf_FloatVector_erase__SWIG_1(self, start_index, stop_index) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(in) :: self +class(FloatVector), intent(in) :: self integer, intent(in) :: start_index integer, intent(in) :: stop_index type(SwigClassWrapper) :: farg1 @@ -5670,40 +5767,40 @@ subroutine swigf_IntVector_erase__SWIG_1(self, start_index, stop_index) farg1 = self%swigdata farg2 = int(start_index, C_INT) farg3 = int(stop_index, C_INT) -call swigc_IntVector_erase__SWIG_1(farg1, farg2, farg3) +call swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) end subroutine -function swigf_IntVector_front_ref(self) & +function swigf_FloatVector_front_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT), pointer :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self type(C_PTR) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_front_ref(farg1) +fresult = swigc_FloatVector_front_ref(farg1) call c_f_pointer(fresult, swig_result) end function -function swigf_IntVector_back_ref(self) & +function swigf_FloatVector_back_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT), pointer :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self type(C_PTR) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_IntVector_back_ref(farg1) +fresult = swigc_FloatVector_back_ref(farg1) call c_f_pointer(fresult, swig_result) end function -function swigf_IntVector_get_ref(self, index) & +function swigf_FloatVector_get_ref(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT), pointer :: swig_result -class(IntVector), intent(in) :: self +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self integer, intent(in) :: index type(C_PTR) :: fresult type(SwigClassWrapper) :: farg1 @@ -5711,284 +5808,284 @@ function swigf_IntVector_get_ref(self, index) & farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_IntVector_get_ref(farg1, farg2) +fresult = swigc_FloatVector_get_ref(farg1, farg2) call c_f_pointer(fresult, swig_result) end function -subroutine swigf_IntVector_release(self) +subroutine swigf_FloatVector_release(self) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(inout) :: self +class(FloatVector), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_IntVector(farg1) +call swigc_delete_FloatVector(farg1) endif farg1%cptr = C_NULL_PTR farg1%cmemflags = 0 self%swigdata = farg1 end subroutine -subroutine swigf_IntVector_op_assign__(self, other) +subroutine swigf_FloatVector_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(IntVector), intent(inout) :: self -type(IntVector), intent(in) :: other +class(FloatVector), intent(inout) :: self +type(FloatVector), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata farg2 = other%swigdata -call swigc_IntVector_op_assign__(farg1, farg2) +call swigc_FloatVector_op_assign__(farg1, farg2) self%swigdata = farg1 end subroutine -function swigf_new_DoubleVector__SWIG_0() & +function swigf_new_MeasurementVector__SWIG_0() & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self +type(MeasurementVector) :: self type(SwigClassWrapper) :: fresult -fresult = swigc_new_DoubleVector__SWIG_0() +fresult = swigc_new_MeasurementVector__SWIG_0() self%swigdata = fresult end function -function swigf_new_DoubleVector__SWIG_1(other) & +function swigf_new_MeasurementVector__SWIG_1(other) & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self -class(DoubleVector), intent(in) :: other +type(MeasurementVector) :: self +class(MeasurementVector), intent(in) :: other type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = other%swigdata -fresult = swigc_new_DoubleVector__SWIG_1(farg1) +fresult = swigc_new_MeasurementVector__SWIG_1(farg1) self%swigdata = fresult end function -function swigf_new_DoubleVector__SWIG_2(count) & +function swigf_new_MeasurementVector__SWIG_2(count) & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self +type(MeasurementVector) :: self integer, intent(in) :: count type(SwigClassWrapper) :: fresult integer(C_SIZE_T) :: farg1 farg1 = int(count, C_INT) -fresult = swigc_new_DoubleVector__SWIG_2(farg1) +fresult = swigc_new_MeasurementVector__SWIG_2(farg1) self%swigdata = fresult end function -function swigf_new_DoubleVector__SWIG_3(count, v) & +function swigf_new_MeasurementVector__SWIG_3(count, v) & result(self) use, intrinsic :: ISO_C_BINDING -type(DoubleVector) :: self +type(MeasurementVector) :: self integer, intent(in) :: count -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: fresult integer(C_SIZE_T) :: farg1 -real(C_DOUBLE) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = int(count, C_INT) -farg2 = v -fresult = swigc_new_DoubleVector__SWIG_3(farg1, farg2) +farg2 = v%swigdata +fresult = swigc_new_MeasurementVector__SWIG_3(farg1, farg2) self%swigdata = fresult end function -function swigf_DoubleVector_size(self) & +function swigf_MeasurementVector_size(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer :: swig_result -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_size(farg1) +fresult = swigc_MeasurementVector_size(farg1) swig_result = int(fresult) end function -function swigf_DoubleVector_capacity(self) & +function swigf_MeasurementVector_capacity(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING integer :: swig_result -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer(C_SIZE_T) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_capacity(farg1) +fresult = swigc_MeasurementVector_capacity(farg1) swig_result = int(fresult) end function -function swigf_DoubleVector_empty(self) & +function swigf_MeasurementVector_empty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_empty(farg1) +fresult = swigc_MeasurementVector_empty(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_DoubleVector_front(self) & +function swigf_MeasurementVector_front(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(DoubleVector), intent(in) :: self -real(C_DOUBLE) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_front(farg1) -swig_result = fresult +fresult = swigc_MeasurementVector_front(farg1) +swig_result%swigdata = fresult end function -function swigf_DoubleVector_back(self) & +function swigf_MeasurementVector_back(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(DoubleVector), intent(in) :: self -real(C_DOUBLE) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_back(farg1) -swig_result = fresult +fresult = swigc_MeasurementVector_back(farg1) +swig_result%swigdata = fresult end function -subroutine swigf_DoubleVector_reserve(self, count) +subroutine swigf_MeasurementVector_reserve(self, count) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_DoubleVector_reserve(farg1, farg2) +call swigc_MeasurementVector_reserve(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_resize__SWIG_0(self, count) +subroutine swigf_MeasurementVector_resize__SWIG_0(self, count) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: count type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(count, C_INT) -call swigc_DoubleVector_resize__SWIG_0(farg1, farg2) +call swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_resize__SWIG_1(self, count, v) +subroutine swigf_MeasurementVector_resize__SWIG_1(self, count, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: count -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata farg2 = int(count, C_INT) -farg3 = v -call swigc_DoubleVector_resize__SWIG_1(farg1, farg2, farg3) +farg3 = v%swigdata +call swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) end subroutine -subroutine swigf_DoubleVector_push_back(self, v) +subroutine swigf_MeasurementVector_push_back(self, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self -real(C_DOUBLE), intent(in) :: v +class(MeasurementVector), intent(in) :: self +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = v -call swigc_DoubleVector_push_back(farg1, farg2) +farg2 = v%swigdata +call swigc_MeasurementVector_push_back(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_pop_back(self) +subroutine swigf_MeasurementVector_pop_back(self) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_DoubleVector_pop_back(farg1) +call swigc_MeasurementVector_pop_back(farg1) end subroutine -subroutine swigf_DoubleVector_clear(self) +subroutine swigf_MeasurementVector_clear(self) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_DoubleVector_clear(farg1) +call swigc_MeasurementVector_clear(farg1) end subroutine -subroutine swigf_DoubleVector_set(self, index, v) +subroutine swigf_MeasurementVector_set(self, index, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) -farg3 = v -call swigc_DoubleVector_set(farg1, farg2, farg3) +farg3 = v%swigdata +call swigc_MeasurementVector_set(farg1, farg2, farg3) end subroutine -function swigf_DoubleVector_get(self, index) & +function swigf_MeasurementVector_get(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(DoubleVector), intent(in) :: self +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_DoubleVector_get(farg1, farg2) -swig_result = fresult +fresult = swigc_MeasurementVector_get(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_DoubleVector_insert(self, index, v) +subroutine swigf_MeasurementVector_insert(self, index, v) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -real(C_DOUBLE), intent(in) :: v +class(Measurement), intent(in) :: v type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 -real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata farg2 = int(index, C_INT) -farg3 = v -call swigc_DoubleVector_insert(farg1, farg2, farg3) +farg3 = v%swigdata +call swigc_MeasurementVector_insert(farg1, farg2, farg3) end subroutine -subroutine swigf_DoubleVector_erase__SWIG_0(self, index) +subroutine swigf_MeasurementVector_erase__SWIG_0(self, index) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -call swigc_DoubleVector_erase__SWIG_0(farg1, farg2) +call swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_DoubleVector_erase__SWIG_1(self, start_index, stop_index) +subroutine swigf_MeasurementVector_erase__SWIG_1(self, start_index, stop_index) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(in) :: self +class(MeasurementVector), intent(in) :: self integer, intent(in) :: start_index integer, intent(in) :: stop_index type(SwigClassWrapper) :: farg1 @@ -5998,1162 +6095,1083 @@ subroutine swigf_DoubleVector_erase__SWIG_1(self, start_index, stop_index) farg1 = self%swigdata farg2 = int(start_index, C_INT) farg3 = int(stop_index, C_INT) -call swigc_DoubleVector_erase__SWIG_1(farg1, farg2, farg3) +call swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) end subroutine -function swigf_DoubleVector_front_ref(self) & +function swigf_MeasurementVector_front_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE), pointer :: swig_result -class(DoubleVector), intent(in) :: self -type(C_PTR) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_front_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_MeasurementVector_front_ref(farg1) +swig_result%swigdata = fresult end function -function swigf_DoubleVector_back_ref(self) & +function swigf_MeasurementVector_back_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE), pointer :: swig_result -class(DoubleVector), intent(in) :: self -type(C_PTR) :: fresult +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DoubleVector_back_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_MeasurementVector_back_ref(farg1) +swig_result%swigdata = fresult end function -function swigf_DoubleVector_get_ref(self, index) & +function swigf_MeasurementVector_get_ref(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE), pointer :: swig_result -class(DoubleVector), intent(in) :: self +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self integer, intent(in) :: index -type(C_PTR) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 integer(C_SIZE_T) :: farg2 farg1 = self%swigdata farg2 = int(index, C_INT) -fresult = swigc_DoubleVector_get_ref(farg1, farg2) -call c_f_pointer(fresult, swig_result) +fresult = swigc_MeasurementVector_get_ref(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_DoubleVector_release(self) +subroutine swigf_MeasurementVector_release(self) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(inout) :: self +class(MeasurementVector), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DoubleVector(farg1) +call swigc_delete_MeasurementVector(farg1) endif farg1%cptr = C_NULL_PTR farg1%cmemflags = 0 self%swigdata = farg1 end subroutine -subroutine swigf_DoubleVector_op_assign__(self, other) +subroutine swigf_MeasurementVector_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(DoubleVector), intent(inout) :: self -type(DoubleVector), intent(in) :: other +class(MeasurementVector), intent(inout) :: self +type(MeasurementVector), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata farg2 = other%swigdata -call swigc_DoubleVector_op_assign__(farg1, farg2) +call swigc_MeasurementVector_op_assign__(farg1, farg2) self%swigdata = farg1 end subroutine -function swigf_new_FloatVector__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_FloatVector__SWIG_0() -self%swigdata = fresult -end function -function swigf_new_FloatVector__SWIG_1(other) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -class(FloatVector), intent(in) :: other -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +subroutine SWIGTM_fin_char_Sm_(finp, iminp, temp) + use, intrinsic :: ISO_C_BINDING + character(len=*), intent(in) :: finp + type(SwigArrayWrapper), intent(out) :: iminp + character(kind=C_CHAR), dimension(:), target, allocatable, intent(out) :: temp + integer :: i -farg1 = other%swigdata -fresult = swigc_new_FloatVector__SWIG_1(farg1) -self%swigdata = fresult -end function + allocate(character(kind=C_CHAR) :: temp(len(finp) + 1)) + do i=1,len(finp) + temp(i) = char(ichar(finp(i:i)), kind=C_CHAR) + end do + i = len(finp) + 1 + temp(i) = C_NULL_CHAR ! C finp compatibility + iminp%data = c_loc(temp) + iminp%size = len(finp, kind=C_SIZE_T) +end subroutine -function swigf_new_FloatVector__SWIG_2(count) & -result(self) +function spectrumTypeFromDescription(descrip) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 - -farg1 = int(count, C_INT) -fresult = swigc_new_FloatVector__SWIG_2(farg1) -self%swigdata = fresult -end function - -function swigf_new_FloatVector__SWIG_3(count, v) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -integer, intent(in) :: count -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 -real(C_FLOAT) :: farg2 +integer(SpectrumType) :: swig_result +character(len=*), intent(in) :: descrip +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = int(count, C_INT) -farg2 = v -fresult = swigc_new_FloatVector__SWIG_3(farg1, farg2) -self%swigdata = fresult +call SWIGTM_fin_char_Sm_(descrip, farg1, farg1_temp) +fresult = swigc_spectrumTypeFromDescription(farg1) +swig_result = fresult end function -function swigf_FloatVector_size(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(FloatVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 -farg1 = self%swigdata -fresult = swigc_FloatVector_size(farg1) -swig_result = int(fresult) -end function +subroutine SWIGTM_fout_char_Sm_(imout, fout) + use, intrinsic :: ISO_C_BINDING + type(SwigArrayWrapper), intent(in) :: imout + character(len=:), allocatable, intent(out) :: fout + character(kind=C_CHAR), dimension(:), pointer :: chars + integer(kind=C_SIZE_T) :: i + call c_f_pointer(imout%data, chars, [imout%size]) + allocate(character(len=imout%size) :: fout) + do i=1, imout%size + fout(i:i) = char(ichar(chars(i))) + end do +end subroutine -function swigf_FloatVector_capacity(self) & +function suggestedNameEnding(type) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(FloatVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 +character(len=:), allocatable :: swig_result +integer(SaveSpectrumAsType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 -farg1 = self%swigdata -fresult = swigc_FloatVector_capacity(farg1) -swig_result = int(fresult) +farg1 = type +fresult = swigc_suggestedNameEnding(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) end function -function swigf_FloatVector_empty(self) & +function swigf_is_candidate_n42_file__SWIG_0(data) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(FloatVector), intent(in) :: self +character(len=*), intent(in) :: data integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = self%swigdata -fresult = swigc_FloatVector_empty(farg1) +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +fresult = swigc_is_candidate_n42_file__SWIG_0(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_FloatVector_front(self) & +function swigf_is_candidate_n42_file__SWIG_1(data, data_end) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 +logical :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = self%swigdata -fresult = swigc_FloatVector_front(farg1) -swig_result = fresult +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_FloatVector_back(self) & +function convert_n42_utf16_xml_to_utf8(data, data_end) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = self%swigdata -fresult = swigc_FloatVector_back(farg1) -swig_result = fresult +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) end function -subroutine swigf_FloatVector_reserve(self, count) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_FloatVector_reserve(farg1, farg2) -end subroutine - -subroutine swigf_FloatVector_resize__SWIG_0(self, count) +subroutine add_analysis_results_to_2012_N42(ana, radinstrumentdata, xmldocmutex) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count +class(DetectorAnalysis), intent(in) :: ana +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: radinstrumentdata +class(SWIGTYPE_p_std__mutex), intent(in) :: xmldocmutex type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_FloatVector_resize__SWIG_0(farg1, farg2) +farg1 = ana%swigdata +farg2 = radinstrumentdata%swigdata +farg3 = xmldocmutex%swigdata +call swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) end subroutine -subroutine swigf_FloatVector_resize__SWIG_1(self, count, v) +subroutine set_analysis_info_from_n42(analysis_node, analysis) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count -real(C_FLOAT), intent(in) :: v +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: analysis_node +class(DetectorAnalysis), intent(in) :: analysis type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 +type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -farg2 = int(count, C_INT) -farg3 = v -call swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) +farg1 = analysis_node%swigdata +farg2 = analysis%swigdata +call swigc_set_analysis_info_from_n42(farg1, farg2) end subroutine -subroutine swigf_FloatVector_push_back(self, v) +function gamma_integral(hist, lowenergy, upperunergy) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -real(C_FLOAT), intent(in) :: v +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: hist +real(C_FLOAT), intent(in) :: lowenergy +real(C_FLOAT), intent(in) :: upperunergy +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 -farg1 = self%swigdata -farg2 = v -call swigc_FloatVector_push_back(farg1, farg2) -end subroutine +farg1 = hist%swigdata +farg2 = lowenergy +farg3 = upperunergy +fresult = swigc_gamma_integral(farg1, farg2, farg3) +swig_result = fresult +end function -subroutine swigf_FloatVector_pop_back(self) +function detectorTypeToString(type) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -type(SwigClassWrapper) :: farg1 +character(len=:), allocatable :: swig_result +integer(DetectorType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 -farg1 = self%swigdata -call swigc_FloatVector_pop_back(farg1) -end subroutine +farg1 = type +fresult = swigc_detectorTypeToString(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_FloatVector_clear(self) +function swigf_new_Measurement() & +result(self) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -type(SwigClassWrapper) :: farg1 +type(Measurement) :: self +type(SwigClassWrapper) :: fresult -farg1 = self%swigdata -call swigc_FloatVector_clear(farg1) -end subroutine +fresult = swigc_new_Measurement() +self%swigdata = fresult +end function -subroutine swigf_FloatVector_set(self, index, v) +function swigf_Measurement_memmorysize(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT), intent(in) :: v +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v -call swigc_FloatVector_set(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_memmorysize(farg1) +swig_result = fresult +end function -function swigf_FloatVector_get(self, index) & +function swigf_Measurement_live_time(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -integer, intent(in) :: index +class(Measurement), intent(in) :: self real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_FloatVector_get(farg1, farg2) +fresult = swigc_Measurement_live_time(farg1) swig_result = fresult end function -subroutine swigf_FloatVector_insert(self, index, v) +subroutine swigf_Measurement_set_live_time(self, time) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT), intent(in) :: v +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: time type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v -call swigc_FloatVector_insert(farg1, farg2, farg3) +farg2 = time +call swigc_Measurement_set_live_time(farg1, farg2) end subroutine -subroutine swigf_FloatVector_erase__SWIG_0(self, index) +function swigf_Measurement_real_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -call swigc_FloatVector_erase__SWIG_0(farg1, farg2) -end subroutine +fresult = swigc_Measurement_real_time(farg1) +swig_result = fresult +end function -subroutine swigf_FloatVector_erase__SWIG_1(self, start_index, stop_index) +subroutine swigf_Measurement_set_real_time(self, time) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: start_index -integer, intent(in) :: stop_index +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: time type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = int(start_index, C_INT) -farg3 = int(stop_index, C_INT) -call swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) +farg2 = time +call swigc_Measurement_set_real_time(farg1, farg2) end subroutine -function swigf_FloatVector_front_ref(self) & +function swigf_Measurement_contained_neutron(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -type(C_PTR) :: fresult +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_FloatVector_front_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_Measurement_contained_neutron(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_FloatVector_back_ref(self) & +function swigf_Measurement_sample_number(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -type(C_PTR) :: fresult +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_FloatVector_back_ref(farg1) -call c_f_pointer(fresult, swig_result) +fresult = swigc_Measurement_sample_number(farg1) +swig_result = fresult end function -function swigf_FloatVector_get_ref(self, index) & +function swigf_Measurement_title(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -type(C_PTR) :: fresult +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_FloatVector_get_ref(farg1, farg2) -call c_f_pointer(fresult, swig_result) +fresult = swigc_Measurement_title(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -subroutine swigf_FloatVector_release(self) +function swigf_Measurement_occupied(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(inout) :: self +integer(OccupancyStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_FloatVector(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine +fresult = swigc_Measurement_occupied(farg1) +swig_result = fresult +end function -subroutine swigf_FloatVector_op_assign__(self, other) +function swigf_Measurement_gamma_count_sum(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(inout) :: self -type(FloatVector), intent(in) :: other +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_FloatVector_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_new_MeasurementVector__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_MeasurementVector__SWIG_0() -self%swigdata = fresult +fresult = swigc_Measurement_gamma_count_sum(farg1) +swig_result = fresult end function -function swigf_new_MeasurementVector__SWIG_1(other) & -result(self) +function swigf_Measurement_neutron_live_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -class(MeasurementVector), intent(in) :: other -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -farg1 = other%swigdata -fresult = swigc_new_MeasurementVector__SWIG_1(farg1) -self%swigdata = fresult -end function - -function swigf_new_MeasurementVector__SWIG_2(count) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 - -farg1 = int(count, C_INT) -fresult = swigc_new_MeasurementVector__SWIG_2(farg1) -self%swigdata = fresult -end function - -function swigf_new_MeasurementVector__SWIG_3(count, v) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -integer, intent(in) :: count -class(Measurement), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = int(count, C_INT) -farg2 = v%swigdata -fresult = swigc_new_MeasurementVector__SWIG_3(farg1, farg2) -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_live_time(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_size(self) & +function swigf_Measurement_neutron_counts_sum(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_SIZE_T) :: fresult +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_size(farg1) -swig_result = int(fresult) +fresult = swigc_Measurement_neutron_counts_sum(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_capacity(self) & +function swigf_Measurement_speed(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_SIZE_T) :: fresult +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_capacity(farg1) -swig_result = int(fresult) +fresult = swigc_Measurement_speed(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_empty(self) & +function swigf_Measurement_dx(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_Measurement_dx(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_front(self) & +function swigf_Measurement_dy(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_front(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_dy(farg1) +swig_result = fresult end function -function swigf_MeasurementVector_back(self) & +function swigf_Measurement_latitude(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_back(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_latitude(farg1) +swig_result = fresult end function -subroutine swigf_MeasurementVector_reserve(self, count) +function swigf_Measurement_longitude(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_MeasurementVector_reserve(farg1, farg2) -end subroutine +fresult = swigc_Measurement_longitude(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_resize__SWIG_0(self, count) +function swigf_Measurement_has_gps_info(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) -end subroutine +fresult = swigc_Measurement_has_gps_info(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_MeasurementVector_resize__SWIG_1(self, count, v) +function swigf_Measurement_dose_rate(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count -class(Measurement), intent(in) :: v +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = int(count, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_dose_rate(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_push_back(self, v) +function swigf_Measurement_exposure_rate(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -class(Measurement), intent(in) :: v +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = v%swigdata -call swigc_MeasurementVector_push_back(farg1, farg2) -end subroutine +fresult = swigc_Measurement_exposure_rate(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_pop_back(self) +function swigf_Measurement_position_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_MeasurementVector_pop_back(farg1) -end subroutine +fresult = swigc_Measurement_position_time(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_MeasurementVector_clear(self) +function swigf_Measurement_detector_name(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_MeasurementVector_clear(farg1) -end subroutine +fresult = swigc_Measurement_detector_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_MeasurementVector_set(self, index, v) +function swigf_Measurement_detector_number(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -class(Measurement), intent(in) :: v +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_set(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_detector_number(farg1) +swig_result = fresult +end function -function swigf_MeasurementVector_get(self, index) & +function swigf_Measurement_detector_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: fresult +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_MeasurementVector_get(farg1, farg2) -swig_result%swigdata = fresult +fresult = swigc_Measurement_detector_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -subroutine swigf_MeasurementVector_insert(self, index, v) +function swigf_Measurement_quality_status(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -class(Measurement), intent(in) :: v +integer(QualityStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_insert(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_quality_status(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_erase__SWIG_0(self, index) +function swigf_Measurement_source_type(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index +integer(SourceType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -call swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) -end subroutine +fresult = swigc_Measurement_source_type(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_erase__SWIG_1(self, start_index, stop_index) +function swigf_Measurement_remarks(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: start_index -integer, intent(in) :: stop_index +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 farg1 = self%swigdata -farg2 = int(start_index, C_INT) -farg3 = int(stop_index, C_INT) -call swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) -end subroutine +fresult = swigc_Measurement_remarks(farg1) +swig_result%swigdata = fresult +end function -function swigf_MeasurementVector_front_ref(self) & +function swigf_Measurement_parse_warnings(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_front_ref(farg1) +fresult = swigc_Measurement_parse_warnings(farg1) swig_result%swigdata = fresult end function -function swigf_MeasurementVector_back_ref(self) & +function swigf_Measurement_start_time(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MeasurementVector_back_ref(farg1) +fresult = swigc_Measurement_start_time(farg1) swig_result%swigdata = fresult end function -function swigf_MeasurementVector_get_ref(self, index) & +function swigf_Measurement_start_time_copy(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_MeasurementVector_get_ref(farg1, farg2) +fresult = swigc_Measurement_start_time_copy(farg1) swig_result%swigdata = fresult end function -subroutine swigf_MeasurementVector_release(self) +function swigf_Measurement_energy_calibration_model(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(inout) :: self +integer(SWIGTYPE_SpecUtils__EnergyCalType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_MeasurementVector(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine +fresult = swigc_Measurement_energy_calibration_model(farg1) +swig_result = fresult +end function -subroutine swigf_MeasurementVector_op_assign__(self, other) +function swigf_Measurement_calibration_coeffs(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(inout) :: self -type(MeasurementVector), intent(in) :: other +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_MeasurementVector_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - - -subroutine SWIGTM_fin_char_Sm_(finp, iminp, temp) - use, intrinsic :: ISO_C_BINDING - character(len=*), intent(in) :: finp - type(SwigArrayWrapper), intent(out) :: iminp - character(kind=C_CHAR), dimension(:), target, allocatable, intent(out) :: temp - integer :: i - - allocate(character(kind=C_CHAR) :: temp(len(finp) + 1)) - do i=1,len(finp) - temp(i) = char(ichar(finp(i:i)), kind=C_CHAR) - end do - i = len(finp) + 1 - temp(i) = C_NULL_CHAR ! C finp compatibility - iminp%data = c_loc(temp) - iminp%size = len(finp, kind=C_SIZE_T) -end subroutine +fresult = swigc_Measurement_calibration_coeffs(farg1) +swig_result%swigdata = fresult +end function -function spectrumTypeFromDescription(descrip) & +function swigf_Measurement_deviation_pairs(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(SpectrumType) :: swig_result -character(len=*), intent(in) :: descrip -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 +type(DeviationPairs) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -call SWIGTM_fin_char_Sm_(descrip, farg1, farg1_temp) -fresult = swigc_spectrumTypeFromDescription(farg1) -swig_result = fresult +farg1 = self%swigdata +fresult = swigc_Measurement_deviation_pairs(farg1) +swig_result%swigdata = fresult end function +function swigf_Measurement_energy_calibration(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibration) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -subroutine SWIGTM_fout_char_Sm_(imout, fout) - use, intrinsic :: ISO_C_BINDING - type(SwigArrayWrapper), intent(in) :: imout - character(len=:), allocatable, intent(out) :: fout - character(kind=C_CHAR), dimension(:), pointer :: chars - integer(kind=C_SIZE_T) :: i - call c_f_pointer(imout%data, chars, [imout%size]) - allocate(character(len=imout%size) :: fout) - do i=1, imout%size - fout(i:i) = char(ichar(chars(i))) - end do -end subroutine +farg1 = self%swigdata +fresult = swigc_Measurement_energy_calibration(farg1) +swig_result%swigdata = fresult +end function -function suggestedNameEnding(type) & +function swigf_Measurement_channel_energies(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -integer(SaveSpectrumAsType), intent(in) :: type -type(SwigArrayWrapper) :: fresult -integer(C_INT) :: farg1 +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -farg1 = type -fresult = swigc_suggestedNameEnding(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -if (.false.) call SWIG_free(fresult%data) +farg1 = self%swigdata +fresult = swigc_Measurement_channel_energies(farg1) +swig_result%swigdata = fresult end function -function swigf_is_candidate_n42_file__SWIG_0(data) & +function swigf_Measurement_gamma_counts(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: data -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -fresult = swigc_is_candidate_n42_file__SWIG_0(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_counts(farg1) +swig_result%swigdata = fresult end function -function swigf_is_candidate_n42_file__SWIG_1(data, data_end) & +function swigf_Measurement_neutron_counts(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) -fresult = swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_counts(farg1) +swig_result%swigdata = fresult end function -function convert_n42_utf16_xml_to_utf8(data, data_end) & +function swigf_Measurement_location_state(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) -fresult = swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -if (.false.) call SWIG_free(fresult%data) +farg1 = self%swigdata +fresult = swigc_Measurement_location_state(farg1) +swig_result%swigdata = fresult end function -subroutine add_analysis_results_to_2012_N42(ana, radinstrumentdata, xmldocmutex) +subroutine swigf_Measurement_set_title(self, title) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: ana -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: radinstrumentdata -class(SWIGTYPE_p_std__mutex), intent(in) :: xmldocmutex +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: title type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = ana%swigdata -farg2 = radinstrumentdata%swigdata -farg3 = xmldocmutex%swigdata -call swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +call swigc_Measurement_set_title(farg1, farg2) end subroutine -subroutine set_analysis_info_from_n42(analysis_node, analysis) +subroutine swigf_Measurement_set_start_time(self, timestamp) use, intrinsic :: ISO_C_BINDING -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: analysis_node -class(DetectorAnalysis), intent(in) :: analysis +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -farg1 = analysis_node%swigdata -farg2 = analysis%swigdata -call swigc_set_analysis_info_from_n42(farg1, farg2) +farg1 = self%swigdata +farg2 = timestamp%swigdata +call swigc_Measurement_set_start_time(farg1, farg2) end subroutine -function gamma_integral(hist, lowenergy, upperunergy) & -result(swig_result) +subroutine swigf_Measurement_set_remarks(self, remarks) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: hist -real(C_FLOAT), intent(in) :: lowenergy -real(C_FLOAT), intent(in) :: upperunergy -real(C_DOUBLE) :: fresult +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = hist%swigdata -farg2 = lowenergy -farg3 = upperunergy -fresult = swigc_gamma_integral(farg1, farg2, farg3) -swig_result = fresult -end function - -function detectorTypeToString(type) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -integer(DetectorType), intent(in) :: type -type(SwigArrayWrapper) :: fresult -integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 -farg1 = type -fresult = swigc_detectorTypeToString(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg1 = self%swigdata +farg2 = remarks%swigdata +call swigc_Measurement_set_remarks(farg1, farg2) +end subroutine -function swigf_new_Measurement() & -result(self) +subroutine swigf_Measurement_set_parse_warnings(self, warnings) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: self -type(SwigClassWrapper) :: fresult +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 -fresult = swigc_new_Measurement() -self%swigdata = fresult -end function +farg1 = self%swigdata +farg2 = warnings%swigdata +call swigc_Measurement_set_parse_warnings(farg1, farg2) +end subroutine -function swigf_Measurement_memmorysize(self) & -result(swig_result) +subroutine swigf_Measurement_set_source_type(self, type) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result class(Measurement), intent(in) :: self -integer(C_SIZE_T) :: fresult +integer(SourceType), intent(in) :: type type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_memmorysize(farg1) -swig_result = fresult -end function +farg2 = type +call swigc_Measurement_set_source_type(farg1, farg2) +end subroutine -function swigf_Measurement_live_time(self) & -result(swig_result) +subroutine swigf_Measurement_set_position(self, longitude, latitude, pos_time) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: pos_time type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -fresult = swigc_Measurement_live_time(farg1) -swig_result = fresult -end function +farg2 = longitude +farg3 = latitude +farg4 = pos_time%swigdata +call swigc_Measurement_set_position(farg1, farg2, farg3, farg4) +end subroutine -subroutine swigf_Measurement_set_live_time(self, time) +subroutine swigf_Measurement_set_sample_number(self, samplenum) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: time +integer(C_INT), intent(in) :: samplenum type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = time -call swigc_Measurement_set_live_time(farg1, farg2) +farg2 = samplenum +call swigc_Measurement_set_sample_number(farg1, farg2) end subroutine -function swigf_Measurement_real_time(self) & -result(swig_result) +subroutine swigf_Measurement_set_occupancy_status(self, status) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +integer(OccupancyStatus), intent(in) :: status type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_real_time(farg1) -swig_result = fresult -end function +farg2 = status +call swigc_Measurement_set_occupancy_status(farg1, farg2) +end subroutine -subroutine swigf_Measurement_set_real_time(self, time) +subroutine swigf_Measurement_set_detector_name(self, name) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: time +character(len=*), intent(in) :: name type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = time -call swigc_Measurement_set_real_time(farg1, farg2) +call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) +call swigc_Measurement_set_detector_name(farg1, farg2) end subroutine -function swigf_Measurement_contained_neutron(self) & -result(swig_result) +subroutine swigf_Measurement_set_detector_number(self, detnum) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +integer(C_INT), intent(in) :: detnum type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_contained_neutron(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = detnum +call swigc_Measurement_set_detector_number(farg1, farg2) +end subroutine -function swigf_Measurement_sample_number(self) & -result(swig_result) +subroutine swigf_Measurement_set_neutron_counts__SWIG_0(self, counts, neutron_live_time) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +class(FloatVector), intent(in) :: counts +real(C_FLOAT), intent(in) :: neutron_live_time type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg3 farg1 = self%swigdata -fresult = swigc_Measurement_sample_number(farg1) -swig_result = fresult -end function +farg2 = counts%swigdata +farg3 = neutron_live_time +call swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) +end subroutine -function swigf_Measurement_title(self) & -result(swig_result) +subroutine swigf_Measurement_set_neutron_counts__SWIG_1(self, counts) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(FloatVector), intent(in) :: counts type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_title(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = counts%swigdata +call swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) +end subroutine -function swigf_Measurement_occupied(self) & +function swigf_Measurement_num_gamma_channels(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(OccupancyStatus) :: swig_result +integer(C_INT) :: swig_result class(Measurement), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_occupied(farg1) +fresult = swigc_Measurement_num_gamma_channels(farg1) swig_result = fresult end function -function swigf_Measurement_gamma_count_sum(self) & +function swigf_Measurement_find_gamma_channel(self, energy) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +integer(C_INT) :: swig_result class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult +real(C_FLOAT), intent(in) :: energy +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_count_sum(farg1) +farg2 = energy +fresult = swigc_Measurement_find_gamma_channel(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_neutron_live_time(self) & +function swigf_Measurement_gamma_channel_content(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_neutron_live_time(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_content(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_neutron_counts_sum(self) & +function swigf_Measurement_gamma_channel_lower(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult +integer(C_INT), intent(in) :: channel +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_neutron_counts_sum(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_lower(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_speed(self) & +function swigf_Measurement_gamma_channel_center(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_speed(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_center(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_dx(self) & +function swigf_Measurement_gamma_channel_upper(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_dx(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_upper(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_dy(self) & +function swigf_Measurement_gamma_channel_width(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_dy(farg1) +farg2 = channel +fresult = swigc_Measurement_gamma_channel_width(farg1, farg2) swig_result = fresult end function -function swigf_Measurement_latitude(self) & +function swigf_Measurement_gamma_integral(self, lower_energy, upper_energy) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_DOUBLE) :: swig_result class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: lower_energy +real(C_FLOAT), intent(in) :: upper_energy real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 farg1 = self%swigdata -fresult = swigc_Measurement_latitude(farg1) +farg2 = lower_energy +farg3 = upper_energy +fresult = swigc_Measurement_gamma_integral(farg1, farg2, farg3) swig_result = fresult end function -function swigf_Measurement_longitude(self) & +function swigf_Measurement_gamma_channels_sum(self, startbin, endbin) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_DOUBLE) :: swig_result class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: startbin +integer(C_INT), intent(in) :: endbin real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_Measurement_longitude(farg1) +farg2 = startbin +farg3 = endbin +fresult = swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) swig_result = fresult end function -function swigf_Measurement_has_gps_info(self) & +function swigf_Measurement_gamma_channel_energies(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_has_gps_info(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_Measurement_gamma_channel_energies(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_dose_rate(self) & +function swigf_Measurement_gamma_channel_contents(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_dose_rate(farg1) -swig_result = fresult +fresult = swigc_Measurement_gamma_channel_contents(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_exposure_rate(self) & +function swigf_Measurement_gamma_energy_min(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result @@ -7162,3610 +7180,3672 @@ function swigf_Measurement_exposure_rate(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_exposure_rate(farg1) +fresult = swigc_Measurement_gamma_energy_min(farg1) swig_result = fresult end function -function swigf_Measurement_position_time(self) & +function swigf_Measurement_gamma_energy_max(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_position_time(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_gamma_energy_max(farg1) +swig_result = fresult end function -function swigf_Measurement_detector_name(self) & +function swigf_Measurement_derived_data_properties(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +type(SWIGTYPE_p_uint32_t) :: swig_result class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_detector_name(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_Measurement_derived_data_properties(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_detector_number(self) & +function swigf_Measurement_write_2006_N42_xml(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result +logical :: swig_result class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_detector_number(farg1) -swig_result = fresult +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_2006_N42_xml(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_detector_type(self) & +function swigf_Measurement_write_csv(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +logical :: swig_result class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_detector_type(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_quality_status(self) & +function swigf_Measurement_write_txt(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(QualityStatus) :: swig_result +logical :: swig_result class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_quality_status(farg1) -swig_result = fresult +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_Measurement_source_type(self) & -result(swig_result) +subroutine swigf_Measurement_reset(self) use, intrinsic :: ISO_C_BINDING -integer(SourceType) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_source_type(farg1) -swig_result = fresult -end function +call swigc_Measurement_reset(farg1) +end subroutine -function swigf_Measurement_remarks(self) & -result(swig_result) +subroutine swigf_Measurement_rebin(self, cal) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(EnergyCalibration), intent(in) :: cal type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_remarks(farg1) -swig_result%swigdata = fresult -end function +farg2 = cal%swigdata +call swigc_Measurement_rebin(farg1, farg2) +end subroutine -function swigf_Measurement_parse_warnings(self) & -result(swig_result) +subroutine swigf_Measurement_set_energy_calibration(self, cal) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(EnergyCalibration), intent(in) :: cal type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_parse_warnings(farg1) -swig_result%swigdata = fresult -end function +farg2 = cal%swigdata +call swigc_Measurement_set_energy_calibration(farg1, farg2) +end subroutine -function swigf_Measurement_start_time(self) & -result(swig_result) +subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +type(SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t), intent(in) :: spectrum type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_start_time(farg1) -swig_result%swigdata = fresult -end function +farg2 = spectrum%swigdata +call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) +end subroutine -function swigf_Measurement_start_time_copy(self) & +function swigf_Measurement_gamma_count_at(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(C_INT), intent(in) :: index +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_start_time_copy(farg1) -swig_result%swigdata = fresult +farg2 = index +fresult = swigc_Measurement_gamma_count_at(farg1, farg2) +swig_result = fresult end function -function swigf_Measurement_energy_calibration_model(self) & +function swigf_Measurement_get_num_channels(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(SWIGTYPE_SpecUtils__EnergyCalType) :: swig_result +integer(C_INT) :: swig_result class(Measurement), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_energy_calibration_model(farg1) +fresult = swigc_Measurement_get_num_channels(farg1) swig_result = fresult end function -function swigf_Measurement_calibration_coeffs(self) & +function swigf_Measurement_get_description(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result +character(len=:), allocatable :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_calibration_coeffs(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_get_description(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_deviation_pairs(self) & +function swigf_Measurement_get_source(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t) :: swig_result +character(len=:), allocatable :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_deviation_pairs(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_get_source(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_energy_calibration(self) & +function swigf_Measurement_get_start_time_string(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result +character(len=:), allocatable :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_energy_calibration(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_get_start_time_string(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_channel_energies(self) & -result(swig_result) +subroutine swigf_Measurement_set_start_time_from_string(self, time_str) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: time_str type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_channel_energies(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(time_str, farg2, farg2_temp) +call swigc_Measurement_set_start_time_from_string(farg1, farg2) +end subroutine -function swigf_Measurement_gamma_counts(self) & -result(swig_result) +subroutine swigf_Measurement_set_description(self, description) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: description type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_counts(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) +call swigc_Measurement_set_description(farg1, farg2) +end subroutine -function swigf_Measurement_neutron_counts(self) & -result(swig_result) +subroutine swigf_Measurement_set_source(self, source) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: source type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_neutron_counts(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(source, farg2, farg2_temp) +call swigc_Measurement_set_source(farg1, farg2) +end subroutine -function swigf_Measurement_location_state(self) & +subroutine swigf_Measurement_set_neutron_count(self, count) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: count +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = count +call swigc_Measurement_set_neutron_count(farg1, farg2) +end subroutine + +function swigf_Measurement_get_neutron_count(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t) :: swig_result +real(C_FLOAT) :: swig_result class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_location_state(farg1) -swig_result%swigdata = fresult +fresult = swigc_Measurement_get_neutron_count(farg1) +swig_result = fresult end function -subroutine swigf_Measurement_set_title(self, title) +subroutine SWIGTM_fin_float_Sb__SB_(finp, iminp) + use, intrinsic :: ISO_C_BINDING + real(C_FLOAT), dimension(:), intent(in), target :: finp + type(SwigArrayWrapper), intent(out) :: iminp + integer(C_SIZE_T) :: sz + real(C_FLOAT), pointer :: imtemp + + sz = size(finp, kind=C_SIZE_T) + if (sz > 0_c_size_t) then + imtemp => finp(1) + iminp%data = c_loc(imtemp) + else + iminp%data = c_null_ptr + end if + iminp%size = sz +end subroutine +subroutine swigf_Measurement_set_spectrum(self, spectrum) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(in) :: self -character(len=*), intent(in) :: title +real(C_FLOAT), dimension(:), target :: spectrum type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) -call swigc_Measurement_set_title(farg1, farg2) +call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) +call swigc_Measurement_set_spectrum(farg1, farg2) end subroutine -subroutine swigf_Measurement_set_start_time(self, timestamp) +subroutine swigf_Measurement_get_spectrum(self, spectrum) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +real(C_FLOAT), dimension(:), target :: spectrum type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = timestamp%swigdata -call swigc_Measurement_set_start_time(farg1, farg2) +call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) +call swigc_Measurement_get_spectrum(farg1, farg2) end subroutine -subroutine swigf_Measurement_set_remarks(self, remarks) +subroutine swigf_Measurement_release(self) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +class(Measurement), intent(inout) :: self type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = remarks%swigdata -call swigc_Measurement_set_remarks(farg1, farg2) +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_Measurement(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 end subroutine -subroutine swigf_Measurement_set_parse_warnings(self, warnings) +subroutine swigf_Measurement_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +class(Measurement), intent(inout) :: self +type(Measurement), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = warnings%swigdata -call swigc_Measurement_set_parse_warnings(farg1, farg2) +farg2 = other%swigdata +call swigc_Measurement_op_assign__(farg1, farg2) +self%swigdata = farg1 end subroutine -subroutine swigf_Measurement_set_source_type(self, type) +function swigf_new_SpecFile__SWIG_0() & +result(self) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(SourceType), intent(in) :: type +type(SpecFile) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_SpecFile__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_SpecFile__SWIG_1(rhs) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(SpecFile) :: self +class(SpecFile), intent(in) :: rhs +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = rhs%swigdata +fresult = swigc_new_SpecFile__SWIG_1(farg1) +self%swigdata = fresult +end function + +subroutine swigf_SpecFile_release(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(inout) :: self type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = type -call swigc_Measurement_set_source_type(farg1, farg2) +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_SpecFile(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 end subroutine -subroutine swigf_Measurement_set_position(self, longitude, latitude, pos_time) +function swigf_SpecFile_load_file__SWIG_0(self, filename, parser_type, file_ending_hint) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_DOUBLE), intent(in) :: longitude -real(C_DOUBLE), intent(in) :: latitude -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: pos_time +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +character(len=*), intent(in) :: file_ending_hint +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg4_temp +type(SwigArrayWrapper) :: farg4 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +call SWIGTM_fin_char_Sm_(file_ending_hint, farg4, farg4_temp) +fresult = swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_file__SWIG_1(self, filename, parser_type) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +fresult = swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_parse_warnings(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_parse_warnings(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_modified(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 -real(C_DOUBLE) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = longitude -farg3 = latitude -farg4 = pos_time%swigdata -call swigc_Measurement_set_position(farg1, farg2, farg3, farg4) -end subroutine +fresult = swigc_SpecFile_modified(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_Measurement_set_sample_number(self, samplenum) +subroutine swigf_SpecFile_reset_modified(self) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: samplenum +class(SpecFile), intent(in) :: self type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = samplenum -call swigc_Measurement_set_sample_number(farg1, farg2) +call swigc_SpecFile_reset_modified(farg1) end subroutine -subroutine swigf_Measurement_set_occupancy_status(self, status) +function swigf_SpecFile_modified_since_decode(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(OccupancyStatus), intent(in) :: status +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = status -call swigc_Measurement_set_occupancy_status(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_modified_since_decode(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_Measurement_set_detector_name(self, name) +subroutine swigf_SpecFile_reset_modified_since_decode(self) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: name +class(SpecFile), intent(in) :: self type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) -call swigc_Measurement_set_detector_name(farg1, farg2) +call swigc_SpecFile_reset_modified_since_decode(farg1) end subroutine -subroutine swigf_Measurement_set_detector_number(self, detnum) +function swigf_SpecFile_gamma_live_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: detnum +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = detnum -call swigc_Measurement_set_detector_number(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_gamma_live_time(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_neutron_counts__SWIG_0(self, counts, neutron_live_time) +function swigf_SpecFile_gamma_real_time(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(FloatVector), intent(in) :: counts -real(C_FLOAT), intent(in) :: neutron_live_time +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -real(C_FLOAT) :: farg3 farg1 = self%swigdata -farg2 = counts%swigdata -farg3 = neutron_live_time -call swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) -end subroutine +fresult = swigc_SpecFile_gamma_real_time(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_neutron_counts__SWIG_1(self, counts) +function swigf_SpecFile_gamma_count_sum(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(FloatVector), intent(in) :: counts +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = counts%swigdata -call swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_gamma_count_sum(farg1) +swig_result = fresult +end function -function swigf_Measurement_num_gamma_channels(self) & +function swigf_SpecFile_neutron_counts_sum(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T) :: fresult +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_num_gamma_channels(farg1) +fresult = swigc_SpecFile_neutron_counts_sum(farg1) swig_result = fresult end function -function swigf_Measurement_find_gamma_channel(self, energy) & +function swigf_SpecFile_filename(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: energy -integer(C_SIZE_T) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = energy -fresult = swigc_Measurement_find_gamma_channel(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_filename(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_channel_content(self, channel) & +function swigf_SpecFile_detector_names(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_content(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_detector_names(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_gamma_channel_lower(self, channel) & +function swigf_SpecFile_detector_numbers(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__vectorT_int_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_lower(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_detector_numbers(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_gamma_channel_center(self, channel) & +function swigf_SpecFile_gamma_detector_names(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_center(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_gamma_detector_names(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_gamma_channel_upper(self, channel) & +function swigf_SpecFile_neutron_detector_names(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_upper(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_neutron_detector_names(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_gamma_channel_width(self, channel) & +function swigf_SpecFile_uuid(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: channel -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_width(farg1, farg2) -swig_result = fresult +fresult = swigc_SpecFile_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_integral(self, lower_energy, upper_energy) & +function swigf_SpecFile_remarks(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: lower_energy -real(C_FLOAT), intent(in) :: upper_energy -real(C_DOUBLE) :: fresult +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -real(C_FLOAT) :: farg3 farg1 = self%swigdata -farg2 = lower_energy -farg3 = upper_energy -fresult = swigc_Measurement_gamma_integral(farg1, farg2, farg3) -swig_result = fresult +fresult = swigc_SpecFile_remarks(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_gamma_channels_sum(self, startbin, endbin) & +function swigf_SpecFile_lane_number(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -integer(C_SIZE_T), intent(in) :: startbin -integer(C_SIZE_T), intent(in) :: endbin -real(C_DOUBLE) :: fresult +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 farg1 = self%swigdata -farg2 = startbin -farg3 = endbin -fresult = swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) +fresult = swigc_SpecFile_lane_number(farg1) swig_result = fresult end function -function swigf_Measurement_gamma_channel_energies(self) & +function swigf_SpecFile_measurement_location_name(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_channel_energies(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_measurement_location_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_channel_contents(self) & +function swigf_SpecFile_inspection(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_channel_contents(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_inspection(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_energy_min(self) & +function swigf_SpecFile_measurement_operator(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_energy_min(farg1) -swig_result = fresult +fresult = swigc_SpecFile_measurement_operator(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_gamma_energy_max(self) & +function swigf_SpecFile_sample_numbers(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_gamma_energy_max(farg1) -swig_result = fresult +fresult = swigc_SpecFile_sample_numbers(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_derived_data_properties(self) & +function swigf_SpecFile_num_measurements(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_uint32_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_derived_data_properties(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_num_measurements(farg1) +swig_result = fresult end function -function swigf_Measurement_write_2006_N42_xml(self, ostr) & +function swigf_SpecFile_detector_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(DetectorType) :: swig_result +class(SpecFile), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_2006_N42_xml(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_detector_type(farg1) +swig_result = fresult end function -function swigf_Measurement_write_csv(self, ostr) & +function swigf_SpecFile_instrument_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_instrument_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_Measurement_write_txt(self, ostr) & +function swigf_SpecFile_manufacturer(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_txt(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_manufacturer(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -subroutine swigf_Measurement_reset(self) +function swigf_SpecFile_instrument_model(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_Measurement_reset(farg1) -end subroutine +fresult = swigc_SpecFile_instrument_model(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_Measurement_rebin(self, cal) +function swigf_SpecFile_instrument_id(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_Measurement_rebin(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_instrument_id(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) +function swigf_SpecFile_measurements(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -type(SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t), intent(in) :: spectrum +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = spectrum%swigdata -call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_measurements(farg1) +swig_result%swigdata = fresult +end function -function swigf_Measurement_gamma_count_at(self, index) & +function swigf_SpecFile_measurement__SWIG_0(self, num) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: index -real(C_FLOAT) :: fresult +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: num +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = index -fresult = swigc_Measurement_gamma_count_at(farg1, farg2) -swig_result = fresult +farg2 = num +fresult = swigc_SpecFile_measurement__SWIG_0(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_Measurement_get_description(self) & +function swigf_SpecFile_detectors_analysis(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_get_description(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_SpecFile_detectors_analysis(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_get_source(self) & +function swigf_SpecFile_multimedia_data(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_get_source(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_SpecFile_multimedia_data(farg1) +swig_result%swigdata = fresult end function -function swigf_Measurement_get_start_time_string(self) & +function swigf_SpecFile_has_gps_info(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_get_start_time_string(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_SpecFile_has_gps_info(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_Measurement_set_start_time_from_string(self, time_str) +function swigf_SpecFile_mean_latitude(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: time_str +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(time_str, farg2, farg2_temp) -call swigc_Measurement_set_start_time_from_string(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_mean_latitude(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_description(self, description) +function swigf_SpecFile_mean_longitude(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: description +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) -call swigc_Measurement_set_description(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_mean_longitude(farg1) +swig_result = fresult +end function -subroutine swigf_Measurement_set_source(self, source) +function swigf_SpecFile_passthrough(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: source +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(source, farg2, farg2_temp) -call swigc_Measurement_set_source(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_passthrough(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_Measurement_set_neutron_count(self, count) +function swigf_SpecFile_contains_derived_data(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: count +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = count -call swigc_Measurement_set_neutron_count(farg1, farg2) -end subroutine - -subroutine SWIGTM_fin_float_Sb__SB_(finp, iminp) - use, intrinsic :: ISO_C_BINDING - real(C_FLOAT), dimension(:), intent(in), target :: finp - type(SwigArrayWrapper), intent(out) :: iminp - integer(C_SIZE_T) :: sz - real(C_FLOAT), pointer :: imtemp +fresult = swigc_SpecFile_contains_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function - sz = size(finp, kind=C_SIZE_T) - if (sz > 0_c_size_t) then - imtemp => finp(1) - iminp%data = c_loc(imtemp) - else - iminp%data = c_null_ptr - end if - iminp%size = sz -end subroutine -subroutine swigf_Measurement_set_spectrum(self, spectrum) +function swigf_SpecFile_contains_non_derived_data(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), dimension(:), target :: spectrum +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) -call swigc_Measurement_set_spectrum(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_contains_non_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_Measurement_get_spectrum(self, spectrum) +subroutine swigf_SpecFile_set_filename(self, n) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), dimension(:), target :: spectrum +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) -call swigc_Measurement_get_spectrum(farg1, farg2) +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_filename(farg1, farg2) end subroutine -subroutine swigf_Measurement_release(self) +subroutine swigf_SpecFile_set_remarks__SWIG_0(self, n) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(inout) :: self +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: n type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_Measurement(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 +farg2 = n%swigdata +call swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) end subroutine -subroutine swigf_Measurement_op_assign__(self, other) +subroutine swigf_SpecFile_add_remark(self, remark) use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(inout) :: self -type(Measurement), intent(in) :: other +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: remark type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_Measurement_op_assign__(farg1, farg2) -self%swigdata = farg1 +call SWIGTM_fin_char_Sm_(remark, farg2, farg2_temp) +call swigc_SpecFile_add_remark(farg1, farg2) end subroutine -function swigf_new_SpecFile__SWIG_0() & -result(self) +subroutine swigf_SpecFile_set_parse_warnings(self, warnings) use, intrinsic :: ISO_C_BINDING -type(SpecFile) :: self -type(SwigClassWrapper) :: fresult +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 -fresult = swigc_new_SpecFile__SWIG_0() -self%swigdata = fresult -end function +farg1 = self%swigdata +farg2 = warnings%swigdata +call swigc_SpecFile_set_parse_warnings(farg1, farg2) +end subroutine -function swigf_new_SpecFile__SWIG_1(rhs) & -result(self) +subroutine swigf_SpecFile_set_uuid(self, n) use, intrinsic :: ISO_C_BINDING -type(SpecFile) :: self -class(SpecFile), intent(in) :: rhs -type(SwigClassWrapper) :: fresult +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = rhs%swigdata -fresult = swigc_new_SpecFile__SWIG_1(farg1) -self%swigdata = fresult -end function +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_uuid(farg1, farg2) +end subroutine -subroutine swigf_SpecFile_release(self) +subroutine swigf_SpecFile_set_lane_number(self, num) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(inout) :: self +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: num type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_SpecFile(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 +farg2 = num +call swigc_SpecFile_set_lane_number(farg1, farg2) end subroutine -function swigf_SpecFile_load_file__SWIG_0(self, filename, parser_type, file_ending_hint) & -result(swig_result) +subroutine swigf_SpecFile_set_measurement_location_name(self, n) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(ParserType), intent(in) :: parser_type -character(len=*), intent(in) :: file_ending_hint -integer(C_INT) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg4_temp -type(SwigArrayWrapper) :: farg4 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = parser_type -call SWIGTM_fin_char_Sm_(file_ending_hint, farg4, farg4_temp) -fresult = swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_measurement_location_name(farg1, farg2) +end subroutine -function swigf_SpecFile_load_file__SWIG_1(self, filename, parser_type) & -result(swig_result) +subroutine swigf_SpecFile_set_inspection(self, n) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(ParserType), intent(in) :: parser_type -integer(C_INT) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = parser_type -fresult = swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_inspection(farg1, farg2) +end subroutine -function swigf_SpecFile_parse_warnings(self) & -result(swig_result) +subroutine swigf_SpecFile_set_instrument_type(self, n) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_parse_warnings(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_type(farg1, farg2) +end subroutine -function swigf_SpecFile_modified(self) & -result(swig_result) +subroutine swigf_SpecFile_set_detector_type(self, type) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +integer(DetectorType), intent(in) :: type type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_modified(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = type +call swigc_SpecFile_set_detector_type(farg1, farg2) +end subroutine -subroutine swigf_SpecFile_reset_modified(self) +subroutine swigf_SpecFile_set_manufacturer(self, n) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_reset_modified(farg1) +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_manufacturer(farg1, farg2) end subroutine -function swigf_SpecFile_modified_since_decode(self) & -result(swig_result) +subroutine swigf_SpecFile_set_instrument_model(self, n) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_modified_since_decode(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_model(farg1, farg2) +end subroutine -subroutine swigf_SpecFile_reset_modified_since_decode(self) +subroutine swigf_SpecFile_set_instrument_id(self, n) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_reset_modified_since_decode(farg1) +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_id(farg1, farg2) end subroutine -function swigf_SpecFile_gamma_live_time(self) & -result(swig_result) +subroutine swigf_SpecFile_set_live_time(self, lt, measurement2) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(SpecFile), intent(in) :: self -real(C_FLOAT) :: fresult +real(C_FLOAT), intent(in) :: lt +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_live_time(farg1) -swig_result = fresult -end function +farg2 = lt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_live_time(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_gamma_real_time(self) & -result(swig_result) +subroutine swigf_SpecFile_set_real_time(self, rt, measurement2) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result class(SpecFile), intent(in) :: self -real(C_FLOAT) :: fresult +real(C_FLOAT), intent(in) :: rt +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_real_time(farg1) -swig_result = fresult -end function +farg2 = rt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_real_time(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_gamma_count_sum(self) & -result(swig_result) +subroutine swigf_SpecFile_set_start_time(self, timestamp, measurement2) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_count_sum(farg1) -swig_result = fresult -end function +farg2 = timestamp%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_start_time(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_neutron_counts_sum(self) & -result(swig_result) +subroutine swigf_SpecFile_set_remarks__SWIG_1(self, remarks, measurement2) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_neutron_counts_sum(farg1) -swig_result = fresult -end function +farg2 = remarks%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_filename(self) & -result(swig_result) +subroutine swigf_SpecFile_set_source_type(self, type, measurement2) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(SourceType), intent(in) :: type +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_filename(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = type +farg3 = measurement2%swigdata +call swigc_SpecFile_set_source_type(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_detector_names(self) & -result(swig_result) +subroutine swigf_SpecFile_set_position(self, longitude, latitude, position_time, measurement4) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: position_time +class(Measurement), intent(in) :: measurement4 type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 farg1 = self%swigdata -fresult = swigc_SpecFile_detector_names(farg1) -swig_result%swigdata = fresult -end function +farg2 = longitude +farg3 = latitude +farg4 = position_time%swigdata +farg5 = measurement4%swigdata +call swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_detector_numbers(self) & -result(swig_result) +subroutine swigf_SpecFile_set_title(self, title, measurement2) use, intrinsic :: ISO_C_BINDING -type(IntVector) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: title +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_detector_numbers(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +farg3 = measurement2%swigdata +call swigc_SpecFile_set_title(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_gamma_detector_names(self) & -result(swig_result) + +subroutine SWIGTM_fin_bool(finp, iminp) + use, intrinsic :: ISO_C_BINDING + logical, intent(in) :: finp + integer(kind=C_INT), intent(out) :: iminp + if (finp .eqv. .true.) then + iminp = 1 + else + iminp = 0 + end if +end subroutine + +subroutine swigf_SpecFile_set_contained_neutrons(self, contained, counts, measurement3, neutron_live_time) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical, intent(in) :: contained +real(C_FLOAT), intent(in) :: counts +class(Measurement), intent(in) :: measurement3 +real(C_FLOAT), intent(in) :: neutron_live_time type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +real(C_FLOAT) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_FLOAT) :: farg5 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_detector_names(farg1) -swig_result%swigdata = fresult -end function +call SWIGTM_fin_bool(contained, farg2) +farg3 = counts +farg4 = measurement3%swigdata +farg5 = neutron_live_time +call swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_neutron_detector_names(self) & -result(swig_result) +subroutine swigf_SpecFile_set_detectors_analysis(self, ana) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(DetectorAnalysis), intent(in) :: ana type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_neutron_detector_names(farg1) -swig_result%swigdata = fresult -end function +farg2 = ana%swigdata +call swigc_SpecFile_set_detectors_analysis(farg1, farg2) +end subroutine -function swigf_SpecFile_uuid(self) & -result(swig_result) +subroutine swigf_SpecFile_change_detector_name(self, original_name, new_name) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +character(len=*), intent(in) :: original_name +character(len=*), intent(in) :: new_name type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_uuid(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +call SWIGTM_fin_char_Sm_(original_name, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(new_name, farg3, farg3_temp) +call swigc_SpecFile_change_detector_name(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_remarks(self) & -result(swig_result) +subroutine swigf_SpecFile_change_sample_numbers(self, from_to_sample_nums) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t), intent(in) :: from_to_sample_nums type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_remarks(farg1) -swig_result%swigdata = fresult -end function +farg2 = from_to_sample_nums%swigdata +call swigc_SpecFile_change_sample_numbers(farg1, farg2) +end subroutine -function swigf_SpecFile_lane_number(self) & -result(swig_result) +subroutine swigf_SpecFile_add_measurement__SWIG_0(self, meas, docleanup) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_lane_number(farg1) -swig_result = fresult -end function +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_measurement_location_name(self) & -result(swig_result) +subroutine swigf_SpecFile_add_measurement__SWIG_1(self, meas) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(Measurement), intent(in) :: meas type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_measurement_location_name(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = meas%swigdata +call swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) +end subroutine -function swigf_SpecFile_inspection(self) & -result(swig_result) +subroutine swigf_SpecFile_remove_measurement(self, meas, docleanup) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_inspection(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_remove_measurement(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_measurement_operator(self) & -result(swig_result) +subroutine swigf_SpecFile_remove_measurements(self, meas) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: meas type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_measurement_operator(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = meas%swigdata +call swigc_SpecFile_remove_measurements(farg1, farg2) +end subroutine -function swigf_SpecFile_sample_numbers(self) & -result(swig_result) +subroutine swigf_SpecFile_clear_multimedia_data(self) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_sample_numbers(farg1) -swig_result%swigdata = fresult -end function +call swigc_SpecFile_clear_multimedia_data(farg1) +end subroutine -function swigf_SpecFile_num_measurements(self) & -result(swig_result) +subroutine swigf_SpecFile_add_multimedia_data(self, data) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult +class(MultimediaData), intent(in) :: data type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_num_measurements(farg1) -swig_result = fresult -end function +farg2 = data%swigdata +call swigc_SpecFile_add_multimedia_data(farg1, farg2) +end subroutine -function swigf_SpecFile_detector_type(self) & -result(swig_result) +subroutine swigf_SpecFile_set_multimedia_data(self, data) use, intrinsic :: ISO_C_BINDING -integer(DetectorType) :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7), intent(in) :: data type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_detector_type(farg1) -swig_result = fresult -end function +farg2 = data%swigdata +call swigc_SpecFile_set_multimedia_data(farg1, farg2) +end subroutine -function swigf_SpecFile_instrument_type(self) & +function swigf_SpecFile_occupancy_number_from_remarks(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_type(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_SpecFile_occupancy_number_from_remarks(farg1) +swig_result = fresult end function -function swigf_SpecFile_manufacturer(self) & +function swigf_SpecFile_sample_measurements(self, sample_number) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_INT), intent(in) :: sample_number +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_manufacturer(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = sample_number +fresult = swigc_SpecFile_sample_measurements(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_SpecFile_instrument_model(self) & +function swigf_SpecFile_measurement__SWIG_1(self, sample_number, det_name) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +type(Measurement) :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_INT), intent(in) :: sample_number +character(len=*), intent(in) :: det_name +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_model(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = sample_number +call SWIGTM_fin_char_Sm_(det_name, farg3, farg3_temp) +fresult = swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) +swig_result%swigdata = fresult end function -function swigf_SpecFile_instrument_id(self) & +function swigf_SpecFile_measurement__SWIG_2(self, sample_number, detector_number) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +type(Measurement) :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(C_INT), intent(in) :: sample_number +integer(C_INT), intent(in) :: detector_number +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_id(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = sample_number +farg3 = detector_number +fresult = swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) +swig_result%swigdata = fresult end function -function swigf_SpecFile_measurements(self) & +function swigf_SpecFile_suggested_sum_energy_calibration(self, sample_numbers, detector_names) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +type(EnergyCalibration) :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -fresult = swigc_SpecFile_measurements(farg1) +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +fresult = swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) swig_result%swigdata = fresult end function -function swigf_SpecFile_measurement__SWIG_0(self, num) & +function swigf_SpecFile_sum_measurements(self, sample_numbers, detector_names, energy_cal) & result(swig_result) use, intrinsic :: ISO_C_BINDING type(Measurement) :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T), intent(in) :: num +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names +class(EnergyCalibration), intent(in) :: energy_cal type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = num -fresult = swigc_SpecFile_measurement__SWIG_0(farg1, farg2) +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +farg4 = energy_cal%swigdata +fresult = swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) swig_result%swigdata = fresult end function -function swigf_SpecFile_detectors_analysis(self) & +function swigf_SpecFile_memmorysize(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t) :: swig_result +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_detectors_analysis(farg1) -swig_result%swigdata = fresult +fresult = swigc_SpecFile_memmorysize(farg1) +swig_result = fresult end function -function swigf_SpecFile_multimedia_data(self) & +function swigf_SpecFile_gamma_channel_counts(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7) :: swig_result +type(SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM) :: swig_result class(SpecFile), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_multimedia_data(farg1) +fresult = swigc_SpecFile_gamma_channel_counts(farg1) swig_result%swigdata = fresult end function -function swigf_SpecFile_has_gps_info(self) & +function swigf_SpecFile_num_gamma_channels(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_has_gps_info(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_num_gamma_channels(farg1) +swig_result = fresult end function -function swigf_SpecFile_mean_latitude(self) & +function swigf_SpecFile_keep_n_bin_spectra_only(self, nbin) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +integer(C_INT), intent(in) :: nbin +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_mean_latitude(farg1) +farg2 = nbin +fresult = swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) swig_result = fresult end function -function swigf_SpecFile_mean_longitude(self) & +function swigf_SpecFile_contained_neutron(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_mean_longitude(farg1) -swig_result = fresult +fresult = swigc_SpecFile_contained_neutron(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_passthrough(self) & +function swigf_SpecFile_energy_cal_variants(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_energy_cal_variants(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_keep_energy_cal_variants(self, variants) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: variants integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_passthrough(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = variants%swigdata +fresult = swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) +swig_result = fresult end function -function swigf_SpecFile_contains_derived_data(self) & +function swigf_SpecFile_keep_derived_data_variant(self, tokeep) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self +integer(SpecFile_DerivedVariantToKeep), intent(in) :: tokeep integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_contains_derived_data(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = tokeep +fresult = swigc_SpecFile_keep_derived_data_variant(farg1, farg2) +swig_result = fresult end function -function swigf_SpecFile_contains_non_derived_data(self) & +function swigf_SpecFile_remove_detectors_data(self, dets_to_remove) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: dets_to_remove integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_contains_non_derived_data(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = dets_to_remove%swigdata +fresult = swigc_SpecFile_remove_detectors_data(farg1, farg2) +swig_result = fresult end function -subroutine swigf_SpecFile_set_filename(self, n) +function swigf_SpecFile_remove_neutron_measurements(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_filename(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_remove_neutron_measurements(farg1) +swig_result = fresult +end function -subroutine swigf_SpecFile_set_remarks__SWIG_0(self, n) +function swigf_SpecFile_background_sample_number(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: n +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = n%swigdata -call swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_background_sample_number(farg1) +swig_result = fresult +end function -subroutine swigf_SpecFile_add_remark(self, remark) +function swigf_SpecFile_generate_psuedo_uuid(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: remark +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark, farg2, farg2_temp) -call swigc_SpecFile_add_remark(farg1, farg2) -end subroutine +fresult = swigc_SpecFile_generate_psuedo_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_SpecFile_set_parse_warnings(self, warnings) +subroutine swigf_SpecFile_reset(self) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = warnings%swigdata -call swigc_SpecFile_set_parse_warnings(farg1, farg2) +call swigc_SpecFile_reset(farg1) end subroutine -subroutine swigf_SpecFile_set_uuid(self, n) +function swigf_SpecFile_load_N42_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_uuid(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_lane_number(self, num) +function swigf_SpecFile_load_pcf_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: num +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = num -call swigc_SpecFile_set_lane_number(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_pcf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_measurement_location_name(self, n) +function swigf_SpecFile_load_spc_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_measurement_location_name(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spc_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_inspection(self, n) +function swigf_SpecFile_load_chn_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_inspection(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_chn_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_instrument_type(self, n) +function swigf_SpecFile_load_iaea_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_type(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_iaea_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_detector_type(self, type) +function swigf_SpecFile_load_binary_exploranium_file(self, file_name) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -integer(DetectorType), intent(in) :: type +character(len=*), intent(in) :: file_name +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = type -call swigc_SpecFile_set_detector_type(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(file_name, farg2, farg2_temp) +fresult = swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_manufacturer(self, n) +function swigf_SpecFile_load_micro_raider_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_manufacturer(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_micro_raider_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_instrument_model(self, n) +function swigf_SpecFile_load_txt_or_csv_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_model(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_instrument_id(self, n) +function swigf_SpecFile_load_cnf_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_id(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_cnf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_live_time(self, lt, measurement2) +function swigf_SpecFile_load_tracs_mps_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -real(C_FLOAT), intent(in) :: lt -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = lt -farg3 = measurement2%swigdata -call swigc_SpecFile_set_live_time(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tracs_mps_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_real_time(self, rt, measurement2) +function swigf_SpecFile_load_aram_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -real(C_FLOAT), intent(in) :: rt -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = rt -farg3 = measurement2%swigdata -call swigc_SpecFile_set_real_time(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_aram_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_start_time(self, timestamp, measurement2) +function swigf_SpecFile_load_spectroscopic_daily_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = timestamp%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_set_start_time(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_remarks__SWIG_1(self, remarks, measurement2) +function swigf_SpecFile_load_amptek_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = remarks%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_amptek_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_source_type(self, type, measurement2) +function swigf_SpecFile_load_ortec_listmode_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -integer(SourceType), intent(in) :: type -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = type -farg3 = measurement2%swigdata -call swigc_SpecFile_set_source_type(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_position(self, longitude, latitude, position_time, measurement4) +function swigf_SpecFile_load_lsrm_spe_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -real(C_DOUBLE), intent(in) :: longitude -real(C_DOUBLE), intent(in) :: latitude -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: position_time -class(Measurement), intent(in) :: measurement4 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 -real(C_DOUBLE) :: farg3 -type(SwigClassWrapper) :: farg4 -type(SwigClassWrapper) :: farg5 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = longitude -farg3 = latitude -farg4 = position_time%swigdata -farg5 = measurement4%swigdata -call swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_title(self, title, measurement2) +function swigf_SpecFile_load_tka_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: title -class(Measurement), intent(in) :: measurement2 +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) -farg3 = measurement2%swigdata -call swigc_SpecFile_set_title(farg1, farg2, farg3) -end subroutine - - -subroutine SWIGTM_fin_bool(finp, iminp) - use, intrinsic :: ISO_C_BINDING - logical, intent(in) :: finp - integer(kind=C_INT), intent(out) :: iminp - if (finp .eqv. .true.) then - iminp = 1 - else - iminp = 0 - end if -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tka_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_contained_neutrons(self, contained, counts, measurement3, neutron_live_time) +function swigf_SpecFile_load_multiact_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -logical, intent(in) :: contained -real(C_FLOAT), intent(in) :: counts -class(Measurement), intent(in) :: measurement3 -real(C_FLOAT), intent(in) :: neutron_live_time +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -real(C_FLOAT) :: farg3 -type(SwigClassWrapper) :: farg4 -real(C_FLOAT) :: farg5 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_bool(contained, farg2) -farg3 = counts -farg4 = measurement3%swigdata -farg5 = neutron_live_time -call swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_multiact_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_detectors_analysis(self, ana) +function swigf_SpecFile_load_phd_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(DetectorAnalysis), intent(in) :: ana +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = ana%swigdata -call swigc_SpecFile_set_detectors_analysis(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_phd_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_change_detector_name(self, original_name, new_name) +function swigf_SpecFile_load_lzs_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: original_name -character(len=*), intent(in) :: new_name +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(original_name, farg2, farg2_temp) -call SWIGTM_fin_char_Sm_(new_name, farg3, farg3_temp) -call swigc_SpecFile_change_detector_name(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lzs_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_change_sample_numbers(self, from_to_sample_nums) +function swigf_SpecFile_load_radiacode_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t), intent(in) :: from_to_sample_nums +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = from_to_sample_nums%swigdata -call swigc_SpecFile_change_sample_numbers(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_radiacode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_add_measurement__SWIG_0(self, meas, docleanup) +function swigf_SpecFile_load_xml_scan_data_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas -logical, intent(in) :: docleanup +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = meas%swigdata -call SWIGTM_fin_bool(docleanup, farg3) -call swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_add_measurement__SWIG_1(self, meas) +function swigf_SpecFile_load_json_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = meas%swigdata -call swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_json_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_remove_measurement(self, meas, docleanup) +function swigf_SpecFile_load_caen_gxml_file(self, filename) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas -logical, intent(in) :: docleanup +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = meas%swigdata -call SWIGTM_fin_bool(docleanup, farg3) -call swigc_SpecFile_remove_measurement(farg1, farg2, farg3) -end subroutine +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_caen_gxml_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_remove_measurements(self, meas) +function swigf_SpecFile_load_from_N42(self, istr) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: meas +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = meas%swigdata -call swigc_SpecFile_remove_measurements(farg1, farg2) -end subroutine +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_clear_multimedia_data(self) +function swigf_SpecFile_load_N42_from_data__SWIG_0(self, data) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: data +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_clear_multimedia_data(farg1) -end subroutine +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_add_multimedia_data(self, data) +function swigf_SpecFile_load_N42_from_data__SWIG_1(self, data, data_end) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(MultimediaData), intent(in) :: data +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 farg1 = self%swigdata -farg2 = data%swigdata -call swigc_SpecFile_add_multimedia_data(farg1, farg2) -end subroutine +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(data_end, farg3, farg3_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function -subroutine swigf_SpecFile_set_multimedia_data(self, data) +function swigf_SpecFile_load_from_iaea_spc(self, input) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7), intent(in) :: data +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = data%swigdata -call swigc_SpecFile_set_multimedia_data(farg1, farg2) -end subroutine +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_iaea_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_SpecFile_occupancy_number_from_remarks(self) & +function swigf_SpecFile_load_from_binary_spc(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_occupancy_number_from_remarks(farg1) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_binary_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_sample_measurements(self, sample_number) & +function swigf_SpecFile_load_from_N42_document(self, document_node) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: document_node +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = sample_number -fresult = swigc_SpecFile_sample_measurements(farg1, farg2) -swig_result%swigdata = fresult +farg2 = document_node%swigdata +fresult = swigc_SpecFile_load_from_N42_document(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_measurement__SWIG_1(self, sample_number, det_name) & +function swigf_SpecFile_load_from_micro_raider_from_data(self, data) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -character(len=*), intent(in) :: det_name -type(SwigClassWrapper) :: fresult +character(len=*), intent(in) :: data +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = sample_number -call SWIGTM_fin_char_Sm_(det_name, farg3, farg3_temp) -fresult = swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_measurement__SWIG_2(self, sample_number, detector_number) & +function swigf_SpecFile_load_from_binary_exploranium(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -integer(C_INT), intent(in) :: detector_number -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = sample_number -farg3 = detector_number -fresult = swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) -swig_result%swigdata = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_suggested_sum_energy_calibration(self, sample_numbers, detector_names) & +function swigf_SpecFile_load_from_pcf(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = sample_numbers%swigdata -farg3 = detector_names%swigdata -fresult = swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) -swig_result%swigdata = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_pcf(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_sum_measurements(self, sample_numbers, detector_names, energy_cal) & +function swigf_SpecFile_load_from_txt_or_csv(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: energy_cal -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = sample_numbers%swigdata -farg3 = detector_names%swigdata -farg4 = energy_cal%swigdata -fresult = swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) -swig_result%swigdata = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_memmorysize(self) & +function swigf_SpecFile_load_from_Gr135_txt(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_memmorysize(farg1) -swig_result = fresult +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_gamma_channel_counts(self) & +function swigf_SpecFile_load_from_spectroscopic_daily_file(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_channel_counts(farg1) -swig_result%swigdata = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_num_gamma_channels(self) & +function swigf_SpecFile_load_from_srpm210_csv(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_num_gamma_channels(farg1) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_keep_n_bin_spectra_only(self, nbin) & +function swigf_SpecFile_load_from_D3S_raw(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T), intent(in) :: nbin -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = nbin -fresult = swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_D3S_raw(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_contained_neutron(self) & +function swigf_SpecFile_load_from_amptek_mca(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_contained_neutron(farg1) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_amptek_mca(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_energy_cal_variants(self) & +function swigf_SpecFile_load_from_ortec_listmode(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_energy_cal_variants(farg1) -swig_result%swigdata = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_keep_energy_cal_variants(self, variants) & +function swigf_SpecFile_load_from_lsrm_spe(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: variants -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = variants%swigdata -fresult = swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_keep_derived_data_variant(self, tokeep) & +function swigf_SpecFile_load_from_tka(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(SpecFile_DerivedVariantToKeep), intent(in) :: tokeep -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = tokeep -fresult = swigc_SpecFile_keep_derived_data_variant(farg1, farg2) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tka(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_remove_detectors_data(self, dets_to_remove) & +function swigf_SpecFile_load_from_multiact(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: dets_to_remove -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = dets_to_remove%swigdata -fresult = swigc_SpecFile_remove_detectors_data(farg1, farg2) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_multiact(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_remove_neutron_measurements(self) & +function swigf_SpecFile_load_from_phd(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -integer(C_SIZE_T) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_remove_neutron_measurements(farg1) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_phd(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_background_sample_number(self) & +function swigf_SpecFile_load_from_lzs(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_background_sample_number(farg1) -swig_result = fresult +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lzs(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_generate_psuedo_uuid(self) & +function swigf_SpecFile_load_from_radiacode(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result +logical :: swig_result class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_SpecFile_generate_psuedo_uuid(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_SpecFile_reset(self) +function swigf_SpecFile_load_from_radiacode_spectrogram(self, input) & +result(swig_result) use, intrinsic :: ISO_C_BINDING +logical :: swig_result class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_reset(farg1) -end subroutine +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_SpecFile_load_N42_file(self, filename) & +function swigf_SpecFile_load_from_xml_scan_data(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_N42_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_pcf_file(self, filename) & +function swigf_SpecFile_load_from_iaea(self, istr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: istr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_pcf_file(farg1, farg2) +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_iaea(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_spc_file(self, filename) & +function swigf_SpecFile_load_from_chn(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_spc_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_chn(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_chn_file(self, filename) & +function swigf_SpecFile_load_from_cnf(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_chn_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_cnf(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_iaea_file(self, filename) & +function swigf_SpecFile_load_from_tracs_mps(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_iaea_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tracs_mps(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_binary_exploranium_file(self, file_name) & +function swigf_SpecFile_load_from_aram(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: file_name +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(file_name, farg2, farg2_temp) -fresult = swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_aram(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_micro_raider_file(self, filename) & +function swigf_SpecFile_load_from_json(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_micro_raider_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_json(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_txt_or_csv_file(self, filename) & +function swigf_SpecFile_load_from_caen_gxml(self, input) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__istream), intent(in) :: input integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_caen_gxml(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_cnf_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_cleanup_after_load__SWIG_0(self, flags) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +integer(C_INT), intent(in) :: flags type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_cnf_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = flags +call swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) +end subroutine -function swigf_SpecFile_load_tracs_mps_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_cleanup_after_load__SWIG_1(self) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_tracs_mps_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) +end subroutine -function swigf_SpecFile_load_aram_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_recalc_total_counts(self) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_aram_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call swigc_SpecFile_recalc_total_counts(farg1) +end subroutine -function swigf_SpecFile_load_spectroscopic_daily_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_merge_neutron_meas_into_gamma_meas(self) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) +end subroutine -function swigf_SpecFile_load_amptek_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_rebin_measurement(self, cal, measurement2) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(EnergyCalibration), intent(in) :: cal +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_amptek_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = cal%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_load_ortec_listmode_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_rebin_all_measurements(self, cal) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(EnergyCalibration), intent(in) :: cal type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = cal%swigdata +call swigc_SpecFile_rebin_all_measurements(farg1, farg2) +end subroutine -function swigf_SpecFile_load_lsrm_spe_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_set_energy_calibration__SWIG_0(self, cal, measurement2) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(EnergyCalibration), intent(in) :: cal +class(Measurement), intent(in) :: measurement2 type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = cal%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_energy_calibration__SWIG_0(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_load_tka_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__istream), intent(in) :: input type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_tka_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = input%swigdata +call swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) +end subroutine -function swigf_SpecFile_load_multiact_file(self, filename) & +function swigf_SpecFile_detector_names_to_numbers(self, det_names) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_multiact_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = det_names%swigdata +fresult = swigc_SpecFile_detector_names_to_numbers(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_SpecFile_load_phd_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_0(self, filename, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_phd_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg3 = format +call swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) +end subroutine -function swigf_SpecFile_load_lzs_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_1(self, filename, sample_nums, det_nums, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_lzs_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_radiacode_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_2(self, filename, sample_nums, det_nums, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__vectorT_int_t), intent(in) :: sample_nums +type(SWIGTYPE_p_std__vectorT_int_t), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_radiacode_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_xml_scan_data_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write_to_file__SWIG_3(self, filename, sample_nums, det_names, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_json_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write__SWIG_0(self, strm, sample_nums, det_nums, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_json_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_caen_gxml_file(self, filename) & -result(swig_result) +subroutine swigf_SpecFile_write__SWIG_1(self, strm, sample_nums, det_names, format) use, intrinsic :: ISO_C_BINDING -logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_caen_gxml_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine -function swigf_SpecFile_load_from_N42(self, istr) & +function swigf_SpecFile_write_pcf(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_N42(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_pcf(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_N42_from_data__SWIG_0(self, data) & +function swigf_SpecFile_write_2006_N42(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -fresult = swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2006_N42(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_N42_from_data__SWIG_1(self, data, data_end) & +function swigf_SpecFile_write_csv(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -call SWIGTM_fin_char_Sm_(data_end, farg3, farg3_temp) -fresult = swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_csv(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_iaea_spc(self, input) & +function swigf_SpecFile_write_txt(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_iaea_spc(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_txt(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_binary_spc(self, input) & +function swigf_SpecFile_write_integer_chn__SWIG_0(self, ostr, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_binary_spc(farg1, farg2) +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_N42_document(self, document_node) & +function swigf_SpecFile_write_integer_chn__SWIG_1(self, ostr, sample_nums, det_names) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: document_node +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = document_node%swigdata -fresult = swigc_SpecFile_load_from_N42_document(farg1, farg2) +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_micro_raider_from_data(self, data) & +function swigf_SpecFile_write_binary_spc(self, ostr, type, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(SpecFile_SpcBinaryType), intent(in) :: type +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -fresult = swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) +farg2 = ostr%swigdata +farg3 = type +farg4 = sample_nums%swigdata +farg5 = det_nums%swigdata +fresult = swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_binary_exploranium(self, istr) & +function swigf_SpecFile_write_ascii_spc(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_pcf(self, istr) & +function swigf_SpecFile_write_binary_exploranium_gr130v0(self, output) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: output integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_pcf(farg1, farg2) +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_txt_or_csv(self, istr) & +function swigf_SpecFile_write_binary_exploranium_gr135v2(self, output) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: output integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_Gr135_txt(self, istr) & +function swigf_SpecFile_write_iaea_spe(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_spectroscopic_daily_file(self, input) & +function swigf_SpecFile_write_cnf(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_srpm210_csv(self, input) & +function swigf_SpecFile_write_tka(self, output, sample_nums, det_nums) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_D3S_raw(self, input) & +function get_SpecFile_2012N42_VERSION() & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: swig_result integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_D3S_raw(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_2012N42_VERSION_get() +swig_result = fresult end function -function swigf_SpecFile_load_from_amptek_mca(self, input) & +function swigf_SpecFile_create_2012_N42_xml(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_amptek_mca(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_create_2012_N42_xml(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_load_from_ortec_listmode(self, input) & +function swigf_SpecFile_write_2012_N42(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2012_N42(farg1, farg2) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_load_from_lsrm_spe(self, input) & +function swigf_SpecFile_mutex(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(SWIGTYPE_p_std__recursive_mutex) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_SpecFile_mutex(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_load_from_tka(self, input) & +function swigf_SpecFile_measurement_at(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result +type(Measurement) :: swig_result class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +integer(C_INT), intent(in) :: index +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_tka(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +farg2 = index +fresult = swigc_SpecFile_measurement_at(farg1, farg2) +swig_result%swigdata = fresult end function - -function swigf_SpecFile_load_from_multiact(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult + +subroutine swigf_SpecFile_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(inout) :: self +type(SpecFile), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_multiact(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = other%swigdata +call swigc_SpecFile_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine -function swigf_SpecFile_load_from_phd(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: remark_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_phd(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_remark__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_lzs(self, input) & +function swigf_DetectorAnalysisResult_remark__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_lzs(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_remark__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_radiacode(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_nuclide__set(self, nuclide_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_radiacode(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(nuclide_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_radiacode_spectrogram(self, input) & +function swigf_DetectorAnalysisResult_nuclide__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_nuclide__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_xml_scan_data(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_activity__set(self, activity_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: activity_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = activity_ +call swigc_DetectorAnalysisResult_activity__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_iaea(self, istr) & +function swigf_DetectorAnalysisResult_activity__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_iaea(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_activity__get(farg1) +swig_result = fresult end function -function swigf_SpecFile_load_from_chn(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_nuclide_type__set(self, nuclide_type_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_type_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_chn(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(nuclide_type_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_cnf(self, input) & +function swigf_DetectorAnalysisResult_nuclide_type__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_cnf(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_nuclide_type__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_tracs_mps(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_id_confidence__set(self, id_confidence_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: id_confidence_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_tracs_mps(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(id_confidence_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_aram(self, input) & +function swigf_DetectorAnalysisResult_id_confidence__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_aram(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_id_confidence__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_load_from_json(self, input) & -result(swig_result) +subroutine swigf_DetectorAnalysisResult_distance__set(self, distance_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: distance_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_json(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = distance_ +call swigc_DetectorAnalysisResult_distance__set(farg1, farg2) +end subroutine -function swigf_SpecFile_load_from_caen_gxml(self, input) & +function swigf_DetectorAnalysisResult_distance__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_caen_gxml(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysisResult_distance__get(farg1) +swig_result = fresult end function -subroutine swigf_SpecFile_cleanup_after_load__SWIG_0(self, flags) +subroutine swigf_DetectorAnalysisResult_dose_rate__set(self, dose_rate_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: flags +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: dose_rate_ type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = flags -call swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) +farg2 = dose_rate_ +call swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_cleanup_after_load__SWIG_1(self) +function swigf_DetectorAnalysisResult_dose_rate__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) +fresult = swigc_DetectorAnalysisResult_dose_rate__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_real_time__set(self, real_time_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: real_time_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = real_time_ +call swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_recalc_total_counts(self) +function swigf_DetectorAnalysisResult_real_time__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_SpecFile_recalc_total_counts(farg1) -end subroutine +fresult = swigc_DetectorAnalysisResult_real_time__get(farg1) +swig_result = fresult +end function -subroutine swigf_SpecFile_merge_neutron_meas_into_gamma_meas(self) +subroutine swigf_DetectorAnalysisResult_detector__set(self, detector_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: detector_ type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) +call SWIGTM_fin_char_Sm_(detector_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_detector__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_rebin_measurement(self, cal, measurement2) +function swigf_DetectorAnalysisResult_detector__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal -class(Measurement), intent(in) :: measurement2 +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -farg2 = cal%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) -end subroutine +fresult = swigc_DetectorAnalysisResult_detector__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -subroutine swigf_SpecFile_rebin_all_measurements(self, cal) +function swigf_new_DetectorAnalysisResult() & +result(self) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +type(DetectorAnalysisResult) :: self +type(SwigClassWrapper) :: fresult -farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_SpecFile_rebin_all_measurements(farg1, farg2) -end subroutine +fresult = swigc_new_DetectorAnalysisResult() +self%swigdata = fresult +end function -subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) +subroutine swigf_DetectorAnalysisResult_reset(self) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input +class(DetectorAnalysisResult), intent(in) :: self type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = input%swigdata -call swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) +call swigc_DetectorAnalysisResult_reset(farg1) end subroutine -function swigf_SpecFile_detector_names_to_numbers(self, det_names) & +function swigf_DetectorAnalysisResult_isEmpty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = det_names%swigdata -fresult = swigc_SpecFile_detector_names_to_numbers(farg1, farg2) -swig_result%swigdata = fresult +fresult = swigc_DetectorAnalysisResult_isEmpty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_SpecFile_write_to_file__SWIG_0(self, filename, format) +subroutine swigf_DetectorAnalysisResult_release(self) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysisResult), intent(inout) :: self type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = format -call swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysisResult(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 end subroutine -subroutine swigf_SpecFile_write_to_file__SWIG_1(self, filename, sample_nums, det_nums, format) +subroutine swigf_DetectorAnalysisResult_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysisResult), intent(inout) :: self +type(DetectorAnalysisResult), intent(in) :: other type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) +farg2 = other%swigdata +call swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) +self%swigdata = farg1 end subroutine -subroutine swigf_SpecFile_write_to_file__SWIG_2(self, filename, sample_nums, det_nums, format) +subroutine swigf_DetectorAnalysis_remarks__set(self, remarks_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -type(IntVector), intent(in) :: sample_nums -type(IntVector), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks_ type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) +farg2 = remarks_%swigdata +call swigc_DetectorAnalysis_remarks__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_write_to_file__SWIG_3(self, filename, sample_nums, det_names, format) +function swigf_DetectorAnalysis_remarks__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(SaveSpectrumAsType), intent(in) :: format +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) -end subroutine +fresult = swigc_DetectorAnalysis_remarks__get(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_SpecFile_write__SWIG_0(self, strm, sample_nums, det_nums, format) +subroutine swigf_DetectorAnalysis_algorithm_name__set(self, algorithm_name_) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: strm -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_name_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = strm%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) +call SWIGTM_fin_char_Sm_(algorithm_name_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) end subroutine -subroutine swigf_SpecFile_write__SWIG_1(self, strm, sample_nums, det_names, format) +function swigf_DetectorAnalysis_algorithm_name__get(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: strm -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(SaveSpectrumAsType), intent(in) :: format +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 farg1 = self%swigdata -farg2 = strm%swigdata -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -farg5 = format -call swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) -end subroutine +fresult = swigc_DetectorAnalysis_algorithm_name__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function -function swigf_SpecFile_write_pcf(self, ostr) & -result(swig_result) +subroutine swigf_DetectorAnalysis_algorithm_component_versions__set(self, algorithm_component_versions_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t), intent(in) :: algorithm_component_versions_ type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_pcf(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = algorithm_component_versions_%swigdata +call swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_2006_N42(self, ostr) & +function swigf_DetectorAnalysis_algorithm_component_versions__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_2006_N42(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_write_csv(self, ostr) & -result(swig_result) +subroutine swigf_DetectorAnalysis_algorithm_creator__set(self, algorithm_creator_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_creator_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(algorithm_creator_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_txt(self, ostr) & +function swigf_DetectorAnalysis_algorithm_creator__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_txt(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_creator__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_write_integer_chn__SWIG_0(self, ostr, sample_nums, det_nums) & -result(swig_result) +subroutine swigf_DetectorAnalysis_algorithm_description__set(self, algorithm_description_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_description_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(algorithm_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_integer_chn__SWIG_1(self, ostr, sample_nums, det_names) & +function swigf_DetectorAnalysis_algorithm_description__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -fresult = swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_write_binary_spc(self, ostr, type, sample_nums, det_nums) & -result(swig_result) +subroutine swigf_DetectorAnalysis_analysis_start_time__set(self, analysis_start_time_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(SpecFile_SpcBinaryType), intent(in) :: type -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: analysis_start_time_ type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 -type(SwigClassWrapper) :: farg5 farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = type -farg4 = sample_nums%swigdata -farg5 = det_nums%swigdata -fresult = swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = analysis_start_time_%swigdata +call swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_ascii_spc(self, output, sample_nums, det_nums) & +function swigf_DetectorAnalysis_analysis_start_time__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_analysis_start_time__get(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_write_binary_exploranium_gr130v0(self, output) & -result(swig_result) +subroutine swigf_DetectorAnalysis_analysis_computation_duration__set(self, analysis_computation_duration_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT), intent(in) :: analysis_computation_duration_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = output%swigdata -fresult = swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = analysis_computation_duration_ +call swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_binary_exploranium_gr135v2(self, output) & +function swigf_DetectorAnalysis_analysis_computation_duration__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -integer(C_INT) :: fresult +real(C_FLOAT) :: swig_result +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = output%swigdata -fresult = swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) +swig_result = fresult end function -function swigf_SpecFile_write_iaea_spe(self, output, sample_nums, det_nums) & -result(swig_result) +subroutine swigf_DetectorAnalysis_algorithm_result_description__set(self, algorithm_result_description_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_result_description_ type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call SWIGTM_fin_char_Sm_(algorithm_result_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) +end subroutine -function swigf_SpecFile_write_cnf(self, output, sample_nums, det_nums) & +function swigf_DetectorAnalysis_algorithm_result_description__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_DetectorAnalysis_algorithm_result_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_SpecFile_write_tka(self, output, sample_nums, det_nums) & -result(swig_result) +subroutine swigf_DetectorAnalysis_results__set(self, results_) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t), intent(in) :: results_ type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function +farg2 = results_%swigdata +call swigc_DetectorAnalysis_results__set(farg1, farg2) +end subroutine -function get_SpecFile_2012N42_VERSION() & +function swigf_DetectorAnalysis_results__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -integer(C_INT) :: fresult +type(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -fresult = swigc_SpecFile_2012N42_VERSION_get() -swig_result = fresult +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_results__get(farg1) +swig_result%swigdata = fresult end function -function swigf_SpecFile_create_2012_N42_xml(self) & -result(swig_result) +function swigf_new_DetectorAnalysis() & +result(self) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t) :: swig_result -class(SpecFile), intent(in) :: self +type(DetectorAnalysis) :: self type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -farg1 = self%swigdata -fresult = swigc_SpecFile_create_2012_N42_xml(farg1) -swig_result%swigdata = fresult +fresult = swigc_new_DetectorAnalysis() +self%swigdata = fresult end function -function swigf_SpecFile_write_2012_N42(self, ostr) & -result(swig_result) +subroutine swigf_DetectorAnalysis_reset(self) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult +class(DetectorAnalysis), intent(in) :: self type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_2012_N42(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function +call swigc_DetectorAnalysis_reset(farg1) +end subroutine -function swigf_SpecFile_mutex(self) & +function swigf_DetectorAnalysis_is_empty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__recursive_mutex) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(DetectorAnalysis), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_SpecFile_mutex(farg1) -swig_result%swigdata = fresult +fresult = swigc_DetectorAnalysis_is_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_SpecFile_measurement_at(self, index) & -result(swig_result) +subroutine swigf_DetectorAnalysis_release(self) use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: index -type(SwigClassWrapper) :: fresult +class(DetectorAnalysis), intent(inout) :: self type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = index -fresult = swigc_SpecFile_measurement_at(farg1, farg2) -swig_result%swigdata = fresult -end function +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysis(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine -subroutine swigf_SpecFile_op_assign__(self, other) +subroutine swigf_DetectorAnalysis_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(inout) :: self -type(SpecFile), intent(in) :: other +class(DetectorAnalysis), intent(inout) :: self +type(DetectorAnalysis), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata farg2 = other%swigdata -call swigc_SpecFile_op_assign__(farg1, farg2) +call swigc_DetectorAnalysis_op_assign__(farg1, farg2) self%swigdata = farg1 end subroutine -subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) +subroutine swigf_MultimediaData_remark__set(self, remark_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self +class(MultimediaData), intent(in) :: self character(len=*), intent(in) :: remark_ type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp @@ -10773,1616 +10853,1778 @@ subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) farg1 = self%swigdata call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_remark__set(farg1, farg2) +call swigc_MultimediaData_remark__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_remark__get(self) & +function swigf_MultimediaData_remark__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(MultimediaData), intent(in) :: self type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_remark__get(farg1) +fresult = swigc_MultimediaData_remark__get(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -subroutine swigf_DetectorAnalysisResult_nuclide__set(self, nuclide_) +subroutine swigf_MultimediaData_descriptions__set(self, descriptions_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: nuclide_ +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: descriptions_ type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(nuclide_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) +call SWIGTM_fin_char_Sm_(descriptions_, farg2, farg2_temp) +call swigc_MultimediaData_descriptions__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_nuclide__get(self) & +function swigf_MultimediaData_descriptions__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(MultimediaData), intent(in) :: self type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_nuclide__get(farg1) +fresult = swigc_MultimediaData_descriptions__get(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -subroutine swigf_DetectorAnalysisResult_activity__set(self, activity_) +subroutine swigf_MultimediaData_data__set(self, data_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: activity_ +class(MultimediaData), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data_ type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = activity_ -call swigc_DetectorAnalysisResult_activity__set(farg1, farg2) +farg2 = data_%swigdata +call swigc_MultimediaData_data__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_activity__get(self) & +function swigf_MultimediaData_data__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult +type(SWIGTYPE_p_std__vectorT_char_t) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_activity__get(farg1) +fresult = swigc_MultimediaData_data__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MultimediaData_data_encoding__set(self, data_encoding_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +integer(MultimediaData_EncodingType), intent(in) :: data_encoding_ +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = data_encoding_ +call swigc_MultimediaData_data_encoding__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_data_encoding__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(MultimediaData_EncodingType) :: swig_result +class(MultimediaData), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_data_encoding__get(farg1) swig_result = fresult end function -subroutine swigf_DetectorAnalysisResult_nuclide_type__set(self, nuclide_type_) +subroutine swigf_MultimediaData_capture_start_time__set(self, capture_start_time_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: nuclide_type_ +class(MultimediaData), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: capture_start_time_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = capture_start_time_%swigdata +call swigc_MultimediaData_capture_start_time__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_capture_start_time__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_capture_start_time__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MultimediaData_file_uri__set(self, file_uri_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: file_uri_ type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(nuclide_type_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) +call SWIGTM_fin_char_Sm_(file_uri_, farg2, farg2_temp) +call swigc_MultimediaData_file_uri__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_nuclide_type__get(self) & +function swigf_MultimediaData_file_uri__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(MultimediaData), intent(in) :: self type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_nuclide_type__get(farg1) +fresult = swigc_MultimediaData_file_uri__get(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -subroutine swigf_DetectorAnalysisResult_id_confidence__set(self, id_confidence_) +subroutine swigf_MultimediaData_mime_type__set(self, mime_type_) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: id_confidence_ +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: mime_type_ type(SwigClassWrapper) :: farg1 character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(id_confidence_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) +call SWIGTM_fin_char_Sm_(mime_type_, farg2, farg2_temp) +call swigc_MultimediaData_mime_type__set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_id_confidence__get(self) & +function swigf_MultimediaData_mime_type__get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(MultimediaData), intent(in) :: self type(SwigArrayWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_id_confidence__get(farg1) +fresult = swigc_MultimediaData_mime_type__get(farg1) call SWIGTM_fout_char_Sm_(fresult, swig_result) call SWIG_free(fresult%data) end function -subroutine swigf_DetectorAnalysisResult_distance__set(self, distance_) +function swigf_new_MultimediaData() & +result(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: distance_ +type(MultimediaData) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_MultimediaData() +self%swigdata = fresult +end function + +subroutine swigf_MultimediaData_release(self) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_MultimediaData(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_MultimediaData_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(inout) :: self +type(MultimediaData), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_MultimediaData_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_DevPair__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DevPair__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_DevPair__SWIG_1(first, second) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: self +real(C_FLOAT), intent(in) :: first +real(C_FLOAT), intent(in) :: second +type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = first +farg2 = second +fresult = swigc_new_DevPair__SWIG_1(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_new_DevPair__SWIG_2(p) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: self +class(DevPair), intent(in) :: p +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = p%swigdata +fresult = swigc_new_DevPair__SWIG_2(farg1) +self%swigdata = fresult +end function + +subroutine swigf_DevPair_first_set(self, first) +use, intrinsic :: ISO_C_BINDING +class(DevPair), intent(in) :: self +real(C_FLOAT), intent(in) :: first type(SwigClassWrapper) :: farg1 real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = distance_ -call swigc_DetectorAnalysisResult_distance__set(farg1, farg2) +farg2 = first +call swigc_DevPair_first_set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_distance__get(self) & +function swigf_DevPair_first_get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(DevPair), intent(in) :: self real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_distance__get(farg1) +fresult = swigc_DevPair_first_get(farg1) swig_result = fresult end function -subroutine swigf_DetectorAnalysisResult_dose_rate__set(self, dose_rate_) +subroutine swigf_DevPair_second_set(self, second) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: dose_rate_ +class(DevPair), intent(in) :: self +real(C_FLOAT), intent(in) :: second type(SwigClassWrapper) :: farg1 real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = dose_rate_ -call swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) +farg2 = second +call swigc_DevPair_second_set(farg1, farg2) end subroutine -function swigf_DetectorAnalysisResult_dose_rate__get(self) & +function swigf_DevPair_second_get(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(DevPair), intent(in) :: self real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_dose_rate__get(farg1) +fresult = swigc_DevPair_second_get(farg1) swig_result = fresult end function -subroutine swigf_DetectorAnalysisResult_real_time__set(self, real_time_) +subroutine swigf_DevPair_release(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: real_time_ +class(DevPair), intent(inout) :: self type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = real_time_ -call swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DevPair(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 end subroutine -function swigf_DetectorAnalysisResult_real_time__get(self) & -result(swig_result) +subroutine swigf_DevPair_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult +class(DevPair), intent(inout) :: self +type(DevPair), intent(in) :: other type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_real_time__get(farg1) -swig_result = fresult +farg2 = other%swigdata +call swigc_DevPair_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_DeviationPairs__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DeviationPairs__SWIG_0() +self%swigdata = fresult end function -subroutine swigf_DetectorAnalysisResult_detector__set(self, detector_) +function swigf_new_DeviationPairs__SWIG_1(other) & +result(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: detector_ +type(DeviationPairs) :: self +class(DeviationPairs), intent(in) :: other +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(detector_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_detector__set(farg1, farg2) -end subroutine +farg1 = other%swigdata +fresult = swigc_new_DeviationPairs__SWIG_1(farg1) +self%swigdata = fresult +end function -function swigf_DetectorAnalysisResult_detector__get(self) & -result(swig_result) +function swigf_new_DeviationPairs__SWIG_2(count) & +result(self) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +type(DeviationPairs) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_INT) :: farg1 -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_detector__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg1 = int(count, C_INT) +fresult = swigc_new_DeviationPairs__SWIG_2(farg1) +self%swigdata = fresult end function -function swigf_new_DetectorAnalysisResult() & +function swigf_new_DeviationPairs__SWIG_3(count, v) & result(self) use, intrinsic :: ISO_C_BINDING -type(DetectorAnalysisResult) :: self +type(DeviationPairs) :: self +integer, intent(in) :: count +class(DevPair), intent(in) :: v type(SwigClassWrapper) :: fresult +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 -fresult = swigc_new_DetectorAnalysisResult() +farg1 = int(count, C_INT) +farg2 = v%swigdata +fresult = swigc_new_DeviationPairs__SWIG_3(farg1, farg2) self%swigdata = fresult end function -subroutine swigf_DetectorAnalysisResult_reset(self) +function swigf_DeviationPairs_size(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self +integer :: swig_result +class(DeviationPairs), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_DetectorAnalysisResult_reset(farg1) -end subroutine +fresult = swigc_DeviationPairs_size(farg1) +swig_result = int(fresult) +end function -function swigf_DetectorAnalysisResult_isEmpty(self) & +function swigf_DeviationPairs_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(DeviationPairs), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_DeviationPairs_empty(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(DetectorAnalysisResult), intent(in) :: self +class(DeviationPairs), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_isEmpty(farg1) +fresult = swigc_DeviationPairs_empty(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_DetectorAnalysisResult_release(self) +function swigf_DeviationPairs_front(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(inout) :: self +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DetectorAnalysisResult(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine +fresult = swigc_DeviationPairs_front(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_DetectorAnalysisResult_op_assign__(self, other) +function swigf_DeviationPairs_back(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(inout) :: self -type(DetectorAnalysisResult), intent(in) :: other +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine +fresult = swigc_DeviationPairs_back(farg1) +swig_result%swigdata = fresult +end function -subroutine swigf_DetectorAnalysis_remarks__set(self, remarks_) +subroutine swigf_DeviationPairs_reserve(self, count) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks_ +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: count type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg2 farg1 = self%swigdata -farg2 = remarks_%swigdata -call swigc_DetectorAnalysis_remarks__set(farg1, farg2) +farg2 = int(count, C_INT) +call swigc_DeviationPairs_reserve(farg1, farg2) end subroutine -function swigf_DetectorAnalysis_remarks__get(self) & -result(swig_result) +subroutine swigf_DeviationPairs_resize__SWIG_0(self, count) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: count type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_remarks__get(farg1) -swig_result%swigdata = fresult -end function +farg2 = int(count, C_INT) +call swigc_DeviationPairs_resize__SWIG_0(farg1, farg2) +end subroutine -subroutine swigf_DetectorAnalysis_algorithm_name__set(self, algorithm_name_) +subroutine swigf_DeviationPairs_resize__SWIG_1(self, count, v) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_name_ +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: count +class(DevPair), intent(in) :: v type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_name_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) +farg2 = int(count, C_INT) +farg3 = v%swigdata +call swigc_DeviationPairs_resize__SWIG_1(farg1, farg2, farg3) end subroutine -function swigf_DetectorAnalysis_algorithm_name__get(self) & -result(swig_result) +subroutine swigf_DeviationPairs_push_back(self, v) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(DeviationPairs), intent(in) :: self +class(DevPair), intent(in) :: v type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_name__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = v%swigdata +call swigc_DeviationPairs_push_back(farg1, farg2) +end subroutine -subroutine swigf_DetectorAnalysis_algorithm_component_versions__set(self, algorithm_component_versions_) +subroutine swigf_DeviationPairs_pop_back(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t), intent(in) :: algorithm_component_versions_ +class(DeviationPairs), intent(in) :: self type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = algorithm_component_versions_%swigdata -call swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) +call swigc_DeviationPairs_pop_back(farg1) end subroutine -function swigf_DetectorAnalysis_algorithm_component_versions__get(self) & -result(swig_result) +subroutine swigf_DeviationPairs_clear(self) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult +class(DeviationPairs), intent(in) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) -swig_result%swigdata = fresult -end function +call swigc_DeviationPairs_clear(farg1) +end subroutine -subroutine swigf_DetectorAnalysis_algorithm_creator__set(self, algorithm_creator_) +subroutine swigf_DeviationPairs_set(self, index, v) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_creator_ +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +class(DevPair), intent(in) :: v type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_creator_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_DeviationPairs_set(farg1, farg2, farg3) end subroutine -function swigf_DetectorAnalysis_algorithm_creator__get(self) & +function swigf_DeviationPairs_get(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_creator__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +farg2 = int(index, C_INT) +fresult = swigc_DeviationPairs_get(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysis_algorithm_description__set(self, algorithm_description_) +subroutine swigf_DeviationPairs_insert(self, index, v) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_description_ +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +class(DevPair), intent(in) :: v type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_description_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_DeviationPairs_insert(farg1, farg2, farg3) end subroutine -function swigf_DetectorAnalysis_algorithm_description__get(self) & -result(swig_result) +subroutine swigf_DeviationPairs_erase__SWIG_0(self, index) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_description__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function +farg2 = int(index, C_INT) +call swigc_DeviationPairs_erase__SWIG_0(farg1, farg2) +end subroutine -subroutine swigf_DetectorAnalysis_analysis_start_time__set(self, analysis_start_time_) +subroutine swigf_DeviationPairs_erase__SWIG_1(self, start_index, stop_index) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: analysis_start_time_ +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 farg1 = self%swigdata -farg2 = analysis_start_time_%swigdata -call swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_DeviationPairs_erase__SWIG_1(farg1, farg2, farg3) end subroutine -function swigf_DetectorAnalysis_analysis_start_time__get(self) & +function swigf_DeviationPairs_front_ref(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(DetectorAnalysis), intent(in) :: self +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_analysis_start_time__get(farg1) +fresult = swigc_DeviationPairs_front_ref(farg1) swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysis_analysis_computation_duration__set(self, analysis_computation_duration_) +function swigf_DeviationPairs_back_ref(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -real(C_FLOAT), intent(in) :: analysis_computation_duration_ +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 farg1 = self%swigdata -farg2 = analysis_computation_duration_ -call swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) -end subroutine +fresult = swigc_DeviationPairs_back_ref(farg1) +swig_result%swigdata = fresult +end function -function swigf_DetectorAnalysis_analysis_computation_duration__get(self) & +function swigf_DeviationPairs_get_ref(self, index) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysis), intent(in) :: self -real(C_FLOAT) :: fresult +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) -swig_result = fresult +farg2 = int(index, C_INT) +fresult = swigc_DeviationPairs_get_ref(farg1, farg2) +swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysis_algorithm_result_description__set(self, algorithm_result_description_) +subroutine swigf_DeviationPairs_release(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_result_description_ +class(DeviationPairs), intent(inout) :: self type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_result_description_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DeviationPairs(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 end subroutine -function swigf_DetectorAnalysis_algorithm_result_description__get(self) & +subroutine swigf_DeviationPairs_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(inout) :: self +type(DeviationPairs), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DeviationPairs_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_EnergyCalibration_type(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult +integer(EnergyCalType) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_result_description__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_EnergyCalibration_type(farg1) +swig_result = fresult end function -subroutine swigf_DetectorAnalysis_results__set(self, results_) +function swigf_EnergyCalibration_valid(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t), intent(in) :: results_ +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = results_%swigdata -call swigc_DetectorAnalysis_results__set(farg1, farg2) -end subroutine +fresult = swigc_EnergyCalibration_valid(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_DetectorAnalysis_results__get(self) & +function swigf_EnergyCalibration_coefficients(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self +type(FloatVector) :: swig_result +class(EnergyCalibration), intent(in) :: self type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_results__get(farg1) +fresult = swigc_EnergyCalibration_coefficients(farg1) swig_result%swigdata = fresult end function -function swigf_new_DetectorAnalysis() & -result(self) +function swigf_EnergyCalibration_deviation_pairs(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(DetectorAnalysis) :: self +type(DeviationPairs) :: swig_result +class(EnergyCalibration), intent(in) :: self type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -fresult = swigc_new_DetectorAnalysis() -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_deviation_pairs(farg1) +swig_result%swigdata = fresult end function -subroutine swigf_DetectorAnalysis_reset(self) +function swigf_EnergyCalibration_channel_energies(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -call swigc_DetectorAnalysis_reset(farg1) -end subroutine +fresult = swigc_EnergyCalibration_channel_energies(farg1) +swig_result%swigdata = fresult +end function -function swigf_DetectorAnalysis_is_empty(self) & +function swigf_EnergyCalibration_num_channels(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(DetectorAnalysis), intent(in) :: self +integer(C_INT) :: swig_result +class(EnergyCalibration), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_is_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +fresult = swigc_EnergyCalibration_num_channels(farg1) +swig_result = fresult end function -subroutine swigf_DetectorAnalysis_release(self) +function swigf_new_EnergyCalibration() & +result(self) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(inout) :: self -type(SwigClassWrapper) :: farg1 +type(EnergyCalibration) :: self +type(SwigClassWrapper) :: fresult -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DetectorAnalysis(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine +fresult = swigc_new_EnergyCalibration() +self%swigdata = fresult +end function -subroutine swigf_DetectorAnalysis_op_assign__(self, other) +subroutine swigf_EnergyCalibration_set_polynomial(self, num_channels, coeffs, dev_pairs) use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(inout) :: self -type(DetectorAnalysis), intent(in) :: other +class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: dev_pairs type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DetectorAnalysis_op_assign__(farg1, farg2) -self%swigdata = farg1 +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) end subroutine -subroutine swigf_MultimediaData_remark__set(self, remark_) +subroutine swigf_EnergyCalibration_set_default_polynomial(self, num_channels, coeffs, dev_pairs) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: remark_ +class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: dev_pairs type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) -call swigc_MultimediaData_remark__set(farg1, farg2) +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) end subroutine -function swigf_MultimediaData_remark__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_remark__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_MultimediaData_descriptions__set(self, descriptions_) +subroutine swigf_EnergyCalibration_set_full_range_fraction(self, num_channels, coeffs, dev_pairs) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: descriptions_ +class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: dev_pairs type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(descriptions_, farg2, farg2_temp) -call swigc_MultimediaData_descriptions__set(farg1, farg2) +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) end subroutine -function swigf_MultimediaData_descriptions__get(self) & +function swigf_EnergyCalibration_op_lt__(self, rhs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_descriptions__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_MultimediaData_data__set(self, data_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data_ +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = data_%swigdata -call swigc_MultimediaData_data__set(farg1, farg2) -end subroutine +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_lt__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_MultimediaData_data__get(self) & +function swigf_EnergyCalibration_op_eq__(self, rhs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_char_t) :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigClassWrapper) :: fresult +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_MultimediaData_data__get(farg1) -swig_result%swigdata = fresult +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_eq__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine swigf_MultimediaData_data_encoding__set(self, data_encoding_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -integer(MultimediaData_EncodingType), intent(in) :: data_encoding_ +function swigf_EnergyCalibration_op_ne__(self, rhs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg2 farg1 = self%swigdata -farg2 = data_encoding_ -call swigc_MultimediaData_data_encoding__set(farg1, farg2) -end subroutine +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_ne__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function -function swigf_MultimediaData_data_encoding__get(self) & +function swigf_EnergyCalibration_memmorysize(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(MultimediaData_EncodingType) :: swig_result -class(MultimediaData), intent(in) :: self +integer(C_INT) :: swig_result +class(EnergyCalibration), intent(in) :: self integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MultimediaData_data_encoding__get(farg1) +fresult = swigc_EnergyCalibration_memmorysize(farg1) swig_result = fresult end function -subroutine swigf_MultimediaData_capture_start_time__set(self, capture_start_time_) +function swigf_EnergyCalibration_channel_for_energy(self, energy) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: capture_start_time_ +real(C_DOUBLE) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_DOUBLE), intent(in) :: energy +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +real(C_DOUBLE) :: farg2 farg1 = self%swigdata -farg2 = capture_start_time_%swigdata -call swigc_MultimediaData_capture_start_time__set(farg1, farg2) -end subroutine +farg2 = energy +fresult = swigc_EnergyCalibration_channel_for_energy(farg1, farg2) +swig_result = fresult +end function -function swigf_MultimediaData_capture_start_time__get(self) & +function swigf_EnergyCalibration_energy_for_channel(self, channel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigClassWrapper) :: fresult +real(C_DOUBLE) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_DOUBLE), intent(in) :: channel +real(C_DOUBLE) :: fresult type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 farg1 = self%swigdata -fresult = swigc_MultimediaData_capture_start_time__get(farg1) -swig_result%swigdata = fresult +farg2 = channel +fresult = swigc_EnergyCalibration_energy_for_channel(farg1, farg2) +swig_result = fresult end function -subroutine swigf_MultimediaData_file_uri__set(self, file_uri_) +function swigf_EnergyCalibration_lower_energy(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: file_uri_ +real(C_FLOAT) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(file_uri_, farg2, farg2_temp) -call swigc_MultimediaData_file_uri__set(farg1, farg2) -end subroutine +fresult = swigc_EnergyCalibration_lower_energy(farg1) +swig_result = fresult +end function -function swigf_MultimediaData_file_uri__get(self) & +function swigf_EnergyCalibration_upper_energy(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult +real(C_FLOAT) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_FLOAT) :: fresult type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_MultimediaData_file_uri__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_EnergyCalibration_upper_energy(farg1) +swig_result = fresult end function -subroutine swigf_MultimediaData_mime_type__set(self, mime_type_) +function swigf_EnergyCalibration_sm_min_channels_get() & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: mime_type_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: swig_result +integer(C_INT) :: fresult -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(mime_type_, farg2, farg2_temp) -call swigc_MultimediaData_mime_type__set(farg1, farg2) -end subroutine +fresult = swigc_EnergyCalibration_sm_min_channels_get() +swig_result = fresult +end function -function swigf_MultimediaData_mime_type__get(self) & +function swigf_EnergyCalibration_sm_max_channels_get() & result(swig_result) use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +integer(C_INT) :: swig_result +integer(C_INT) :: fresult -farg1 = self%swigdata -fresult = swigc_MultimediaData_mime_type__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) +fresult = swigc_EnergyCalibration_sm_max_channels_get() +swig_result = fresult end function -function swigf_new_MultimediaData() & -result(self) +function swigf_EnergyCalibration_sm_polynomial_offset_limit_get() & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(MultimediaData) :: self -type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: swig_result +real(C_FLOAT) :: fresult -fresult = swigc_new_MultimediaData() -self%swigdata = fresult +fresult = swigc_EnergyCalibration_sm_polynomial_offset_limit_get() +swig_result = fresult end function -subroutine swigf_MultimediaData_release(self) +subroutine swigf_EnergyCalibration_release(self) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(inout) :: self +class(EnergyCalibration), intent(inout) :: self type(SwigClassWrapper) :: farg1 farg1 = self%swigdata if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_MultimediaData(farg1) +call swigc_delete_EnergyCalibration(farg1) endif farg1%cptr = C_NULL_PTR farg1%cmemflags = 0 self%swigdata = farg1 end subroutine -subroutine swigf_MultimediaData_op_assign__(self, other) +subroutine swigf_EnergyCalibration_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(inout) :: self -type(MultimediaData), intent(in) :: other +class(EnergyCalibration), intent(inout) :: self +type(EnergyCalibration), intent(in) :: other type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 farg1 = self%swigdata farg2 = other%swigdata -call swigc_MultimediaData_op_assign__(farg1, farg2) +call swigc_EnergyCalibration_op_assign__(farg1, farg2) self%swigdata = farg1 end subroutine -function swigf_new_DevPair__SWIG_0() & -result(self) +function energy_cal_combine_channels(orig_cal, num_channel_combine) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(DevPair) :: self +type(EnergyCalibration) :: swig_result +class(EnergyCalibration), intent(in) :: orig_cal +integer(C_INT), intent(in) :: num_channel_combine type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 -fresult = swigc_new_DevPair__SWIG_0() -self%swigdata = fresult +farg1 = orig_cal%swigdata +farg2 = num_channel_combine +fresult = swigc_energy_cal_combine_channels(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_new_DevPair__SWIG_1(first, second) & -result(self) +function polynomial_binning(coeffs, nchannel, deviation_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(DevPair) :: self -real(C_FLOAT), intent(in) :: first -real(C_FLOAT), intent(in) :: second +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs type(SwigClassWrapper) :: fresult -real(C_FLOAT) :: farg1 -real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 -farg1 = first -farg2 = second -fresult = swigc_new_DevPair__SWIG_1(farg1, farg2) -self%swigdata = fresult +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = deviation_pairs%swigdata +fresult = swigc_polynomial_binning(farg1, farg2, farg3) +swig_result%swigdata = fresult end function -function swigf_new_DevPair__SWIG_2(p) & -result(self) +function swigf_fullrangefraction_binning__SWIG_0(coeffs, nchannel, dev_pairs, include_upper_energy) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(DevPair) :: self -class(DevPair), intent(in) :: p +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: dev_pairs +logical, intent(in) :: include_upper_energy type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +integer(C_INT) :: farg4 -farg1 = p%swigdata -fresult = swigc_new_DevPair__SWIG_2(farg1) -self%swigdata = fresult +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = dev_pairs%swigdata +call SWIGTM_fin_bool(include_upper_energy, farg4) +fresult = swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) +swig_result%swigdata = fresult end function -subroutine swigf_DevPair_first_set(self, first) +function swigf_fullrangefraction_binning__SWIG_1(coeffs, nchannel, dev_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(in) :: self -real(C_FLOAT), intent(in) :: first +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: dev_pairs +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 -farg1 = self%swigdata -farg2 = first -call swigc_DevPair_first_set(farg1, farg2) -end subroutine +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = dev_pairs%swigdata +fresult = swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function -function swigf_DevPair_first_get(self) & +function fullrangefraction_energy(channel_number, coeffs, nchannel, deviation_pairs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DevPair), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: channel_number +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 -farg1 = self%swigdata -fresult = swigc_DevPair_first_get(farg1) +farg1 = channel_number +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) swig_result = fresult end function -subroutine swigf_DevPair_second_set(self, second) +function polynomial_energy(channel_number, coeffs, deviation_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(in) :: self -real(C_FLOAT), intent(in) :: second -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = second -call swigc_DevPair_second_set(farg1, farg2) -end subroutine +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: channel_number +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 -function swigf_DevPair_second_get(self) & +farg1 = channel_number +farg2 = coeffs%swigdata +farg3 = deviation_pairs%swigdata +fresult = swigc_polynomial_energy(farg1, farg2, farg3) +swig_result = fresult +end function + +function deviation_pair_correction(polynomial_energy0, dev_pairs) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DevPair), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: polynomial_energy0 +class(DeviationPairs), intent(in) :: dev_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -fresult = swigc_DevPair_second_get(farg1) +farg1 = polynomial_energy0 +farg2 = dev_pairs%swigdata +fresult = swigc_deviation_pair_correction(farg1, farg2) swig_result = fresult end function -subroutine swigf_DevPair_release(self) +function correction_due_to_dev_pairs(true_energy, dev_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(inout) :: self -type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: true_energy +class(DeviationPairs), intent(in) :: dev_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DevPair(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine +farg1 = true_energy +farg2 = dev_pairs%swigdata +fresult = swigc_correction_due_to_dev_pairs(farg1, farg2) +swig_result = fresult +end function -subroutine swigf_DevPair_op_assign__(self, other) +function apply_deviation_pair(binning, dev_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(inout) :: self -type(DevPair), intent(in) :: other +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: binning +class(DeviationPairs), intent(in) :: dev_pairs +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DevPair_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine +farg1 = binning%swigdata +farg2 = dev_pairs%swigdata +fresult = swigc_apply_deviation_pair(farg1, farg2) +swig_result%swigdata = fresult +end function -function swigf_EnergyCalibration_type(self) & +function polynomial_coef_to_fullrangefraction(coeffs, nchannel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(EnergyCalType) :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_INT) :: fresult +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_type(farg1) -swig_result = fresult +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_EnergyCalibration_valid(self) & +function fullrangefraction_coef_to_polynomial(coeffs, nchannel) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_INT) :: fresult +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_valid(farg1) -call SWIGTM_fout_bool(fresult, swig_result) +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) +swig_result%swigdata = fresult end function -function swigf_EnergyCalibration_coefficients(self) & +function mid_channel_polynomial_to_fullrangeFraction(coeffs, nchannel) & result(swig_result) use, intrinsic :: ISO_C_BINDING type(FloatVector) :: swig_result -class(EnergyCalibration), intent(in) :: self +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel type(SwigClassWrapper) :: fresult type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_coefficients(farg1) +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) swig_result%swigdata = fresult end function -function swigf_EnergyCalibration_deviation_pairs(self) & +function calibration_is_valid(type, eqn, devpairs, nbin) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t) :: swig_result -class(EnergyCalibration), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +logical :: swig_result +integer(EnergyCalType), intent(in) :: type +class(FloatVector), intent(in) :: eqn +class(DeviationPairs), intent(in) :: devpairs +integer(C_INT), intent(in) :: nbin +integer(C_INT) :: fresult +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +integer(C_INT) :: farg4 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_deviation_pairs(farg1) -swig_result%swigdata = fresult +farg1 = type +farg2 = eqn%swigdata +farg3 = devpairs%swigdata +farg4 = nbin +fresult = swigc_calibration_is_valid(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_EnergyCalibration_channel_energies(self) & +function polynomial_cal_remove_first_channels(num_channels_remove, orig_coefs) & result(swig_result) use, intrinsic :: ISO_C_BINDING type(FloatVector) :: swig_result -class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: num_channels_remove +class(FloatVector), intent(in) :: orig_coefs type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_channel_energies(farg1) +farg1 = num_channels_remove +farg2 = orig_coefs%swigdata +fresult = swigc_polynomial_cal_remove_first_channels(farg1, farg2) swig_result%swigdata = fresult end function -function swigf_EnergyCalibration_num_channels(self) & +function swigf_find_fullrangefraction_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE), intent(in) :: accuracy +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_DOUBLE) :: farg5 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_num_channels(farg1) +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +farg5 = accuracy +fresult = swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) swig_result = fresult end function -function swigf_new_EnergyCalibration() & -result(self) +function swigf_find_fullrangefraction_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(EnergyCalibration) :: self -type(SwigClassWrapper) :: fresult +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 -fresult = swigc_new_EnergyCalibration() -self%swigdata = fresult +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) +swig_result = fresult end function -subroutine swigf_EnergyCalibration_set_polynomial(self, num_channels, coeffs, dev_pairs) +function swigf_find_polynomial_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(in) :: self -integer(C_SIZE_T), intent(in) :: num_channels +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy class(FloatVector), intent(in) :: coeffs -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE), intent(in) :: accuracy +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 type(SwigClassWrapper) :: farg4 +real(C_DOUBLE) :: farg5 -farg1 = self%swigdata -farg2 = num_channels -farg3 = coeffs%swigdata -farg4 = dev_pairs%swigdata -call swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) -end subroutine +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +farg5 = accuracy +fresult = swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) +swig_result = fresult +end function -subroutine swigf_EnergyCalibration_set_default_polynomial(self, num_channels, coeffs, dev_pairs) +function swigf_find_polynomial_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(in) :: self -integer(C_SIZE_T), intent(in) :: num_channels +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy class(FloatVector), intent(in) :: coeffs -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 type(SwigClassWrapper) :: farg4 -farg1 = self%swigdata -farg2 = num_channels -farg3 = coeffs%swigdata -farg4 = dev_pairs%swigdata -call swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) -end subroutine +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) +swig_result = fresult +end function -subroutine swigf_EnergyCalibration_set_full_range_fraction(self, num_channels, coeffs, dev_pairs) +subroutine rebin_by_lower_edge(original_energies, original_counts, new_energies, resulting_counts) use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(in) :: self -integer(C_SIZE_T), intent(in) :: num_channels -class(FloatVector), intent(in) :: coeffs -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs +class(FloatVector), intent(in) :: original_energies +class(FloatVector), intent(in) :: original_counts +class(FloatVector), intent(in) :: new_energies +class(FloatVector), intent(in) :: resulting_counts type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg2 type(SwigClassWrapper) :: farg3 type(SwigClassWrapper) :: farg4 -farg1 = self%swigdata -farg2 = num_channels -farg3 = coeffs%swigdata -farg4 = dev_pairs%swigdata -call swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) +farg1 = original_energies%swigdata +farg2 = original_counts%swigdata +farg3 = new_energies%swigdata +farg4 = resulting_counts%swigdata +call swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) end subroutine -function swigf_EnergyCalibration_op_lt__(self, rhs) & +function write_CALp_file(output, cal, detector_name) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(EnergyCalibration), intent(in) :: self -class(EnergyCalibration), intent(in) :: rhs +class(SWIGTYPE_p_std__ostream), intent(in) :: output +class(EnergyCalibration), intent(in) :: cal +character(len=*), intent(in) :: detector_name integer(C_INT) :: fresult type(SwigClassWrapper) :: farg1 type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 -farg1 = self%swigdata -farg2 = rhs%swigdata -fresult = swigc_EnergyCalibration_op_lt__(farg1, farg2) +farg1 = output%swigdata +farg2 = cal%swigdata +call SWIGTM_fin_char_Sm_(detector_name, farg3, farg3_temp) +fresult = swigc_write_CALp_file(farg1, farg2, farg3) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_EnergyCalibration_op_eq__(self, rhs) & +function remove_file(name) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(EnergyCalibration), intent(in) :: self -class(EnergyCalibration), intent(in) :: rhs +character(len=*), intent(in) :: name integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = self%swigdata -farg2 = rhs%swigdata -fresult = swigc_EnergyCalibration_op_eq__(farg1, farg2) +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_remove_file(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_EnergyCalibration_op_ne__(self, rhs) & +function is_file(name) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(EnergyCalibration), intent(in) :: self -class(EnergyCalibration), intent(in) :: rhs +character(len=*), intent(in) :: name integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = self%swigdata -farg2 = rhs%swigdata -fresult = swigc_EnergyCalibration_op_ne__(farg1, farg2) +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_is_file(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_EnergyCalibration_memmorysize(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_memmorysize(farg1) -swig_result = fresult -end function - -function swigf_EnergyCalibration_channel_for_energy(self, energy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_DOUBLE), intent(in) :: energy -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 - -farg1 = self%swigdata -farg2 = energy -fresult = swigc_EnergyCalibration_channel_for_energy(farg1, farg2) -swig_result = fresult -end function - -function swigf_EnergyCalibration_energy_for_channel(self, channel) & +function rename_file(source, destination) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_DOUBLE), intent(in) :: channel -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 +logical :: swig_result +character(len=*), intent(in) :: source +character(len=*), intent(in) :: destination +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = self%swigdata -farg2 = channel -fresult = swigc_EnergyCalibration_energy_for_channel(farg1, farg2) -swig_result = fresult +call SWIGTM_fin_char_Sm_(source, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(destination, farg2, farg2_temp) +fresult = swigc_rename_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_EnergyCalibration_lower_energy(self) & +function is_directory(name) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 +logical :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_lower_energy(farg1) -swig_result = fresult +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_is_directory(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_EnergyCalibration_upper_energy(self) & +function create_directory(name) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 +integer(C_INT) :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_upper_energy(farg1) +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_create_directory(farg1) swig_result = fresult end function -function swigf_EnergyCalibration_sm_min_channels_get() & +function can_rw_in_directory(name) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -integer(C_SIZE_T) :: fresult +logical :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -fresult = swigc_EnergyCalibration_sm_min_channels_get() -swig_result = fresult +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_can_rw_in_directory(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_EnergyCalibration_sm_max_channels_get() & +function append_path(base, name) & result(swig_result) use, intrinsic :: ISO_C_BINDING -integer(C_SIZE_T) :: swig_result -integer(C_SIZE_T) :: fresult +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: base +character(len=*), intent(in) :: name +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -fresult = swigc_EnergyCalibration_sm_max_channels_get() -swig_result = fresult +call SWIGTM_fin_char_Sm_(base, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) +fresult = swigc_append_path(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_EnergyCalibration_sm_polynomial_offset_limit_get() & +function filename(path_and_name) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -real(C_FLOAT) :: fresult +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: path_and_name +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -fresult = swigc_EnergyCalibration_sm_polynomial_offset_limit_get() -swig_result = fresult +call SWIGTM_fin_char_Sm_(path_and_name, farg1, farg1_temp) +fresult = swigc_filename(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -subroutine swigf_EnergyCalibration_release(self) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_EnergyCalibration(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_EnergyCalibration_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(inout) :: self -type(EnergyCalibration), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_EnergyCalibration_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function energy_cal_combine_channels(orig_cal, num_channel_combine) & +function parent_path(path) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_t) :: swig_result -class(EnergyCalibration), intent(in) :: orig_cal -integer(C_SIZE_T), intent(in) :: num_channel_combine -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: path +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = orig_cal%swigdata -farg2 = num_channel_combine -fresult = swigc_energy_cal_combine_channels(farg1, farg2) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_parent_path(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function polynomial_binning(coeffs, nchannel, deviation_pairs) & +function file_extension(path) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: path +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = coeffs%swigdata -farg2 = nchannel -farg3 = deviation_pairs%swigdata -fresult = swigc_polynomial_binning(farg1, farg2, farg3) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_file_extension(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_fullrangefraction_binning__SWIG_0(coeffs, nchannel, dev_pairs, include_upper_energy) & +function file_size(path) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs -logical, intent(in) :: include_upper_energy -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 -integer(C_INT) :: farg4 +integer(C_INT) :: swig_result +character(len=*), intent(in) :: path +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = coeffs%swigdata -farg2 = nchannel -farg3 = dev_pairs%swigdata -call SWIGTM_fin_bool(include_upper_energy, farg4) -fresult = swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) -swig_result%swigdata = fresult +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_file_size(farg1) +swig_result = fresult end function -function swigf_fullrangefraction_binning__SWIG_1(coeffs, nchannel, dev_pairs) & +function temp_dir() & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 +character(len=:), allocatable :: swig_result +type(SwigArrayWrapper) :: fresult -farg1 = coeffs%swigdata -farg2 = nchannel -farg3 = dev_pairs%swigdata -fresult = swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) -swig_result%swigdata = fresult +fresult = swigc_temp_dir() +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function fullrangefraction_energy(channel_number, coeffs, nchannel, deviation_pairs) & +function is_absolute_path(path) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: channel_number -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_SIZE_T) :: farg3 -type(SwigClassWrapper) :: farg4 +logical :: swig_result +character(len=*), intent(in) :: path +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = channel_number -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -fresult = swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) -swig_result = fresult +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_is_absolute_path(farg1) +call SWIGTM_fout_bool(fresult, swig_result) end function -function polynomial_energy(channel_number, coeffs, deviation_pairs) & +function get_working_path() & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: channel_number -class(FloatVector), intent(in) :: coeffs -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 +character(len=:), allocatable :: swig_result +type(SwigArrayWrapper) :: fresult -farg1 = channel_number -farg2 = coeffs%swigdata -farg3 = deviation_pairs%swigdata -fresult = swigc_polynomial_energy(farg1, farg2, farg3) -swig_result = fresult +fresult = swigc_get_working_path() +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function deviation_pair_correction(polynomial_energy0, dev_pairs) & +function temp_file_name(filebasename, directory) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: polynomial_energy0 -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: filebasename +character(len=*), intent(in) :: directory +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = polynomial_energy0 -farg2 = dev_pairs%swigdata -fresult = swigc_deviation_pair_correction(farg1, farg2) -swig_result = fresult +call SWIGTM_fin_char_Sm_(filebasename, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(directory, farg2, farg2_temp) +fresult = swigc_temp_file_name(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function correction_due_to_dev_pairs(true_energy, dev_pairs) & +function get_sm_recursive_ls_max_depth() & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: true_energy -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_INT) :: swig_result +integer(C_INT) :: fresult -farg1 = true_energy -farg2 = dev_pairs%swigdata -fresult = swigc_correction_due_to_dev_pairs(farg1, farg2) +fresult = swigc_sm_recursive_ls_max_depth_get() swig_result = fresult end function -function apply_deviation_pair(binning, dev_pairs) & +function get_sm_ls_max_results() & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: binning -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: dev_pairs -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 +integer(C_INT) :: swig_result +integer(C_INT) :: fresult -farg1 = binning%swigdata -farg2 = dev_pairs%swigdata -fresult = swigc_apply_deviation_pair(farg1, farg2) -swig_result%swigdata = fresult +fresult = swigc_sm_ls_max_results_get() +swig_result = fresult end function -function polynomial_coef_to_fullrangefraction(coeffs, nchannel) & +function swigf_recursive_ls__SWIG_0(sourcedir, ending) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +character(len=*), intent(in) :: ending type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = coeffs%swigdata -farg2 = nchannel -fresult = swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(ending, farg2, farg2_temp) +fresult = swigc_recursive_ls__SWIG_0(farg1, farg2) swig_result%swigdata = fresult end function -function fullrangefraction_coef_to_polynomial(coeffs, nchannel) & +function swigf_recursive_ls__SWIG_1(sourcedir) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = coeffs%swigdata -farg2 = nchannel -fresult = swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +fresult = swigc_recursive_ls__SWIG_1(farg1) swig_result%swigdata = fresult end function -function mid_channel_polynomial_to_fullrangeFraction(coeffs, nchannel) & +function swigf_recursive_ls__SWIG_2(sourcedir, match_fcn, user_data) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +procedure(SWIGTYPE_f_r_q_const__std__string_p_void__bool) :: match_fcn +type(C_PTR), intent(in) :: user_data type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR) :: farg2 +type(C_PTR) :: farg3 -farg1 = coeffs%swigdata -farg2 = nchannel -fresult = swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +farg2 = c_funloc(match_fcn) +farg3 = user_data +fresult = swigc_recursive_ls__SWIG_2(farg1, farg2, farg3) swig_result%swigdata = fresult end function -function calibration_is_valid(type, eqn, devpairs, nbin) & +function swigf_ls_files_in_directory__SWIG_0(sourcedir, ending) & result(swig_result) use, intrinsic :: ISO_C_BINDING -logical :: swig_result -integer(EnergyCalType), intent(in) :: type -class(FloatVector), intent(in) :: eqn -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: devpairs -integer(C_SIZE_T), intent(in) :: nbin -integer(C_INT) :: fresult -integer(C_INT) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -integer(C_SIZE_T) :: farg4 +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +character(len=*), intent(in) :: ending +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = type -farg2 = eqn%swigdata -farg3 = devpairs%swigdata -farg4 = nbin -fresult = swigc_calibration_is_valid(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(ending, farg2, farg2_temp) +fresult = swigc_ls_files_in_directory__SWIG_0(farg1, farg2) +swig_result%swigdata = fresult end function -function polynomial_cal_remove_first_channels(num_channels_remove, orig_coefs) & +function swigf_ls_files_in_directory__SWIG_1(sourcedir) & result(swig_result) use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -integer(C_INT), intent(in) :: num_channels_remove -class(FloatVector), intent(in) :: orig_coefs +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir type(SwigClassWrapper) :: fresult -integer(C_INT) :: farg1 -type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = num_channels_remove -farg2 = orig_coefs%swigdata -fresult = swigc_polynomial_cal_remove_first_channels(farg1, farg2) +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +fresult = swigc_ls_files_in_directory__SWIG_1(farg1) swig_result%swigdata = fresult end function -function swigf_find_fullrangefraction_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & +function swigf_ls_files_in_directory__SWIG_2(sourcedir, match_fcn, match_data) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs -real(C_DOUBLE), intent(in) :: accuracy -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_SIZE_T) :: farg3 -type(SwigClassWrapper) :: farg4 -real(C_DOUBLE) :: farg5 +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +procedure(SWIGTYPE_f_r_q_const__std__string_p_void__bool) :: match_fcn +type(C_PTR), intent(in) :: match_data +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR) :: farg2 +type(C_PTR) :: farg3 -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -farg5 = accuracy -fresult = swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) -swig_result = fresult +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +farg2 = c_funloc(match_fcn) +farg3 = match_data +fresult = swigc_ls_files_in_directory__SWIG_2(farg1, farg2, farg3) +swig_result%swigdata = fresult end function -function swigf_find_fullrangefraction_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +function ls_directories_in_directory(src) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_SIZE_T) :: farg3 -type(SwigClassWrapper) :: farg4 +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: src +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -fresult = swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) -swig_result = fresult +call SWIGTM_fin_char_Sm_(src, farg1, farg1_temp) +fresult = swigc_ls_directories_in_directory(farg1) +swig_result%swigdata = fresult end function -function swigf_find_polynomial_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & +function fs_relative(from_path, to_path) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs -real(C_DOUBLE), intent(in) :: accuracy -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_SIZE_T) :: farg3 -type(SwigClassWrapper) :: farg4 -real(C_DOUBLE) :: farg5 +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: from_path +character(len=*), intent(in) :: to_path +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -farg5 = accuracy -fresult = swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) -swig_result = fresult +call SWIGTM_fin_char_Sm_(from_path, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(to_path, farg2, farg2_temp) +fresult = swigc_fs_relative(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -function swigf_find_polynomial_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +function lexically_normalize_path(input) & result(swig_result) use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_SIZE_T), intent(in) :: nchannel -class(SWIGTYPE_p_std__vectorT_std__pairT_float_float_t_t), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_SIZE_T) :: farg3 -type(SwigClassWrapper) :: farg4 +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: input +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -fresult = swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) -swig_result = fresult +call SWIGTM_fin_char_Sm_(input, farg1, farg1_temp) +fresult = swigc_lexically_normalize_path(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) end function -subroutine rebin_by_lower_edge(original_energies, original_counts, new_energies, resulting_counts) +subroutine load_file_data(filename0, data) use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: original_energies -class(FloatVector), intent(in) :: original_counts -class(FloatVector), intent(in) :: new_energies -class(FloatVector), intent(in) :: resulting_counts -type(SwigClassWrapper) :: farg1 +character(len=*), intent(in) :: filename0 +class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -farg1 = original_energies%swigdata -farg2 = original_counts%swigdata -farg3 = new_energies%swigdata -farg4 = resulting_counts%swigdata -call swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) +call SWIGTM_fin_char_Sm_(filename0, farg1, farg1_temp) +farg2 = data%swigdata +call swigc_load_file_data(farg1, farg2) end subroutine -function write_CALp_file(output, cal, detector_name) & +function likely_not_spec_file(file) & result(swig_result) use, intrinsic :: ISO_C_BINDING logical :: swig_result -class(SWIGTYPE_p_std__ostream), intent(in) :: output -class(SWIGTYPE_p_std__shared_ptrT_SpecUtils__EnergyCalibration_cYBZ7Z), intent(in) :: cal -character(len=*), intent(in) :: detector_name +character(len=*), intent(in) :: file integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 -farg1 = output%swigdata -farg2 = cal%swigdata -call SWIGTM_fin_char_Sm_(detector_name, farg3, farg3_temp) -fresult = swigc_write_CALp_file(farg1, farg2, farg3) +call SWIGTM_fin_char_Sm_(file, farg1, farg1_temp) +fresult = swigc_likely_not_spec_file(farg1) call SWIGTM_fout_bool(fresult, swig_result) end function From 45bed0e8d3512f14379bcc2ea517beae3cd4c5da Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 28 Aug 2024 13:01:49 -0600 Subject: [PATCH 017/100] call correct method --- SpecUtils/SpecFile.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 633558b..74be353 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -801,11 +801,13 @@ class Measurement void set_gamma_counts( std::shared_ptr> counts ); + /// @brief Make a copy of a spectrum + /// @param spectrum 'naked' vector of counts void set_gamma_counts(const FloatVec& spectrum) { auto counts = std::make_shared(spectrum); - set_gamma_counts(counts, 0.0F, 0.0F); + set_gamma_counts(counts); } /** Sets the neutron counts, and also updates #Measurement::neutron_counts_sum_ and #Measurement::contained_neutron_ . From c498e6d4382ab60b51924996fe407cb791d046bf Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 28 Aug 2024 13:02:21 -0600 Subject: [PATCH 018/100] trim the filename and add some error diagnostics --- src/SpecFile.cpp | 12 ++++++-- unit_tests/test_spec_file.cpp | 56 +++++++++++++++++++++++++++++++++-- 2 files changed, 62 insertions(+), 6 deletions(-) diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index e02c0ec..4107b53 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -45,6 +45,8 @@ #include #include #include +#include // For strerror +#include // For errno #include @@ -8660,8 +8662,8 @@ void SpecFile::write_to_file( const std::string filename, samples = sample_numbers_; detectors = set( detector_numbers_.begin(), detector_numbers_.end() ); } - - write_to_file( filename, samples, detectors, format ); + auto newname = SpecUtils::trim_copy(filename); + write_to_file( newname, samples, detectors, format ); }//void write_to_file(...) @@ -8681,7 +8683,11 @@ void SpecFile::write_to_file( const std::string name, #endif if( !output ) - throw runtime_error( "Failed to open file (" + name + ") for writing" ); + { + auto errorStr = std::string(std::strerror(errno)); + throw runtime_error( "Failed to open file (" + name + "): " + errorStr ); + } + write( output, sample_nums, det_nums, format ); }//void write_to_file(...) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 94e7bb0..18731e9 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -23,6 +23,40 @@ void CheckFileExistanceAndDelete(fs::path filePath) } using SpecUtils::FloatVec; using SpecUtils::FloatVecPtr; +using SpecUtils::time_point_t; + +#if 0 +TEST_CASE("Time") +{ + auto timepoint = SpecUtils::time_from_string("2024-Feb-28 00:00:00.62Z"); + + auto expectedTS = 1709103600.0F; + + auto tmp = timepoint.time_since_epoch().count(); + tmp /= 1e6; + + CHECK( expectedTS == doctest::Approx(tmp)); + + //auto tp2 = std::chrono::time_point_cast( expectedTS ); +} +#endif + +TEST_CASE("More Time") +{ + // Unix timestamp (seconds since epoch) + std::time_t unix_timestamp = 1709103600; // Example timestamp + + // Convert the Unix timestamp to a time_point with second precision + auto tp_seconds = std::chrono::system_clock::from_time_t(unix_timestamp); + + // Cast the time_point to microseconds precision + time_point_t tp_microseconds = std::chrono::time_point_cast(tp_seconds); + + auto timestr = SpecUtils::to_vax_string(tp_microseconds); + // Output the time_point + //std::time_t tp_microseconds_time_t = std::chrono::system_clock::to_time_t(tp_microseconds); + std::cout << "Time point (microseconds precision): " << timestr << std::endl; +} TEST_CASE("Round Trip") { @@ -36,6 +70,7 @@ TEST_CASE("Round Trip") const auto now_sys = std::chrono::system_clock::now(); const auto now = std::chrono::time_point_cast( now_sys ); + std::cerr << "now: " << now.time_since_epoch().count() << std::endl; m->set_start_time( now ); m->set_title("Test Measurment"); @@ -46,6 +81,8 @@ TEST_CASE("Round Trip") FloatVec ncounts{99.0F}; m->set_neutron_counts(ncounts, 0.0F); + m->set_live_time(10.55F); + m->set_real_time(11.66F); FloatVec spectrum; for (size_t i = 0; i < 128; i++) @@ -54,11 +91,9 @@ TEST_CASE("Round Trip") } m->set_gamma_counts(spectrum); - m->set_live_time(99.0F); - m->set_real_time(100.0F); auto ecal = std::make_shared(); - auto coeffs = std::vector{4.41F, 3198.33F, 1.0F, 2.0F}; + auto coeffs = std::vector{4.41F, 3198.33F, 1.0F, 2.0F, 1.5f}; SpecUtils::DeviationPairs devPairs; //auto @@ -69,6 +104,7 @@ TEST_CASE("Round Trip") } ecal->set_full_range_fraction(spectrum.size(), coeffs, devPairs ); + //ecal->set_default_polynomial(spectrum.size(), coeffs, devPairs ); m->set_energy_calibration(ecal); specfile.add_measurement(m); @@ -94,6 +130,10 @@ TEST_CASE("Round Trip") CHECK(actualSpectrum.at(100) > 0); CHECK(expSpectrum == actualSpectrum); + + CHECK(actualM.live_time() > 0.0F); + CHECK(actualM.live_time() == expectedM.live_time()); + CHECK( actualM.neutron_counts().at(0) > 0 ); CHECK( actualM.neutron_counts() == expectedM.neutron_counts() ); @@ -106,6 +146,16 @@ TEST_CASE("Round Trip") CHECK(expectedM.deviation_pairs() == actualM.deviation_pairs()); } + + SUBCASE("Writing over existing file fails") + { + CHECK_THROWS( specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf) ); + } + + SUBCASE("Writing over existing file passes") + { + // specfile.write(fname, SpecUtils::SaveSpectrumAsType::Pcf); + } } From e6032bbfc36dc4e8048b358934c2d0bfeb6219f3 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 9 Sep 2024 10:16:31 -0600 Subject: [PATCH 019/100] add realtime check --- unit_tests/test_spec_file.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 18731e9..2d27124 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -134,6 +134,9 @@ TEST_CASE("Round Trip") CHECK(actualM.live_time() > 0.0F); CHECK(actualM.live_time() == expectedM.live_time()); + CHECK(actualM.real_time() > 0.0F); + CHECK(actualM.real_time() == expectedM.real_time()); + CHECK( actualM.neutron_counts().at(0) > 0 ); CHECK( actualM.neutron_counts() == expectedM.neutron_counts() ); @@ -152,10 +155,6 @@ TEST_CASE("Round Trip") CHECK_THROWS( specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf) ); } - SUBCASE("Writing over existing file passes") - { - // specfile.write(fname, SpecUtils::SaveSpectrumAsType::Pcf); - } } From 6d8371f39d2eef24edb123a25abc738de43b13a3 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 9 Sep 2024 15:29:29 -0700 Subject: [PATCH 020/100] Fix issue compiling with fast_float --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 29a31ee..9eccc43 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -322,7 +322,7 @@ if( SpecUtils_USE_FAST_FLOAT ) FetchContent_GetProperties( fast_float ) FetchContent_MakeAvailable( fast_float ) - target_include_directories( SpecUtils PUBLIC ${fast_float_SOURCE_DIR} ) + target_include_directories( SpecUtils PRIVATE ${fast_float_SOURCE_DIR} ) endif( SpecUtils_FETCH_FAST_FLOAT ) endif( NOT FAST_FLOAT_FILE_PATH ) endif( SpecUtils_USE_FAST_FLOAT ) From 80d3ce50045b8ff2be447a482d40f2fc8252fe76 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 12 Sep 2024 11:21:20 -0600 Subject: [PATCH 021/100] fix windows build error --- unit_tests/test_spec_file.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 2d27124..359a79f 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -5,6 +5,8 @@ #include namespace fs = std::filesystem; +#undef isnan // Undefine the isnan macro (compile failure in doctest.h on Windows) + #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" From 7f4a595f5721c152106e042cdd40856ca5d8bd1e Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 12 Sep 2024 18:29:38 -0600 Subject: [PATCH 022/100] update wrapper --- bindings/swig/fortran/SpecUtilsFortran.i | 16 +++++++++++- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 26 +++++++++++++++++++ bindings/swig/fortran/SpecUtilsWrap.f90 | 23 ++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 8cf3d1b..b4dbfb5 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -130,7 +130,6 @@ namespace std { return count; } - //%apply (SWIGTYPE ARRAY[], size_t num_channels) { (const float* spectrum, size_t num_channels) }; %apply (SWIGTYPE *DATA, size_t SIZE) { (const float* spectrum, size_t num_channels) }; void set_spectrum(const float *spectrum, size_t num_channels) { @@ -163,6 +162,21 @@ namespace std { { return $self->measurement(static_cast(index-1)); } + + int get_max_channel_count() + { + auto maxCount = 0; + auto numMeasurements = $self->num_measurements(); + + for(int i = 0; i < numMeasurements; i++) + { + auto m = $self->measurement(i); + auto numChannels = static_cast(m->num_gamma_channels()); + maxCount = std::max(maxCount, numChannels); + } + + return maxCount; + } } //%include "SpecUtils/DateTime.h" diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 9fc6609..4be6b01 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -652,6 +652,19 @@ SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self, SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ return self->measurement(static_cast(index-1)); } +SWIGINTERN int SpecUtils_SpecFile_get_max_channel_count(SpecUtils::SpecFile *self){ + auto maxCount = 0; + auto numMeasurements = self->num_measurements(); + + for(int i = 0; i < numMeasurements; i++) + { + auto m = self->measurement(i); + auto numChannels = static_cast(m->num_gamma_channels()); + maxCount = std::max(maxCount, numChannels); + } + + return maxCount; + } SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__set(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index,std::pair< float,float > const &v){ SWIG_check_range(index, self->size(), "std::vector<""std::pair< float,float >" ">::set", @@ -5466,6 +5479,19 @@ SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement_at(SwigClassWrapper *farg } +SWIGEXPORT int _wrap_SpecFile_get_max_channel_count(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::get_max_channel_count()", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)SpecUtils_SpecFile_get_max_channel_count(arg1); + fresult = (int)(result); + return fresult; +} + + SWIGEXPORT void _wrap_SpecFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; SpecUtils::SpecFile *arg2 = 0 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 2b96ad1..b31c8db 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -611,6 +611,7 @@ module specutilswrap procedure :: write_2012_N42 => swigf_SpecFile_write_2012_N42 procedure :: mutex => swigf_SpecFile_mutex procedure :: measurement_at => swigf_SpecFile_measurement_at + procedure :: get_max_channel_count => swigf_SpecFile_get_max_channel_count procedure, private :: swigf_SpecFile_op_assign__ generic :: measurement => swigf_SpecFile_measurement__SWIG_0, swigf_SpecFile_measurement__SWIG_1, & swigf_SpecFile_measurement__SWIG_2 @@ -3957,6 +3958,15 @@ function swigc_SpecFile_measurement_at(farg1, farg2) & type(SwigClassWrapper) :: fresult end function +function swigc_SpecFile_get_max_channel_count(farg1) & +bind(C, name="_wrap_SpecFile_get_max_channel_count") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + subroutine swigc_SpecFile_op_assign__(farg1, farg2) & bind(C, name="_wrap_SpecFile_op_assign__") use, intrinsic :: ISO_C_BINDING @@ -10244,6 +10254,19 @@ function swigf_SpecFile_measurement_at(self, index) & swig_result%swigdata = fresult end function +function swigf_SpecFile_get_max_channel_count(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_get_max_channel_count(farg1) +swig_result = fresult +end function + subroutine swigf_SpecFile_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(inout) :: self From 2b03814aedb5cf4a5d48e2fa3d37eb03286cd79c Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 12 Sep 2024 18:30:06 -0600 Subject: [PATCH 023/100] start some tests to map dev pairs --- unit_tests/test_spec_file.cpp | 161 +++++++++++++++++++++++++++++++++- 1 file changed, 160 insertions(+), 1 deletion(-) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 359a79f..01c550d 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -9,6 +9,7 @@ namespace fs = std::filesystem; #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" +#include void CheckFileExistanceAndDelete(fs::path filePath) { @@ -118,6 +119,8 @@ TEST_CASE("Round Trip") SpecUtils::SpecFile specfileToRead; auto success = specfileToRead.load_file(fname, SpecUtils::ParserType::Auto); CHECK(success); + + //CHECK( specfileToRead.max_channel_count() == 128 ); auto &expectedM = *(specfile.measurements().at(0)); auto &actualM = *(specfileToRead.measurements().at(0)); CHECK(expectedM.title() == actualM.title()); @@ -160,6 +163,162 @@ TEST_CASE("Round Trip") } +} + + +int generateRandomNumber(int min=64, int max=1024) { + // Create a random device and seed the random number generator + std::random_device rd; + std::mt19937 gen(rd()); + + // Define the range + std::uniform_int_distribution<> dis(min, max); + + // Generate and return the random number + return dis(gen); +} + +TEST_CASE("Get Max Channel Count") +{ + SpecUtils::SpecFile specfile; + auto numMesurments = 20; + int max_channel_count = 0; // Initialize max_channel_count -} \ No newline at end of file + for (size_t i = 0; i < numMesurments; i++) + { + auto m = std::make_shared(); + auto numChannels = generateRandomNumber(); + + // Update max_channel_count + max_channel_count = std::max(max_channel_count, numChannels); + + FloatVec spectrum; + for (size_t i = 0; i < numChannels; i++) + { + spectrum.push_back(i * 1.0F); + } + + m->set_gamma_counts(spectrum); + specfile.add_measurement(m); + } + + CHECK(max_channel_count > 0 ); +} + +class MyEcal : public SpecUtils::EnergyCalibration +{ + public: + SpecUtils::DeviationPairs & getDevPairs() + { + return m_deviation_pairs; + } +}; + +TEST_CASE("Deviation Pair Map") +{ + SpecUtils::SpecFile specfile; + + auto maxDevPairs = 20; + auto maxMCA = 8; + auto maxPanel = 8; + auto maxCol = 4; + + auto pairVal = 1; + for (size_t i = 0; i < maxCol; i++) + { + for (size_t j = 0; j < maxPanel; j++) + { + for (size_t k = 0; k < maxMCA; k++) + { + auto m = std::make_shared(); + MyEcal ecal; + auto &devPairs = ecal.getDevPairs(); + for (size_t p = 0; p < maxDevPairs; p++) + { + auto first = pairVal++; + auto second = pairVal++; + + auto devPair = std::make_pair(first, second); + devPairs.push_back(devPair); + } + } + } + } +} + + +std::pair getDeviationPair(size_t i, size_t j, size_t k, size_t l) +{ + const auto maxDevPairs = 20; + const auto maxMCA = 8; + const auto maxPanel = 8; + const auto maxCol = 4; + + // Validate the indices to ensure they are within bounds + if (i >= maxCol || j >= maxPanel || k >= maxMCA || l >= maxDevPairs) + { + throw std::out_of_range("Index out of range"); + } + + // Calculate the total number of pairs before the given indices + size_t totalPairs = l + k * maxDevPairs + j * maxDevPairs * maxMCA + i * maxDevPairs * maxMCA * maxPanel; + + // Calculate the pairVal + size_t pairVal = 1 + 2 * totalPairs; + + // Calculate the first and second pair values + float first = (pairVal) * 1.0F; + float second = (pairVal + 1) * 1.0F; + + return {first, second}; +} + +TEST_CASE("Deviation Pair Map Array") +{ + const auto maxDevPairs = 20; + const auto maxMCA = 8; + const auto maxPanel = 8; + const auto maxCol = 4; + + auto pairVal = 0; + + + // real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs + float deviationPairsArray[maxCol][maxPanel][maxMCA][maxDevPairs][2]; // + for (size_t i = 0; i < maxCol; i++) + { + for (size_t j = 0; j < maxPanel; j++) + { + for (size_t k = 0; k < maxMCA; k++) + { + for (size_t l = 0; l < maxDevPairs; l++) + { + auto first = ++pairVal * 1.0F; + auto second = ++pairVal * 1.0F; + + deviationPairsArray[i][j][k][l][0] = first; + deviationPairsArray[i][j][k][l][1] = second; + } + } + } + } + + { + size_t i = 0, j = 0, k = 0, l = 0; + CHECK( deviationPairsArray[i][j][k][l][0] == 1.0F); + CHECK( deviationPairsArray[i][j][k][l][1] == 2.0F); + } + { + size_t i = 0, j = 0, k = 0, l = 9; + CHECK( deviationPairsArray[i][j][k][l][0] == 19.0F); + CHECK( deviationPairsArray[i][j][k][l][1] == 20.0F); + } + { + size_t i = 1, j = 2, k = 3, l = 4; + auto pair = getDeviationPair(i, j, k, l); + CHECK( deviationPairsArray[i][j][k][l][0] == pair.first); + CHECK( deviationPairsArray[i][j][k][l][1] == pair.second); + } + +} From ae3c9a383deaa5a34597bf079316c5a0c9fdedde Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 16 Sep 2024 11:59:00 -0600 Subject: [PATCH 024/100] make strtod default --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9eccc43..2beb402 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ option( PERFORM_DEVELOPER_CHECKS "Performs additional computationally expensive -set( SpecUtils_FLT_PARSE_METHOD "default_value" CACHE STRING [[How to parse lists of numbers. +set( SpecUtils_FLT_PARSE_METHOD "strtod" CACHE STRING [[How to parse lists of numbers. Choose one of: FastFloat, FromChars, boost, strtod. Boost is fastest, FromChars requires a C++17 conformant compiler and runtime (note Apple clang does not implement), FastFloat requires having the header somewhere findable (or Fetching it), and strod is the slowest. From af3631d2963a75e4bb4820d0a6618c3336823f1c Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Tue, 17 Sep 2024 15:55:44 -0600 Subject: [PATCH 025/100] checkpoint --- CMakeLists.txt | 4 +- SpecUtils/SpecFile.h | 33 + bindings/CMakeLists.txt | 1 + bindings/swig/CMakeLists.txt | 1 + bindings/swig/fortran/CMakeLists.txt | 15 + bindings/swig/fortran/SpecUtilsFortran.i | 7 + .../swig/fortran/SpecUtilsFortran_wrap.cxx | 48 +- bindings/swig/fortran/SpecUtilsWrap.f90 | 89 +- .../swig/fortran/test_specutils_fortran.f90 | 13 + bindings/swig/fortran/testdrive.F90 | 1988 +++++++++++++++++ unit_tests/test_spec_file.cpp | 114 +- 11 files changed, 2239 insertions(+), 74 deletions(-) create mode 100644 bindings/CMakeLists.txt create mode 100644 bindings/swig/CMakeLists.txt create mode 100644 bindings/swig/fortran/CMakeLists.txt create mode 100644 bindings/swig/fortran/test_specutils_fortran.f90 create mode 100644 bindings/swig/fortran/testdrive.F90 diff --git a/CMakeLists.txt b/CMakeLists.txt index 2beb402..f3dcd8c 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -490,4 +490,6 @@ install(EXPORT SpecUtilsTargets FILE SpecUtilsTargets.cmake NAMESPACE SpecUtils:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils -) \ No newline at end of file +) + +add_subdirectory(bindings) \ No newline at end of file diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index df82b81..13927b0 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -2890,5 +2890,38 @@ struct MultimediaData #endif };//struct MultimediaData +inline float cpp_sum(const float inp[3][3][3][3][3]) +{ + return 0.0F; +} + +inline void mapDevPairsToArray(const SpecFile & specFile, float fortranArray[2][20][8][8][4]) +{ + auto measurements = specFile.measurements(); + for(auto & m : measurements) + { + auto &devPairs = m->deviation_pairs(); + for(auto & devPair : devPairs) + { + //auto column ; + //au + } + } + +} +// Function to map C array to Fortran array +inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) { + for (size_t i = 0; i < 4; ++i) { + for (size_t j = 0; j < 8; ++j) { + for (size_t k = 0; k < 8; ++k) { + for (size_t l = 0; l < 20; ++l) { + for (size_t m = 0; m < 2; ++m) { + fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; + } + } + } + } + } +} }//namespace SpecUtils #endif //SpecUtils_SpecFile_h diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt new file mode 100644 index 0000000..a134977 --- /dev/null +++ b/bindings/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(swig) \ No newline at end of file diff --git a/bindings/swig/CMakeLists.txt b/bindings/swig/CMakeLists.txt new file mode 100644 index 0000000..e8109af --- /dev/null +++ b/bindings/swig/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(fortran) \ No newline at end of file diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt new file mode 100644 index 0000000..3db6c99 --- /dev/null +++ b/bindings/swig/fortran/CMakeLists.txt @@ -0,0 +1,15 @@ +cmake_minimum_required (VERSION 3.29) +project (specutils-swig-fortran Fortran CXX C) + +add_library(test_drive testdrive.F90) + +add_library(specutils_fortran_wrap SHARED SpecUtilsFortran_wrap.cxx ) +add_library(specutils_fortran SpecUtilsWrap.f90 ) +target_link_libraries(specutils_fortran_wrap PUBLIC SpecUtils) +target_compile_options(specutils_fortran PUBLIC -ffree-line-length-none -ffixed-line-length-150) +target_link_libraries(specutils_fortran PRIVATE specutils_fortran_wrap) + +add_executable(test_specutils_fortran test_specutils_fortran.f90 ) +target_link_libraries(test_specutils_fortran test_drive specutils_fortran ) + +add_test(NAME specutils_fortran_test COMMAND test_specutils_fortran) \ No newline at end of file diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index b4dbfb5..e90dedf 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -45,6 +45,12 @@ namespace std { %apply int { size_t } +//%apply real ARRAY[ANY][ANY][ANY][ANY][ANY] { float[ANY][ANY][ANY][ANY][ANY] }; +%apply SWIGTYPE ARRAY[ANY][ANY][ANY][ANY][ANY] { float[ANY][ANY][ANY][ANY][ANY] }; + +//%rename(set_ecal) SpecUtils::Measurement::set_energy_calibration; +%ignore SpecUtils::SpecFile::set_energy_calibration; + %include "SpecUtils/SpecFile.h" %extend SpecUtils::Measurement @@ -192,4 +198,5 @@ namespace std { %include "SpecUtils/EnergyCalibration.h" %ignore make_canonical_path; + %include "SpecUtils/FileSystem.h" diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 4be6b01..0707ae7 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -5001,21 +5001,6 @@ SWIGEXPORT void _wrap_SpecFile_rebin_all_measurements(SwigClassWrapper *farg1, S } -SWIGEXPORT void _wrap_SpecFile_set_energy_calibration__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *arg3 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - std::shared_ptr< SpecUtils::Measurement const > tempnull3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_energy_calibration(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; - arg3 = farg3->cptr ? static_cast * >(farg3->cptr) : &tempnull3; - (arg1)->set_energy_calibration((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::shared_ptr< SpecUtils::Measurement const > const &)*arg3); -} - - SWIGEXPORT void _wrap_SpecFile_set_energy_calibration_from_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; std::istream *arg2 = 0 ; @@ -6349,6 +6334,39 @@ SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigCl } +SWIGEXPORT float _wrap_cpp_sum(SwigClassWrapper *farg1) { + float fresult ; + float (*arg1)[3][3][3][3] ; + float result; + + arg1 = (float (*)[3][3][3][3])(farg1); + result = (float)SpecUtils::cpp_sum((float const (*)[3][3][3][3])arg1); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_mapDevPairsToArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = 0 ; + float (*arg2)[20][8][8][4] ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::mapDevPairsToArray(SpecUtils::SpecFile const &,float [2][20][8][8][4])", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (float (*)[20][8][8][4])(farg2); + SpecUtils::mapDevPairsToArray((SpecUtils::SpecFile const &)*arg1,(float (*)[20][8][8][4])arg2); +} + + +SWIGEXPORT void _wrap_mapCArrayToFortranArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + float (*arg1)[8][8][20][2] ; + float (*arg2)[20][8][8][4] ; + + arg1 = (float (*)[8][8][20][2])(farg1); + arg2 = (float (*)[20][8][8][4])(farg2); + SpecUtils::mapCArrayToFortranArray((float const (*)[8][8][20][2])arg1,(float (*)[20][8][8][4])arg2); +} + + SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { SwigClassWrapper fresult ; std::pair< float,float > *result = 0 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index b31c8db..f9052e1 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -585,7 +585,6 @@ module specutilswrap procedure :: merge_neutron_meas_into_gamma_meas => swigf_SpecFile_merge_neutron_meas_into_gamma_meas procedure :: rebin_measurement => swigf_SpecFile_rebin_measurement procedure :: rebin_all_measurements => swigf_SpecFile_rebin_all_measurements - procedure, private :: swigf_SpecFile_set_energy_calibration__SWIG_0 procedure :: set_energy_calibration_from_CALp_file => swigf_SpecFile_set_energy_calibration_from_CALp_file procedure :: detector_names_to_numbers => swigf_SpecFile_detector_names_to_numbers procedure, private :: swigf_SpecFile_write_to_file__SWIG_0 @@ -618,7 +617,6 @@ module specutilswrap generic :: write => swigf_SpecFile_write__SWIG_0, swigf_SpecFile_write__SWIG_1 generic :: write_integer_chn => swigf_SpecFile_write_integer_chn__SWIG_0, swigf_SpecFile_write_integer_chn__SWIG_1 generic :: cleanup_after_load => swigf_SpecFile_cleanup_after_load__SWIG_0, swigf_SpecFile_cleanup_after_load__SWIG_1 - generic :: set_energy_calibration => swigf_SpecFile_set_energy_calibration__SWIG_0 generic :: add_measurement => swigf_SpecFile_add_measurement__SWIG_0, swigf_SpecFile_add_measurement__SWIG_1 generic :: assignment(=) => swigf_SpecFile_op_assign__ generic :: set_remarks => swigf_SpecFile_set_remarks__SWIG_0, swigf_SpecFile_set_remarks__SWIG_1 @@ -723,6 +721,9 @@ module specutilswrap procedure, private :: swigf_MultimediaData_op_assign__ generic :: assignment(=) => swigf_MultimediaData_op_assign__ end type MultimediaData + public :: cpp_sum + public :: mapDevPairsToArray + public :: mapCArrayToFortranArray ! struct std::pair< float,float > type, public :: DevPair type(SwigClassWrapper), public :: swigdata @@ -3673,15 +3674,6 @@ subroutine swigc_SpecFile_rebin_all_measurements(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine -subroutine swigc_SpecFile_set_energy_calibration__SWIG_0(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_energy_calibration__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - subroutine swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) & bind(C, name="_wrap_SpecFile_set_energy_calibration_from_CALp_file") use, intrinsic :: ISO_C_BINDING @@ -4527,6 +4519,29 @@ subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine +function swigc_cpp_sum(farg1) & +bind(C, name="_wrap_cpp_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_mapDevPairsToArray(farg1, farg2) & +bind(C, name="_wrap_mapDevPairsToArray") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR), value :: farg2 +end subroutine + +subroutine swigc_mapCArrayToFortranArray(farg1, farg2) & +bind(C, name="_wrap_mapCArrayToFortranArray") +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +end subroutine + function swigc_new_DevPair__SWIG_0() & bind(C, name="_wrap_new_DevPair__SWIG_0") & result(fresult) @@ -9766,21 +9781,6 @@ subroutine swigf_SpecFile_rebin_all_measurements(self, cal) call swigc_SpecFile_rebin_all_measurements(farg1, farg2) end subroutine -subroutine swigf_SpecFile_set_energy_calibration__SWIG_0(self, cal, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(EnergyCalibration), intent(in) :: cal -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = cal%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_set_energy_calibration__SWIG_0(farg1, farg2, farg3) -end subroutine - subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: self @@ -11086,6 +11086,43 @@ subroutine swigf_MultimediaData_op_assign__(self, other) self%swigdata = farg1 end subroutine +function cpp_sum(inp) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +real(C_FLOAT), dimension(3,3,3,3,3), target :: inp +real(C_FLOAT) :: fresult +type(C_PTR) :: farg1 + +farg1 = c_loc(inp) +fresult = swigc_cpp_sum(farg1) +swig_result = fresult +end function + +subroutine mapDevPairsToArray(specfile0, fortranarray) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: specfile0 +real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray +type(SwigClassWrapper) :: farg1 +type(C_PTR) :: farg2 + +farg1 = specfile0%swigdata +farg2 = c_loc(fortranarray) +call swigc_mapDevPairsToArray(farg1, farg2) +end subroutine + +subroutine mapCArrayToFortranArray(carray, fortranarray) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), dimension(2,20,8,8,4), target :: carray +real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 + +farg1 = c_loc(carray) +farg2 = c_loc(fortranarray) +call swigc_mapCArrayToFortranArray(farg1, farg2) +end subroutine + function swigf_new_DevPair__SWIG_0() & result(self) use, intrinsic :: ISO_C_BINDING diff --git a/bindings/swig/fortran/test_specutils_fortran.f90 b/bindings/swig/fortran/test_specutils_fortran.f90 new file mode 100644 index 0000000..b061765 --- /dev/null +++ b/bindings/swig/fortran/test_specutils_fortran.f90 @@ -0,0 +1,13 @@ +program TestSpecUtils + use testdrive, only : error_type, check + implicit none + + call DerivationPairMap() + print *, "Success!" + contains + +subroutine DerivationPairMap() + type(error_type), allocatable :: error + call check(error, 0, 0) +end subroutine +end program \ No newline at end of file diff --git a/bindings/swig/fortran/testdrive.F90 b/bindings/swig/fortran/testdrive.F90 new file mode 100644 index 0000000..0cd6b83 --- /dev/null +++ b/bindings/swig/fortran/testdrive.F90 @@ -0,0 +1,1988 @@ +! This file is part of test-drive. +! SPDX-Identifier: Apache-2.0 OR MIT +! +! Licensed under either of Apache License, Version 2.0 or MIT license +! at your option; you may not use this file except in compliance with +! the License. +! +! Unless required by applicable law or agreed to in writing, software +! distributed under the License is distributed on an "AS IS" BASIS, +! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +! See the License for the specific language governing permissions and +! limitations under the License. + +!# Enable support for quadruple precision +#ifndef WITH_QP +#define WITH_QP 0 +#endif + +!# Enable support for extended double precision +#ifndef WITH_XDP +#define WITH_XDP 0 +#endif + +!> Provides a light-weight procedural testing framework for Fortran projects. +!> +!> Testsuites are defined by a [[collect_interface]] returning a set of +!> [[unittest_type]] objects. To create a new test use the [[new_unittest]] +!> constructor, which requires a test identifier and a procedure with a +!> [[test_interface]] compatible signature. The error status is communicated +!> by the allocation status of an [[error_type]]. +!> +!> The necessary boilerplate code to setup the test entry point is just +!> +!>```fortran +!>program tester +!> use, intrinsic :: iso_fortran_env, only : error_unit +!> use testdrive, only : run_testsuite, new_testsuite, testsuite_type +!> use test_suite1, only : collect_suite1 +!> use test_suite2, only : collect_suite2 +!> implicit none +!> integer :: stat, is +!> type(testsuite_type), allocatable :: testsuites(:) +!> character(len=*), parameter :: fmt = '("#", *(1x, a))' +!> +!> stat = 0 +!> +!> testsuites = [ & +!> new_testsuite("suite1", collect_suite1), & +!> new_testsuite("suite2", collect_suite2) & +!> ] +!> +!> do is = 1, size(testsuites) +!> write(error_unit, fmt) "Testing:", testsuites(is)%name +!> call run_testsuite(testsuites(is)%collect, error_unit, stat) +!> end do +!> +!> if (stat > 0) then +!> write(error_unit, '(i0, 1x, a)') stat, "test(s) failed!" +!> error stop +!> end if +!> +!>end program tester +!>``` +!> +!> Every test is defined in a separate module using a ``collect`` function, which +!> is exported and added to the ``testsuites`` array in the test runner. +!> All test have a simple interface with just an allocatable [[error_type]] as +!> output to provide the test results. +!> +!>```fortran +!>module test_suite1 +!> use testdrive, only : new_unittest, unittest_type, error_type, check +!> implicit none +!> private +!> +!> public :: collect_suite1 +!> +!>contains +!> +!>!> Collect all exported unit tests +!>subroutine collect_suite1(testsuite) +!> !> Collection of tests +!> type(unittest_type), allocatable, intent(out) :: testsuite(:) +!> +!> testsuite = [ & +!> new_unittest("valid", test_valid), & +!> new_unittest("invalid", test_invalid, should_fail=.true.) & +!> ] +!> +!>end subroutine collect_suite1 +!> +!>subroutine test_valid(error) +!> type(error_type), allocatable, intent(out) :: error +!> ! ... +!>end subroutine test_valid +!> +!>subroutine test_invalid(error) +!> type(error_type), allocatable, intent(out) :: error +!> ! ... +!>end subroutine test_invalid +!> +!>end module test_suite1 +!>``` +!> +!> For an example setup checkout the ``test/`` directory in this project. +module testdrive + use, intrinsic :: iso_fortran_env, only : error_unit + implicit none + private + + public :: run_testsuite, run_selected, new_unittest, new_testsuite + public :: select_test, select_suite + public :: unittest_type, testsuite_type, error_type + public :: check, test_failed, skip_test + public :: test_interface, collect_interface + public :: get_argument, get_variable, to_string + + + !> Single precision real numbers + integer, parameter :: sp = selected_real_kind(6) + + !> Double precision real numbers + integer, parameter :: dp = selected_real_kind(15) + +#if WITH_XDP + !> Extended double precision real numbers + integer, parameter :: xdp = selected_real_kind(18) +#endif + +#if WITH_QP + !> Quadruple precision real numbers + integer, parameter :: qp = selected_real_kind(33) +#endif + + !> Char length for integers + integer, parameter :: i1 = selected_int_kind(2) + + !> Short length for integers + integer, parameter :: i2 = selected_int_kind(4) + + !> Length of default integers + integer, parameter :: i4 = selected_int_kind(9) + + !> Long length for integers + integer, parameter :: i8 = selected_int_kind(18) + + !> Error code for success + integer, parameter :: success = 0 + + !> Error code for failure + integer, parameter :: fatal = 1 + + !> Error code for skipped test + integer, parameter :: skipped = 77 + + + !> Error message + type :: error_type + + !> Error code + integer :: stat = success + + !> Payload of the error + character(len=:), allocatable :: message + + contains + + !> Escalate uncaught errors + final :: escalate_error + + end type error_type + + + interface check + module procedure :: check_stat + module procedure :: check_logical + module procedure :: check_float_sp + module procedure :: check_float_dp +#if WITH_XDP + module procedure :: check_float_xdp +#endif +#if WITH_QP + module procedure :: check_float_qp +#endif + module procedure :: check_float_exceptional_sp + module procedure :: check_float_exceptional_dp +#if WITH_XDP + module procedure :: check_float_exceptional_xdp +#endif +#if WITH_QP + module procedure :: check_float_exceptional_qp +#endif + module procedure :: check_complex_sp + module procedure :: check_complex_dp +#if WITH_XDP + module procedure :: check_complex_xdp +#endif +#if WITH_QP + module procedure :: check_complex_qp +#endif + module procedure :: check_complex_exceptional_sp + module procedure :: check_complex_exceptional_dp +#if WITH_XDP + module procedure :: check_complex_exceptional_xdp +#endif +#if WITH_QP + module procedure :: check_complex_exceptional_qp +#endif + module procedure :: check_int_i1 + module procedure :: check_int_i2 + module procedure :: check_int_i4 + module procedure :: check_int_i8 + module procedure :: check_bool + module procedure :: check_string + end interface check + + + interface to_string + module procedure :: integer_i1_to_string + module procedure :: integer_i2_to_string + module procedure :: integer_i4_to_string + module procedure :: integer_i8_to_string + module procedure :: real_sp_to_string + module procedure :: real_dp_to_string +#if WITH_XDP + module procedure :: real_xdp_to_string +#endif +#if WITH_QP + module procedure :: real_qp_to_string +#endif + module procedure :: complex_sp_to_string + module procedure :: complex_dp_to_string +#if WITH_XDP + module procedure :: complex_xdp_to_string +#endif +#if WITH_QP + module procedure :: complex_qp_to_string +#endif + end interface to_string + + + !> Implementation of check for not a number value, in case a compiler does not + !> provide the IEEE intrinsic ``ieee_is_nan`` (currently this is Intel oneAPI on MacOS) + interface is_nan + module procedure :: is_nan_sp + module procedure :: is_nan_dp +#if WITH_XDP + module procedure :: is_nan_xdp +#endif +#if WITH_QP + module procedure :: is_nan_qp +#endif + end interface is_nan + + + abstract interface + !> Entry point for tests + subroutine test_interface(error) + import :: error_type + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + end subroutine test_interface + end interface + + + !> Declaration of a unit test + type :: unittest_type + + !> Name of the test + character(len=:), allocatable :: name + + !> Entry point of the test + procedure(test_interface), pointer, nopass :: test => null() + + !> Whether test is supposed to fail + logical :: should_fail = .false. + + end type unittest_type + + + abstract interface + !> Collect all tests + subroutine collect_interface(testsuite) + import :: unittest_type + + !> Collection of tests + type(unittest_type), allocatable, intent(out) :: testsuite(:) + + end subroutine collect_interface + end interface + + + !> Collection of unit tests + type :: testsuite_type + + !> Name of the testsuite + character(len=:), allocatable :: name + + !> Entry point of the test + procedure(collect_interface), pointer, nopass :: collect => null() + + end type testsuite_type + + + character(len=*), parameter :: fmt = '(1x, *(1x, a))' + + +contains + + + !> Driver for testsuite + recursive subroutine run_testsuite(collect, unit, stat, parallel) + + !> Collect tests + procedure(collect_interface) :: collect + + !> Unit for IO + integer, intent(in) :: unit + + !> Number of failed tests + integer, intent(inout) :: stat + + !> Run the tests in parallel + logical, intent(in), optional :: parallel + + type(unittest_type), allocatable :: testsuite(:) + integer :: it + logical :: parallel_ + + parallel_ = .true. + if(present(parallel)) parallel_ = parallel + + call collect(testsuite) + + !$omp parallel do schedule(dynamic) shared(testsuite, unit) reduction(+:stat) & + !$omp if (parallel_) + do it = 1, size(testsuite) + !$omp critical(testdrive_testsuite) + write(unit, '(1x, 3(1x, a), 1x, "(", i0, "/", i0, ")")') & + & "Starting", testsuite(it)%name, "...", it, size(testsuite) + !$omp end critical(testdrive_testsuite) + call run_unittest(testsuite(it), unit, stat) + end do + + end subroutine run_testsuite + + + !> Driver for selective testing + recursive subroutine run_selected(collect, name, unit, stat) + + !> Collect tests + procedure(collect_interface) :: collect + + !> Name of the selected test + character(len=*), intent(in) :: name + + !> Unit for IO + integer, intent(in) :: unit + + !> Number of failed tests + integer, intent(inout) :: stat + + type(unittest_type), allocatable :: testsuite(:) + integer :: it + + call collect(testsuite) + + it = select_test(testsuite, name) + + if (it > 0 .and. it <= size(testsuite)) then + call run_unittest(testsuite(it), unit, stat) + else + write(unit, fmt) "Available tests:" + do it = 1, size(testsuite) + write(unit, fmt) "-", testsuite(it)%name + end do + stat = -huge(it) + end if + + end subroutine run_selected + + + !> Run a selected unit test + recursive subroutine run_unittest(test, unit, stat) + + !> Unit test + type(unittest_type), intent(in) :: test + + !> Unit for IO + integer, intent(in) :: unit + + !> Number of failed tests + integer, intent(inout) :: stat + + type(error_type), allocatable :: error + character(len=:), allocatable :: message + + call test%test(error) + if (.not.test_skipped(error)) then + if (allocated(error) .neqv. test%should_fail) stat = stat + 1 + end if + call make_output(message, test, error) + !$omp critical(testdrive_testsuite) + write(unit, '(a)') message + !$omp end critical(testdrive_testsuite) + if (allocated(error)) then + call clear_error(error) + end if + + end subroutine run_unittest + + + pure function test_skipped(error) result(is_skipped) + + !> Error handling + type(error_type), intent(in), optional :: error + + !> Test was skipped + logical :: is_skipped + + is_skipped = .false. + if (present(error)) then + is_skipped = error%stat == skipped + end if + + end function test_skipped + + + !> Create output message for test (this procedure is pure and therefore cannot launch tests) + pure subroutine make_output(output, test, error) + + !> Output message for display + character(len=:), allocatable, intent(out) :: output + + !> Unit test + type(unittest_type), intent(in) :: test + + !> Error handling + type(error_type), intent(in), optional :: error + + character(len=:), allocatable :: label + character(len=*), parameter :: indent = repeat(" ", 7) // repeat(".", 3) // " " + + if (test_skipped(error)) then + output = indent // test%name // " [SKIPPED]" & + & // new_line("a") // " Message: " // error%message + return + end if + + if (present(error) .neqv. test%should_fail) then + if (test%should_fail) then + label = " [UNEXPECTED PASS]" + else + label = " [FAILED]" + end if + else + if (test%should_fail) then + label = " [EXPECTED FAIL]" + else + label = " [PASSED]" + end if + end if + output = indent // test%name // label + if (present(error)) then + output = output // new_line("a") // " Message: " // error%message + end if + end subroutine make_output + + + !> Select a unit test from all available tests + function select_test(tests, name) result(pos) + + !> Name identifying the test suite + character(len=*), intent(in) :: name + + !> Available unit tests + type(unittest_type) :: tests(:) + + !> Selected test suite + integer :: pos + + integer :: it + + pos = 0 + do it = 1, size(tests) + if (name == tests(it)%name) then + pos = it + exit + end if + end do + + end function select_test + + + !> Select a test suite from all available suites + function select_suite(suites, name) result(pos) + + !> Name identifying the test suite + character(len=*), intent(in) :: name + + !> Available test suites + type(testsuite_type) :: suites(:) + + !> Selected test suite + integer :: pos + + integer :: it + + pos = 0 + do it = 1, size(suites) + if (name == suites(it)%name) then + pos = it + exit + end if + end do + + end function select_suite + + + !> Register a new unit test + function new_unittest(name, test, should_fail) result(self) + + !> Name of the test + character(len=*), intent(in) :: name + + !> Entry point for the test + procedure(test_interface) :: test + + !> Whether test is supposed to error or not + logical, intent(in), optional :: should_fail + + !> Newly registered test + type(unittest_type) :: self + + self%name = name + self%test => test + if (present(should_fail)) self%should_fail = should_fail + + end function new_unittest + + + !> Register a new testsuite + function new_testsuite(name, collect) result(self) + + !> Name of the testsuite + character(len=*), intent(in) :: name + + !> Entry point to collect tests + procedure(collect_interface) :: collect + + !> Newly registered testsuite + type(testsuite_type) :: self + + self%name = name + self%collect => collect + + end function new_testsuite + + + subroutine check_stat(error, stat, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Status of operation + integer, intent(in) :: stat + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (stat /= success) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Non-zero exit code encountered", more) + end if + end if + + end subroutine check_stat + + + subroutine check_logical(error, expression, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Result of logical operator + logical, intent(in) :: expression + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (.not.expression) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Condition not fullfilled", more) + end if + end if + + end subroutine check_logical + + + subroutine check_float_dp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(dp), intent(in) :: actual + + !> Expected floating point value + real(dp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(dp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(dp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(expected) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_float_dp + + + subroutine check_float_exceptional_dp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(dp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(actual)) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_float_exceptional_dp + + + subroutine check_float_sp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(sp), intent(in) :: actual + + !> Expected floating point value + real(sp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(sp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(sp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(expected) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_float_sp + + + subroutine check_float_exceptional_sp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(sp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(actual)) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_float_exceptional_sp + + +#if WITH_XDP + subroutine check_float_xdp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(xdp), intent(in) :: actual + + !> Expected floating point value + real(xdp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(xdp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(xdp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(expected) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_float_xdp + + + subroutine check_float_exceptional_xdp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(xdp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(actual)) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_float_exceptional_xdp +#endif + + +#if WITH_QP + subroutine check_float_qp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(qp), intent(in) :: actual + + !> Expected floating point value + real(qp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(qp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(qp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(expected) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_float_qp + + + subroutine check_float_exceptional_qp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + real(qp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(actual)) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_float_exceptional_qp +#endif + + + subroutine check_complex_dp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(dp), intent(in) :: actual + + !> Expected floating point value + complex(dp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(dp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(dp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(abs(expected)) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_complex_dp + + + subroutine check_complex_exceptional_dp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(dp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(real(actual)) .or. is_nan(aimag(actual))) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_complex_exceptional_dp + + + subroutine check_complex_sp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(sp), intent(in) :: actual + + !> Expected floating point value + complex(sp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(sp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(sp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(abs(expected)) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_complex_sp + + + subroutine check_complex_exceptional_sp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(sp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(real(actual)) .or. is_nan(aimag(actual))) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_complex_exceptional_sp + + +#if WITH_XDP + subroutine check_complex_xdp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(xdp), intent(in) :: actual + + !> Expected floating point value + complex(xdp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(xdp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(xdp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(abs(expected)) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_complex_xdp + + + subroutine check_complex_exceptional_xdp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(xdp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(real(actual)) .or. is_nan(aimag(actual))) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_complex_exceptional_xdp +#endif + + +#if WITH_QP + subroutine check_complex_qp(error, actual, expected, message, more, thr, rel) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(qp), intent(in) :: actual + + !> Expected floating point value + complex(qp), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Allowed threshold for matching floating point values + real(qp), intent(in), optional :: thr + + !> Check for relative errors instead + logical, intent(in), optional :: rel + + logical :: relative + real(qp) :: diff, threshold + + call check(error, actual, message, more) + if (allocated(error)) return + + if (present(thr)) then + threshold = thr + else + threshold = epsilon(abs(expected)) + end if + + if (present(rel)) then + relative = rel + else + relative = .false. + end if + + if (relative) then + diff = abs(actual - expected) / abs(expected) + else + diff = abs(actual - expected) + end if + + if (diff > threshold) then + if (present(message)) then + call test_failed(error, message, more) + else + if (relative) then + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(int(diff*100))//"%)", & + more) + else + call test_failed(error, & + "Floating point value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual)//" "//& + "(difference: "//to_string(diff)//")", & + more) + end if + end if + end if + + end subroutine check_complex_qp + + + subroutine check_complex_exceptional_qp(error, actual, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found floating point value + complex(qp), intent(in) :: actual + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (is_nan(real(actual)) .or. is_nan(aimag(actual))) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, "Exceptional value 'not a number' found", more) + end if + end if + + end subroutine check_complex_exceptional_qp +#endif + + + subroutine check_int_i1(error, actual, expected, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found integer value + integer(i1), intent(in) :: actual + + !> Expected integer value + integer(i1), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (expected /= actual) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, & + "Integer value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual), & + more) + end if + end if + + end subroutine check_int_i1 + + + subroutine check_int_i2(error, actual, expected, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found integer value + integer(i2), intent(in) :: actual + + !> Expected integer value + integer(i2), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (expected /= actual) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, & + "Integer value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual), & + more) + end if + end if + + end subroutine check_int_i2 + + + subroutine check_int_i4(error, actual, expected, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found integer value + integer(i4), intent(in) :: actual + + !> Expected integer value + integer(i4), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (expected /= actual) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, & + "Integer value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual), & + more) + end if + end if + + end subroutine check_int_i4 + + + subroutine check_int_i8(error, actual, expected, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found integer value + integer(i8), intent(in) :: actual + + !> Expected integer value + integer(i8), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (expected /= actual) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, & + "Integer value missmatch", & + "expected "//to_string(expected)//" but got "//to_string(actual), & + more) + end if + end if + + end subroutine check_int_i8 + + + subroutine check_bool(error, actual, expected, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found boolean value + logical, intent(in) :: actual + + !> Expected boolean value + logical, intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (expected .neqv. actual) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, & + "Logical value missmatch", & + "expected "//merge("T", "F", expected)//" but got "//merge("T", "F", actual), & + more) + end if + end if + + end subroutine check_bool + + + subroutine check_string(error, actual, expected, message, more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> Found boolean value + character(len=*), intent(in) :: actual + + !> Expected boolean value + character(len=*), intent(in) :: expected + + !> A detailed message describing the error + character(len=*), intent(in), optional :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + if (expected /= actual) then + if (present(message)) then + call test_failed(error, message, more) + else + call test_failed(error, & + "Character value missmatch", & + "expected '"//expected//"' but got '"//actual//"'", & + more) + end if + end if + + end subroutine check_string + + + subroutine test_failed(error, message, more, and_more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> A detailed message describing the error + character(len=*), intent(in) :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Another line of error message + character(len=*), intent(in), optional :: and_more + + character(len=*), parameter :: skip = new_line("a") // repeat(" ", 11) + + allocate(error) + error%stat = fatal + + error%message = message + if (present(more)) then + error%message = error%message // skip // more + end if + if (present(and_more)) then + error%message = error%message // skip // and_more + end if + + end subroutine test_failed + + + !> A test is skipped because certain requirements are not met to run the actual test + subroutine skip_test(error, message, more, and_more) + + !> Error handling + type(error_type), allocatable, intent(out) :: error + + !> A detailed message describing the error + character(len=*), intent(in) :: message + + !> Another line of error message + character(len=*), intent(in), optional :: more + + !> Another line of error message + character(len=*), intent(in), optional :: and_more + + call test_failed(error, message, more, and_more) + error%stat = skipped + + end subroutine skip_test + + + !> Obtain the command line argument at a given index + subroutine get_argument(idx, arg) + + !> Index of command line argument, range [0:command_argument_count()] + integer, intent(in) :: idx + + !> Command line argument + character(len=:), allocatable, intent(out) :: arg + + integer :: length, stat + + call get_command_argument(idx, length=length, status=stat) + if (stat /= success) return + + allocate(character(len=length) :: arg, stat=stat) + if (stat /= success) return + + if (length > 0) then + call get_command_argument(idx, arg, status=stat) + if (stat /= success) deallocate(arg) + end if + + end subroutine get_argument + + + !> Obtain the value of an environment variable + subroutine get_variable(var, val) + + !> Name of variable + character(len=*), intent(in) :: var + + !> Value of variable + character(len=:), allocatable, intent(out) :: val + + integer :: length, stat + + call get_environment_variable(var, length=length, status=stat) + if (stat /= success) return + + allocate(character(len=length) :: val, stat=stat) + if (stat /= success) return + + if (length > 0) then + call get_environment_variable(var, val, status=stat) + if (stat /= success) deallocate(val) + end if + + end subroutine get_variable + + + pure function integer_i1_to_string(val) result(string) + integer, parameter :: ik = i1 + !> Integer value to create string from + integer(ik), intent(in) :: val + !> String representation of integer + character(len=:), allocatable :: string + + integer, parameter :: buffer_len = range(val)+2 + character(len=buffer_len) :: buffer + integer :: pos + integer(ik) :: n + character(len=1), parameter :: numbers(-9:0) = & + ["9", "8", "7", "6", "5", "4", "3", "2", "1", "0"] + + if (val == 0_ik) then + string = numbers(0) + return + end if + + n = sign(val, -1_ik) + buffer = "" + pos = buffer_len + 1 + do while (n < 0_ik) + pos = pos - 1 + buffer(pos:pos) = numbers(mod(n, 10_ik)) + n = n/10_ik + end do + + if (val < 0_ik) then + pos = pos - 1 + buffer(pos:pos) = '-' + end if + + string = buffer(pos:) + end function integer_i1_to_string + + + pure function integer_i2_to_string(val) result(string) + integer, parameter :: ik = i2 + !> Integer value to create string from + integer(ik), intent(in) :: val + !> String representation of integer + character(len=:), allocatable :: string + + integer, parameter :: buffer_len = range(val)+2 + character(len=buffer_len) :: buffer + integer :: pos + integer(ik) :: n + character(len=1), parameter :: numbers(-9:0) = & + ["9", "8", "7", "6", "5", "4", "3", "2", "1", "0"] + + if (val == 0_ik) then + string = numbers(0) + return + end if + + n = sign(val, -1_ik) + buffer = "" + pos = buffer_len + 1 + do while (n < 0_ik) + pos = pos - 1 + buffer(pos:pos) = numbers(mod(n, 10_ik)) + n = n/10_ik + end do + + if (val < 0_ik) then + pos = pos - 1 + buffer(pos:pos) = '-' + end if + + string = buffer(pos:) + end function integer_i2_to_string + + + pure function integer_i4_to_string(val) result(string) + integer, parameter :: ik = i4 + !> Integer value to create string from + integer(ik), intent(in) :: val + !> String representation of integer + character(len=:), allocatable :: string + + integer, parameter :: buffer_len = range(val)+2 + character(len=buffer_len) :: buffer + integer :: pos + integer(ik) :: n + character(len=1), parameter :: numbers(-9:0) = & + ["9", "8", "7", "6", "5", "4", "3", "2", "1", "0"] + + if (val == 0_ik) then + string = numbers(0) + return + end if + + n = sign(val, -1_ik) + buffer = "" + pos = buffer_len + 1 + do while (n < 0_ik) + pos = pos - 1 + buffer(pos:pos) = numbers(mod(n, 10_ik)) + n = n/10_ik + end do + + if (val < 0_ik) then + pos = pos - 1 + buffer(pos:pos) = '-' + end if + + string = buffer(pos:) + end function integer_i4_to_string + + + pure function integer_i8_to_string(val) result(string) + integer, parameter :: ik = i8 + !> Integer value to create string from + integer(ik), intent(in) :: val + !> String representation of integer + character(len=:), allocatable :: string + + integer, parameter :: buffer_len = range(val)+2 + character(len=buffer_len) :: buffer + integer :: pos + integer(ik) :: n + character(len=1), parameter :: numbers(-9:0) = & + ["9", "8", "7", "6", "5", "4", "3", "2", "1", "0"] + + if (val == 0_ik) then + string = numbers(0) + return + end if + + n = sign(val, -1_ik) + buffer = "" + pos = buffer_len + 1 + do while (n < 0_ik) + pos = pos - 1 + buffer(pos:pos) = numbers(mod(n, 10_ik)) + n = n/10_ik + end do + + if (val < 0_ik) then + pos = pos - 1 + buffer(pos:pos) = '-' + end if + + string = buffer(pos:) + end function integer_i8_to_string + + + pure function real_sp_to_string(val) result(string) + real(sp), intent(in) :: val + character(len=:), allocatable :: string + integer, parameter :: buffer_len = 128 + character(len=buffer_len) :: buffer + + write(buffer, '(g0)') val + string = trim(buffer) + + end function real_sp_to_string + + + pure function real_dp_to_string(val) result(string) + real(dp), intent(in) :: val + character(len=:), allocatable :: string + integer, parameter :: buffer_len = 128 + character(len=buffer_len) :: buffer + + write(buffer, '(g0)') val + string = trim(buffer) + + end function real_dp_to_string + + +#if WITH_XDP + pure function real_xdp_to_string(val) result(string) + real(xdp), intent(in) :: val + character(len=:), allocatable :: string + integer, parameter :: buffer_len = 128 + character(len=buffer_len) :: buffer + + write(buffer, '(g0)') val + string = trim(buffer) + + end function real_xdp_to_string +#endif + + +#if WITH_QP + pure function real_qp_to_string(val) result(string) + real(qp), intent(in) :: val + character(len=:), allocatable :: string + integer, parameter :: buffer_len = 128 + character(len=buffer_len) :: buffer + + write(buffer, '(g0)') val + string = trim(buffer) + + end function real_qp_to_string +#endif + + + pure function complex_sp_to_string(val) result(string) + complex(sp), intent(in) :: val + character(len=:), allocatable :: string + + string = "("//to_string(real(val))//", "//to_string(aimag(val))//")" + + end function complex_sp_to_string + + + pure function complex_dp_to_string(val) result(string) + complex(dp), intent(in) :: val + character(len=:), allocatable :: string + + string = "("//to_string(real(val))//", "//to_string(aimag(val))//")" + + end function complex_dp_to_string + + +#if WITH_XDP + pure function complex_xdp_to_string(val) result(string) + complex(xdp), intent(in) :: val + character(len=:), allocatable :: string + + string = "("//to_string(real(val))//", "//to_string(aimag(val))//")" + + end function complex_xdp_to_string +#endif + + +#if WITH_QP + pure function complex_qp_to_string(val) result(string) + complex(qp), intent(in) :: val + character(len=:), allocatable :: string + + string = "("//to_string(real(val))//", "//to_string(aimag(val))//")" + + end function complex_qp_to_string +#endif + + + !> Clear error type after it has been handled. + subroutine clear_error(error) + + !> Error handling + type(error_type), intent(inout) :: error + + if (error%stat /= success) then + error%stat = success + end if + + if (allocated(error%message)) then + deallocate(error%message) + end if + + end subroutine clear_error + + + !> Finalizer of the error type, in case the error is not correctly cleared it will + !> be escalated at runtime in a fatal way + subroutine escalate_error(error) + + !> Error handling + type(error_type), intent(inout) :: error + + if (error%stat /= success) then + write(error_unit, '(a)') "[Fatal] Uncaught error" + if (allocated(error%message)) then + write(error_unit, '(a, 1x, i0, *(1x, a))') & + "Code:", error%stat, "Message:", error%message + end if + error stop + end if + + end subroutine escalate_error + + + !> Determine whether a value is not a number without requiring IEEE arithmetic support + elemental function is_nan_sp(val) result(is_nan) + !> Value to check + real(sp), intent(in) :: val + !> Value is not a number + logical :: is_nan + + is_nan = .not.((val <= huge(val) .and. val >= -huge(val)) .or. abs(val) > huge(val)) + end function is_nan_sp + + !> Determine whether a value is not a number without requiring IEEE arithmetic support + elemental function is_nan_dp(val) result(is_nan) + !> Value to check + real(dp), intent(in) :: val + !> Value is not a number + logical :: is_nan + + is_nan = .not.((val <= huge(val) .and. val >= -huge(val)) .or. abs(val) > huge(val)) + end function is_nan_dp + +#if WITH_XDP + !> Determine whether a value is not a number without requiring IEEE arithmetic support + elemental function is_nan_xdp(val) result(is_nan) + !> Value to check + real(xdp), intent(in) :: val + !> Value is not a number + logical :: is_nan + + is_nan = .not.((val <= huge(val) .and. val >= -huge(val)) .or. abs(val) > huge(val)) + end function is_nan_xdp +#endif + +#if WITH_QP + !> Determine whether a value is not a number without requiring IEEE arithmetic support + elemental function is_nan_qp(val) result(is_nan) + !> Value to check + real(qp), intent(in) :: val + !> Value is not a number + logical :: is_nan + + is_nan = .not.((val <= huge(val) .and. val >= -huge(val)) .or. abs(val) > huge(val)) + end function is_nan_qp +#endif + + +end module testdrive diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 01c550d..1d2d01f 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -219,36 +219,51 @@ TEST_CASE("Deviation Pair Map") { SpecUtils::SpecFile specfile; - auto maxDevPairs = 20; - auto maxMCA = 8; - auto maxPanel = 8; - auto maxCol = 4; + const auto maxDevPairs = 20; + const auto maxMCA = 8; + const auto maxPanel = 8; + const auto maxCol = 4; - auto pairVal = 1; - for (size_t i = 0; i < maxCol; i++) + auto pairVal = 0; + for (size_t col_i = 0; col_i < maxCol; col_i++) { - for (size_t j = 0; j < maxPanel; j++) + for (size_t panel_j = 0; panel_j < maxPanel; panel_j++) { - for (size_t k = 0; k < maxMCA; k++) + for (size_t mca_k = 0; mca_k < maxMCA; mca_k++) { auto m = std::make_shared(); + //std::ostringstream sstrm; + //sstrm << + //m->set_detector_name() + //auto ecal MyEcal ecal; auto &devPairs = ecal.getDevPairs(); for (size_t p = 0; p < maxDevPairs; p++) { - auto first = pairVal++; - auto second = pairVal++; + auto first = ++pairVal; + auto second = ++pairVal; auto devPair = std::make_pair(first, second); devPairs.push_back(devPair); } + m->set_energy_calibration(std::make_shared(ecal)); + specfile.add_measurement(m); } } } + + float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxCol] ={}; + SpecUtils::mapDevPairsToArray(specfile, fortranArray); + + // { + // size_t i = 0, j = 0, k = 0, devPair = 9; + // CHECK(fortranArray[0][devPair][k][j][i] == 19.0F); + // CHECK(fortranArray[1][devPair][k][j][i] == 20.0F); + // } } -std::pair getDeviationPair(size_t i, size_t j, size_t k, size_t l) +std::pair getDeviationPair(size_t col, size_t panel, size_t mca, size_t devPair) { const auto maxDevPairs = 20; const auto maxMCA = 8; @@ -256,13 +271,13 @@ std::pair getDeviationPair(size_t i, size_t j, size_t k, size_t l) const auto maxCol = 4; // Validate the indices to ensure they are within bounds - if (i >= maxCol || j >= maxPanel || k >= maxMCA || l >= maxDevPairs) + if (col >= maxCol || panel >= maxPanel || mca >= maxMCA || devPair >= maxDevPairs) { throw std::out_of_range("Index out of range"); } // Calculate the total number of pairs before the given indices - size_t totalPairs = l + k * maxDevPairs + j * maxDevPairs * maxMCA + i * maxDevPairs * maxMCA * maxPanel; + size_t totalPairs = devPair + mca * maxDevPairs + panel * maxDevPairs * maxMCA + col * maxDevPairs * maxMCA * maxPanel; // Calculate the pairVal size_t pairVal = 1 + 2 * totalPairs; @@ -274,35 +289,58 @@ std::pair getDeviationPair(size_t i, size_t j, size_t k, size_t l) return {first, second}; } +template +void process5DArray(float (&arr)[MAX_COLUMN_COUNT][MAX_PANEL_COUNT][MAX_MCA_COUNT][MAX_DEV_PAIRS][D5], std::function operation) { + for (size_t i = 0; i < MAX_COLUMN_COUNT; ++i) { + for (size_t j = 0; j < MAX_PANEL_COUNT; ++j) { + for (size_t k = 0; k < MAX_MCA_COUNT; ++k) { + for (size_t l = 0; l < MAX_DEV_PAIRS; ++l) { + for (size_t m = 0; m < D5; ++m) { + operation(arr[i][j][k][l][m]); + } + } + } + } + } +} + +template +void processArray(float (&arr)[MAX_COLUMN_COUNT][MAX_PANEL_COUNT][MAX_MCA_COUNT][MAX_DEV_PAIRS][D5], std::function operation) { + for (size_t col = 0; col < MAX_COLUMN_COUNT; ++col) { + for (size_t panel = 0; panel < MAX_PANEL_COUNT; ++panel) { + for (size_t mca = 0; mca < MAX_MCA_COUNT; ++mca) { + for (size_t devPair = 0; devPair < MAX_DEV_PAIRS; ++devPair) { + operation(arr[col][panel][mca][devPair]); + } + } + } + } +} + + TEST_CASE("Deviation Pair Map Array") { const auto maxDevPairs = 20; const auto maxMCA = 8; const auto maxPanel = 8; - const auto maxCol = 4; + const auto maxHardwareColumns = 4; auto pairVal = 0; + auto assignLambda = [&pairVal](float & val) { + val = ++pairVal; + }; + float deviationPairsArray[maxHardwareColumns][maxPanel][maxMCA][maxDevPairs][2] ={}; // + + //process5DArray(deviationPairsArray, assignLambda); + + auto assignLambda2 = [&pairVal](float * pair) { + pair[0] = ++pairVal; + pair[1] = ++pairVal; + }; + processArray(deviationPairsArray, assignLambda2); - // real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs - float deviationPairsArray[maxCol][maxPanel][maxMCA][maxDevPairs][2]; // - for (size_t i = 0; i < maxCol; i++) - { - for (size_t j = 0; j < maxPanel; j++) - { - for (size_t k = 0; k < maxMCA; k++) - { - for (size_t l = 0; l < maxDevPairs; l++) - { - auto first = ++pairVal * 1.0F; - auto second = ++pairVal * 1.0F; - deviationPairsArray[i][j][k][l][0] = first; - deviationPairsArray[i][j][k][l][1] = second; - } - } - } - } { size_t i = 0, j = 0, k = 0, l = 0; @@ -321,4 +359,16 @@ TEST_CASE("Deviation Pair Map Array") CHECK( deviationPairsArray[i][j][k][l][1] == pair.second); } + // Fortran deviation pairs array: real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs + float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxHardwareColumns]; + SpecUtils::mapCArrayToFortranArray(deviationPairsArray, fortranArray); + + { + size_t i = 0, j = 0, k = 0, l = 9; + CHECK( fortranArray[0][l][k][j][i] == 19.0F); + CHECK( fortranArray[1][l][k][j][i] == 20.0F); + } + + + } From f39635e1879de2208de434ea47c0e120e7bd8acf Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 18 Sep 2024 17:10:06 -0600 Subject: [PATCH 026/100] pcf spectra file mods --- SpecUtils/ParseUtils.h | 34 --- SpecUtils/PcfUtils.h | 120 ++++++++ SpecUtils/SpecFile.h | 38 +-- bindings/swig/fortran/SpecUtilsFortran.i | 7 +- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 40 +-- bindings/swig/fortran/SpecUtilsWrap.f90 | 74 +---- src/SpecFile.cpp | 3 + unit_tests/test_spec_file.cpp | 268 ++++++++++-------- unit_tests/test_string_functions.cpp | 9 +- 9 files changed, 294 insertions(+), 299 deletions(-) create mode 100644 SpecUtils/PcfUtils.h diff --git a/SpecUtils/ParseUtils.h b/SpecUtils/ParseUtils.h index a418c82..1dfaef8 100644 --- a/SpecUtils/ParseUtils.h +++ b/SpecUtils/ParseUtils.h @@ -293,40 +293,6 @@ Integral float_to_integral( float d ) return std::signbit(d) ? min_int_val : max_int_val; }//float_to_integral - template - inline std::string get_source(const StringVec & vec) - { - auto retVal = std::string(); - auto sourceStringOffset = 8U; - for(auto str : vec) - { - if(SpecUtils::istarts_with(str, "Source:")) - { - retVal = str.substr(sourceStringOffset); - trim(retVal); - break; - } - } - return retVal; - } - - template - inline std::string get_description(const StringVec & vec) - { - auto retVal = std::string(); - auto descrOffset = 12U; - for(auto str : vec) - { - if(SpecUtils::istarts_with(str, "Description:")) - { - retVal = str.substr(descrOffset); - trim(retVal); - break; - } - } - return retVal; - } - }//namespace SpecUtils #endif //SpecUtils_ParseUtils_h diff --git a/SpecUtils/PcfUtils.h b/SpecUtils/PcfUtils.h new file mode 100644 index 0000000..8602e90 --- /dev/null +++ b/SpecUtils/PcfUtils.h @@ -0,0 +1,120 @@ +#pragma once +#include +#include + +namespace SpecUtils +{ + namespace PCF + { + template + inline std::string get_source(const StringVec &vec) + { + auto retVal = std::string(); + auto sourceStringOffset = 8U; + for (auto str : vec) + { + if (SpecUtils::istarts_with(str, "Source:")) + { + retVal = str.substr(sourceStringOffset); + trim(retVal); + break; + } + } + return retVal; + } + + template + inline std::string get_description(const StringVec &vec) + { + auto retVal = std::string(); + auto descrOffset = 12U; + for (auto str : vec) + { + if (SpecUtils::istarts_with(str, "Description:")) + { + retVal = str.substr(descrOffset); + trim(retVal); + break; + } + } + return retVal; + } + + template + inline int get_column(const StringVec &vec) + { + auto retVal = std::string(); + auto offset = 7U; + for (auto str : vec) + { + if (SpecUtils::istarts_with(str, "column:")) + { + retVal = str.substr(offset); + trim(retVal); + break; + } + } + return std::stoi(retVal); + } + + template + inline int get_panel(const StringVec &vec) + { + auto retVal = std::string(); + auto offset = 6U; + for (auto str : vec) + { + if (SpecUtils::istarts_with(str, "panel:")) + { + retVal = str.substr(offset); + trim(retVal); + break; + } + } + return std::stoi(retVal); + } + + template + inline void mapDevPairsToArray(const SpecFileType &specFile, float (&fortranArray)[2][20][8][8][4]) + { + const auto &measurements = specFile.measurements(); + for (auto &m : measurements) + { + auto &remarks = m->remarks(); + auto column = get_column(remarks); + auto panel = get_panel(remarks); + auto mca = m->detector_number(); + auto &devPairs = m->deviation_pairs(); + auto devPairIdx = 0; + for (auto &devPair : devPairs) + { + fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; + fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; + devPairIdx++; + } + } + } + + // Function to map C array to Fortran array + inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) + { + for (size_t i = 0; i < 4; ++i) + { + for (size_t j = 0; j < 8; ++j) + { + for (size_t k = 0; k < 8; ++k) + { + for (size_t l = 0; l < 20; ++l) + { + for (size_t m = 0; m < 2; ++m) + { + fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; + } + } + } + } + } + } + + } // namespace PCF +} // namespace SpecUtils \ No newline at end of file diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 13927b0..ba8e707 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -652,6 +652,12 @@ class Measurement // that pertain to this record specifically. See also // SpecFile::remarks(). const std::vector &remarks() const; + + /// @brief get a mutable reference to remarks + std::vector &remarks() + { + return remarks_; + } /** Warnings from parsing that apply to this measurement. */ @@ -2890,38 +2896,6 @@ struct MultimediaData #endif };//struct MultimediaData -inline float cpp_sum(const float inp[3][3][3][3][3]) -{ - return 0.0F; -} -inline void mapDevPairsToArray(const SpecFile & specFile, float fortranArray[2][20][8][8][4]) -{ - auto measurements = specFile.measurements(); - for(auto & m : measurements) - { - auto &devPairs = m->deviation_pairs(); - for(auto & devPair : devPairs) - { - //auto column ; - //au - } - } - -} -// Function to map C array to Fortran array -inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) { - for (size_t i = 0; i < 4; ++i) { - for (size_t j = 0; j < 8; ++j) { - for (size_t k = 0; k < 8; ++k) { - for (size_t l = 0; l < 20; ++l) { - for (size_t m = 0; m < 2; ++m) { - fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; - } - } - } - } - } -} }//namespace SpecUtils #endif //SpecUtils_SpecFile_h diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index e90dedf..639620c 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -7,6 +7,7 @@ #include #include #include +#include %} @@ -45,7 +46,6 @@ namespace std { %apply int { size_t } -//%apply real ARRAY[ANY][ANY][ANY][ANY][ANY] { float[ANY][ANY][ANY][ANY][ANY] }; %apply SWIGTYPE ARRAY[ANY][ANY][ANY][ANY][ANY] { float[ANY][ANY][ANY][ANY][ANY] }; //%rename(set_ecal) SpecUtils::Measurement::set_energy_calibration; @@ -53,6 +53,7 @@ namespace std { %include "SpecUtils/SpecFile.h" + %extend SpecUtils::Measurement { /// Return the count at a given index. @@ -70,13 +71,13 @@ namespace std { std::string get_description() { auto &remarks = $self->remarks(); - return SpecUtils::get_description(remarks); + return SpecUtils::PCF::get_description(remarks); } std::string get_source() { auto &remarks = $self->remarks(); - return SpecUtils::get_source(remarks); + return SpecUtils::PCF::get_source(remarks); } std::string get_start_time_string() diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 0707ae7..b00ed36 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -299,6 +299,7 @@ template T SwigValueInit() { #include #include #include +#include #include @@ -582,11 +583,11 @@ SWIGINTERN size_t SpecUtils_Measurement_get_num_channels(SpecUtils::Measurement } SWIGINTERN std::string SpecUtils_Measurement_get_description(SpecUtils::Measurement *self){ auto &remarks = self->remarks(); - return SpecUtils::get_description(remarks); + return SpecUtils::PCF::get_description(remarks); } SWIGINTERN std::string SpecUtils_Measurement_get_source(SpecUtils::Measurement *self){ auto &remarks = self->remarks(); - return SpecUtils::get_source(remarks); + return SpecUtils::PCF::get_source(remarks); } SWIGINTERN std::string SpecUtils_Measurement_get_start_time_string(SpecUtils::Measurement *self){ auto timeStr = SpecUtils::to_vax_string( self->start_time() ); @@ -1862,7 +1863,7 @@ SWIGEXPORT int _wrap_Measurement_source_type(SwigClassWrapper *farg1) { } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks__SWIG_0(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; @@ -6334,39 +6335,6 @@ SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigCl } -SWIGEXPORT float _wrap_cpp_sum(SwigClassWrapper *farg1) { - float fresult ; - float (*arg1)[3][3][3][3] ; - float result; - - arg1 = (float (*)[3][3][3][3])(farg1); - result = (float)SpecUtils::cpp_sum((float const (*)[3][3][3][3])arg1); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_mapDevPairsToArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = 0 ; - float (*arg2)[20][8][8][4] ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::mapDevPairsToArray(SpecUtils::SpecFile const &,float [2][20][8][8][4])", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::mapDevPairsToArray((SpecUtils::SpecFile const &)*arg1,(float (*)[20][8][8][4])arg2); -} - - -SWIGEXPORT void _wrap_mapCArrayToFortranArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - float (*arg1)[8][8][20][2] ; - float (*arg2)[20][8][8][4] ; - - arg1 = (float (*)[8][8][20][2])(farg1); - arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::mapCArrayToFortranArray((float const (*)[8][8][20][2])arg1,(float (*)[20][8][8][4])arg2); -} - - SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { SwigClassWrapper fresult ; std::pair< float,float > *result = 0 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index f9052e1..fb891a1 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -311,7 +311,7 @@ module specutilswrap procedure :: detector_type => swigf_Measurement_detector_type procedure :: quality_status => swigf_Measurement_quality_status procedure :: source_type => swigf_Measurement_source_type - procedure :: remarks => swigf_Measurement_remarks + procedure, private :: swigf_Measurement_remarks__SWIG_0 procedure :: parse_warnings => swigf_Measurement_parse_warnings procedure :: start_time => swigf_Measurement_start_time procedure :: start_time_copy => swigf_Measurement_start_time_copy @@ -371,6 +371,7 @@ module specutilswrap procedure :: release => swigf_Measurement_release procedure, private :: swigf_Measurement_op_assign__ generic :: assignment(=) => swigf_Measurement_op_assign__ + generic :: remarks => swigf_Measurement_remarks__SWIG_0 generic :: set_neutron_counts => swigf_Measurement_set_neutron_counts__SWIG_0, swigf_Measurement_set_neutron_counts__SWIG_1 end type Measurement type, public :: SWIGTYPE_p_std__vectorT_int_t @@ -721,9 +722,6 @@ module specutilswrap procedure, private :: swigf_MultimediaData_op_assign__ generic :: assignment(=) => swigf_MultimediaData_op_assign__ end type MultimediaData - public :: cpp_sum - public :: mapDevPairsToArray - public :: mapCArrayToFortranArray ! struct std::pair< float,float > type, public :: DevPair type(SwigClassWrapper), public :: swigdata @@ -1683,8 +1681,8 @@ function swigc_Measurement_source_type(farg1) & integer(C_INT) :: fresult end function -function swigc_Measurement_remarks(farg1) & -bind(C, name="_wrap_Measurement_remarks") & +function swigc_Measurement_remarks__SWIG_0(farg1) & +bind(C, name="_wrap_Measurement_remarks__SWIG_0") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -4519,29 +4517,6 @@ subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine -function swigc_cpp_sum(farg1) & -bind(C, name="_wrap_cpp_sum") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -type(C_PTR), value :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_mapDevPairsToArray(farg1, farg2) & -bind(C, name="_wrap_mapDevPairsToArray") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR), value :: farg2 -end subroutine - -subroutine swigc_mapCArrayToFortranArray(farg1, farg2) & -bind(C, name="_wrap_mapCArrayToFortranArray") -use, intrinsic :: ISO_C_BINDING -type(C_PTR), value :: farg1 -type(C_PTR), value :: farg2 -end subroutine - function swigc_new_DevPair__SWIG_0() & bind(C, name="_wrap_new_DevPair__SWIG_0") & result(fresult) @@ -6712,7 +6687,7 @@ function swigf_Measurement_source_type(self) & swig_result = fresult end function -function swigf_Measurement_remarks(self) & +function swigf_Measurement_remarks__SWIG_0(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result @@ -6721,7 +6696,7 @@ function swigf_Measurement_remarks(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_remarks(farg1) +fresult = swigc_Measurement_remarks__SWIG_0(farg1) swig_result%swigdata = fresult end function @@ -11086,43 +11061,6 @@ subroutine swigf_MultimediaData_op_assign__(self, other) self%swigdata = farg1 end subroutine -function cpp_sum(inp) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -real(C_FLOAT), dimension(3,3,3,3,3), target :: inp -real(C_FLOAT) :: fresult -type(C_PTR) :: farg1 - -farg1 = c_loc(inp) -fresult = swigc_cpp_sum(farg1) -swig_result = fresult -end function - -subroutine mapDevPairsToArray(specfile0, fortranarray) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: specfile0 -real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray -type(SwigClassWrapper) :: farg1 -type(C_PTR) :: farg2 - -farg1 = specfile0%swigdata -farg2 = c_loc(fortranarray) -call swigc_mapDevPairsToArray(farg1, farg2) -end subroutine - -subroutine mapCArrayToFortranArray(carray, fortranarray) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), dimension(2,20,8,8,4), target :: carray -real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray -type(C_PTR) :: farg1 -type(C_PTR) :: farg2 - -farg1 = c_loc(carray) -farg2 = c_loc(fortranarray) -call swigc_mapCArrayToFortranArray(farg1, farg2) -end subroutine - function swigf_new_DevPair__SWIG_0() & result(self) use, intrinsic :: ISO_C_BINDING diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index bda3bef..cc11f41 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -907,6 +907,9 @@ void Measurement::set_detector_name( const std::string &name ) void Measurement::set_detector_number( const int detnum ) { detector_number_ = detnum; + std::ostringstream sstrm; + sstrm << detnum; + set_detector_name(sstrm.str()); } diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 1d2d01f..e039a01 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -2,6 +2,7 @@ #include #include #include +#include #include namespace fs = std::filesystem; @@ -35,10 +36,10 @@ TEST_CASE("Time") auto expectedTS = 1709103600.0F; - auto tmp = timepoint.time_since_epoch().count(); + auto tmp = timepoint.time_since_epoch().count(); tmp /= 1e6; - - CHECK( expectedTS == doctest::Approx(tmp)); + + CHECK(expectedTS == doctest::Approx(tmp)); //auto tp2 = std::chrono::time_point_cast( expectedTS ); } @@ -46,7 +47,7 @@ TEST_CASE("Time") TEST_CASE("More Time") { - // Unix timestamp (seconds since epoch) + // Unix timestamp (seconds since epoch) std::time_t unix_timestamp = 1709103600; // Example timestamp // Convert the Unix timestamp to a time_point with second precision @@ -55,7 +56,7 @@ TEST_CASE("More Time") // Cast the time_point to microseconds precision time_point_t tp_microseconds = std::chrono::time_point_cast(tp_seconds); - auto timestr = SpecUtils::to_vax_string(tp_microseconds); + auto timestr = SpecUtils::to_vax_string(tp_microseconds); // Output the time_point //std::time_t tp_microseconds_time_t = std::chrono::system_clock::to_time_t(tp_microseconds); std::cout << "Time point (microseconds precision): " << timestr << std::endl; @@ -71,18 +72,18 @@ TEST_CASE("Round Trip") CheckFileExistanceAndDelete(fname); auto m = std::make_shared(); - const auto now_sys = std::chrono::system_clock::now(); - const auto now = std::chrono::time_point_cast( now_sys ); + const auto now_sys = std::chrono::system_clock::now(); + const auto now = std::chrono::time_point_cast(now_sys); std::cerr << "now: " << now.time_since_epoch().count() << std::endl; - m->set_start_time( now ); + m->set_start_time(now); m->set_title("Test Measurment"); auto remarks = m->remarks(); remarks.push_back("Description: test_descr"); remarks.push_back("Source: source123"); m->set_remarks(remarks); - FloatVec ncounts{99.0F}; + FloatVec ncounts{ 99.0F }; m->set_neutron_counts(ncounts, 0.0F); m->set_live_time(10.55F); m->set_real_time(11.66F); @@ -96,17 +97,17 @@ TEST_CASE("Round Trip") m->set_gamma_counts(spectrum); auto ecal = std::make_shared(); - auto coeffs = std::vector{4.41F, 3198.33F, 1.0F, 2.0F, 1.5f}; + auto coeffs = std::vector{ 4.41F, 3198.33F, 1.0F, 2.0F, 1.5f }; SpecUtils::DeviationPairs devPairs; //auto for (size_t i = 0; i < 4; i++) { - auto devPair = std::make_pair(i+10.0, i * -1.0F); + auto devPair = std::make_pair(i + 10.0, i * -1.0F); devPairs.push_back(devPair); } - - ecal->set_full_range_fraction(spectrum.size(), coeffs, devPairs ); + + ecal->set_full_range_fraction(spectrum.size(), coeffs, devPairs); //ecal->set_default_polynomial(spectrum.size(), coeffs, devPairs ); m->set_energy_calibration(ecal); @@ -121,17 +122,17 @@ TEST_CASE("Round Trip") CHECK(success); //CHECK( specfileToRead.max_channel_count() == 128 ); - auto &expectedM = *(specfile.measurements().at(0)); - auto &actualM = *(specfileToRead.measurements().at(0)); + auto& expectedM = *(specfile.measurements().at(0)); + auto& actualM = *(specfileToRead.measurements().at(0)); CHECK(expectedM.title() == actualM.title()); // times for PCFs should be compared as vax strings. - auto timeStr1 = SpecUtils::to_vax_string(expectedM.start_time() ); - auto timeStr2 = SpecUtils::to_vax_string(actualM.start_time() ); - CHECK( timeStr1 == timeStr2); + auto timeStr1 = SpecUtils::to_vax_string(expectedM.start_time()); + auto timeStr2 = SpecUtils::to_vax_string(actualM.start_time()); + CHECK(timeStr1 == timeStr2); - auto & expSpectrum = *expectedM.gamma_counts(); - auto & actualSpectrum = *expectedM.gamma_counts(); + auto& expSpectrum = *expectedM.gamma_counts(); + auto& actualSpectrum = *expectedM.gamma_counts(); CHECK(actualSpectrum.at(100) > 0); CHECK(expSpectrum == actualSpectrum); @@ -142,22 +143,22 @@ TEST_CASE("Round Trip") CHECK(actualM.real_time() > 0.0F); CHECK(actualM.real_time() == expectedM.real_time()); - CHECK( actualM.neutron_counts().at(0) > 0 ); - CHECK( actualM.neutron_counts() == expectedM.neutron_counts() ); + CHECK(actualM.neutron_counts().at(0) > 0); + CHECK(actualM.neutron_counts() == expectedM.neutron_counts()); + + auto& rmarks = specfileToRead.remarks(); + CHECK(SpecUtils::PCF::get_description(remarks) == "test_descr"); + CHECK(SpecUtils::PCF::get_source(remarks) == "source123"); - auto &rmarks = specfileToRead.remarks(); - CHECK( SpecUtils::get_description(remarks) == "test_descr" ); - CHECK( SpecUtils::get_source(remarks) == "source123" ); - auto newEcal = *actualM.energy_calibration(); CHECK(newEcal.coefficients() == ecal->coefficients()); - CHECK(expectedM.deviation_pairs() == actualM.deviation_pairs()); + CHECK(expectedM.deviation_pairs() == actualM.deviation_pairs()); } SUBCASE("Writing over existing file fails") { - CHECK_THROWS( specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf) ); + CHECK_THROWS(specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf)); } } @@ -166,14 +167,14 @@ TEST_CASE("Round Trip") } -int generateRandomNumber(int min=64, int max=1024) { +int generateRandomNumber(int min = 64, int max = 1024) { // Create a random device and seed the random number generator std::random_device rd; std::mt19937 gen(rd()); - + // Define the range std::uniform_int_distribution<> dis(min, max); - + // Generate and return the random number return dis(gen); } @@ -202,19 +203,59 @@ TEST_CASE("Get Max Channel Count") m->set_gamma_counts(spectrum); specfile.add_measurement(m); } - - CHECK(max_channel_count > 0 ); + + CHECK(max_channel_count > 0); +} + + +std::pair getExpectedDeviationPair(size_t col, size_t panel, size_t mca, size_t devPair) +{ + const auto maxDevPairs = 20; + const auto maxMCA = 8; + const auto maxPanel = 8; + const auto maxCol = 4; + + // Validate the indices to ensure they are within bounds + if (col >= maxCol || panel >= maxPanel || mca >= maxMCA || devPair >= maxDevPairs) + { + throw std::out_of_range("Index out of range"); + } + + // Calculate the total number of pairs before the given indices + size_t totalPairs = devPair + mca * maxDevPairs + panel * maxDevPairs * maxMCA + col * maxDevPairs * maxMCA * maxPanel; + + // Calculate the pairVal + size_t pairVal = 1 + 2 * totalPairs; + + // Calculate the first and second pair values + float first = (pairVal) * 1.0F; + float second = (pairVal + 1) * 1.0F; + + return { first, second }; } class MyEcal : public SpecUtils::EnergyCalibration { - public: - SpecUtils::DeviationPairs & getDevPairs() +public: + SpecUtils::DeviationPairs& getDevPairs() { return m_deviation_pairs; } }; +template +void devPairComboLoop(std::function operation) { + for (size_t col = 0; col < MAX_COLUMN_COUNT; ++col) { + for (size_t panel = 0; panel < MAX_PANEL_COUNT; ++panel) { + for (size_t mca = 0; mca < MAX_MCA_COUNT; ++mca) { + for (size_t devPair = 0; devPair < MAX_DEV_PAIRS; ++devPair) { + operation(col, panel, mca, devPair); + } + } + } + } +} + TEST_CASE("Deviation Pair Map") { SpecUtils::SpecFile specfile; @@ -232,12 +273,8 @@ TEST_CASE("Deviation Pair Map") for (size_t mca_k = 0; mca_k < maxMCA; mca_k++) { auto m = std::make_shared(); - //std::ostringstream sstrm; - //sstrm << - //m->set_detector_name() - //auto ecal MyEcal ecal; - auto &devPairs = ecal.getDevPairs(); + auto& devPairs = ecal.getDevPairs(); for (size_t p = 0; p < maxDevPairs; p++) { auto first = ++pairVal; @@ -247,77 +284,61 @@ TEST_CASE("Deviation Pair Map") devPairs.push_back(devPair); } m->set_energy_calibration(std::make_shared(ecal)); - specfile.add_measurement(m); - } - } - } - float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxCol] ={}; - SpecUtils::mapDevPairsToArray(specfile, fortranArray); - - // { - // size_t i = 0, j = 0, k = 0, devPair = 9; - // CHECK(fortranArray[0][devPair][k][j][i] == 19.0F); - // CHECK(fortranArray[1][devPair][k][j][i] == 20.0F); - // } -} - - -std::pair getDeviationPair(size_t col, size_t panel, size_t mca, size_t devPair) -{ - const auto maxDevPairs = 20; - const auto maxMCA = 8; - const auto maxPanel = 8; - const auto maxCol = 4; - - // Validate the indices to ensure they are within bounds - if (col >= maxCol || panel >= maxPanel || mca >= maxMCA || devPair >= maxDevPairs) - { - throw std::out_of_range("Index out of range"); - } + auto& remarks = m->remarks(); + { + std::ostringstream sstrm; + sstrm << "column: " << col_i; + remarks.push_back(sstrm.str()); - // Calculate the total number of pairs before the given indices - size_t totalPairs = devPair + mca * maxDevPairs + panel * maxDevPairs * maxMCA + col * maxDevPairs * maxMCA * maxPanel; + CHECK(col_i == SpecUtils::PCF::get_column(remarks)); + } + { + std::ostringstream sstrm; + sstrm << "panel: " << panel_j; + remarks.push_back(sstrm.str()); - // Calculate the pairVal - size_t pairVal = 1 + 2 * totalPairs; + CHECK(panel_j == SpecUtils::PCF::get_panel(remarks)); - // Calculate the first and second pair values - float first = (pairVal) * 1.0F; - float second = (pairVal + 1) * 1.0F; + } + m->set_detector_number(mca_k); - return {first, second}; -} + specfile.add_measurement(m); -template -void process5DArray(float (&arr)[MAX_COLUMN_COUNT][MAX_PANEL_COUNT][MAX_MCA_COUNT][MAX_DEV_PAIRS][D5], std::function operation) { - for (size_t i = 0; i < MAX_COLUMN_COUNT; ++i) { - for (size_t j = 0; j < MAX_PANEL_COUNT; ++j) { - for (size_t k = 0; k < MAX_MCA_COUNT; ++k) { - for (size_t l = 0; l < MAX_DEV_PAIRS; ++l) { - for (size_t m = 0; m < D5; ++m) { - operation(arr[i][j][k][l][m]); - } - } } } } -} -template -void processArray(float (&arr)[MAX_COLUMN_COUNT][MAX_PANEL_COUNT][MAX_MCA_COUNT][MAX_DEV_PAIRS][D5], std::function operation) { - for (size_t col = 0; col < MAX_COLUMN_COUNT; ++col) { - for (size_t panel = 0; panel < MAX_PANEL_COUNT; ++panel) { - for (size_t mca = 0; mca < MAX_MCA_COUNT; ++mca) { - for (size_t devPair = 0; devPair < MAX_DEV_PAIRS; ++devPair) { - operation(arr[col][panel][mca][devPair]); - } - } - } + float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxCol] = {}; + SpecUtils::PCF::mapDevPairsToArray(specfile, fortranArray); + + { + size_t col = 0, panel = 0, mca = 0, devPair = 9; + CHECK(fortranArray[0][devPair][mca][panel][col] == 19.0F); + CHECK(fortranArray[1][devPair][mca][panel][col] == 20.0F); + } + { + size_t col = 0, panel = 0, mca = 0, devPair = 9; + auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); + CHECK(fortranArray[0][devPair][mca][panel][col] == expectedPair.first); + CHECK(fortranArray[1][devPair][mca][panel][col] == expectedPair.second); + } + { + size_t col = 1, panel = 2, mca = 3, devPair = 9; + auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); + CHECK(fortranArray[0][devPair][mca][panel][col] == expectedPair.first); + CHECK(fortranArray[1][devPair][mca][panel][col] == expectedPair.second); + } + { + auto checkLambda = [&fortranArray](size_t col, size_t panel, size_t mca, size_t devPair) { + auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); + CHECK(fortranArray[0][devPair][mca][panel][col] == expectedPair.first); + CHECK(fortranArray[1][devPair][mca][panel][col] == expectedPair.second); + }; + devPairComboLoop(checkLambda); } } - TEST_CASE("Deviation Pair Map Array") { const auto maxDevPairs = 20; @@ -327,48 +348,51 @@ TEST_CASE("Deviation Pair Map Array") auto pairVal = 0; - auto assignLambda = [&pairVal](float & val) { - val = ++pairVal; - }; - float deviationPairsArray[maxHardwareColumns][maxPanel][maxMCA][maxDevPairs][2] ={}; // + float deviationPairsArray[maxHardwareColumns][maxPanel][maxMCA][maxDevPairs][2] = {}; - //process5DArray(deviationPairsArray, assignLambda); - - auto assignLambda2 = [&pairVal](float * pair) { + auto assignLambda = [&pairVal, &deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) { + float* pair = deviationPairsArray[col][panel][mca][devPair]; pair[0] = ++pairVal; pair[1] = ++pairVal; - }; - processArray(deviationPairsArray, assignLambda2); + }; + devPairComboLoop(assignLambda); + auto checkLambda = [&deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) { + auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); + float* pair = deviationPairsArray[col][panel][mca][devPair]; + CHECK(pair[0] == expectedPair.first); + CHECK(pair[1] == expectedPair.second); + }; + devPairComboLoop(checkLambda); { - size_t i = 0, j = 0, k = 0, l = 0; - CHECK( deviationPairsArray[i][j][k][l][0] == 1.0F); - CHECK( deviationPairsArray[i][j][k][l][1] == 2.0F); + size_t i = 0, j = 0, k = 0, l = 0; + CHECK(deviationPairsArray[i][j][k][l][0] == 1.0F); + CHECK(deviationPairsArray[i][j][k][l][1] == 2.0F); } { - size_t i = 0, j = 0, k = 0, l = 9; - CHECK( deviationPairsArray[i][j][k][l][0] == 19.0F); - CHECK( deviationPairsArray[i][j][k][l][1] == 20.0F); + size_t i = 0, j = 0, k = 0, l = 9; + CHECK(deviationPairsArray[i][j][k][l][0] == 19.0F); + CHECK(deviationPairsArray[i][j][k][l][1] == 20.0F); } { - size_t i = 1, j = 2, k = 3, l = 4; - auto pair = getDeviationPair(i, j, k, l); - CHECK( deviationPairsArray[i][j][k][l][0] == pair.first); - CHECK( deviationPairsArray[i][j][k][l][1] == pair.second); + size_t i = 1, j = 2, k = 3, l = 4; + auto pair = getExpectedDeviationPair(i, j, k, l); + CHECK(deviationPairsArray[i][j][k][l][0] == pair.first); + CHECK(deviationPairsArray[i][j][k][l][1] == pair.second); } // Fortran deviation pairs array: real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxHardwareColumns]; - SpecUtils::mapCArrayToFortranArray(deviationPairsArray, fortranArray); + SpecUtils::PCF::mapCArrayToFortranArray(deviationPairsArray, fortranArray); { - size_t i = 0, j = 0, k = 0, l = 9; - CHECK( fortranArray[0][l][k][j][i] == 19.0F); - CHECK( fortranArray[1][l][k][j][i] == 20.0F); + size_t i = 0, j = 0, mca = 0, devPair = 9; + CHECK(fortranArray[0][devPair][mca][j][i] == 19.0F); + CHECK(fortranArray[1][devPair][mca][j][i] == 20.0F); } - + } diff --git a/unit_tests/test_string_functions.cpp b/unit_tests/test_string_functions.cpp index 7a5d574..1b0e7a5 100755 --- a/unit_tests/test_string_functions.cpp +++ b/unit_tests/test_string_functions.cpp @@ -39,6 +39,7 @@ #include "SpecUtils/Filesystem.h" #include "SpecUtils/StringAlgo.h" #include "SpecUtils/ParseUtils.h" +#include "SpecUtils/PcfUtils.h" using namespace std; @@ -831,7 +832,7 @@ TEST_CASE( "Find Source String") "Source: TestSource"}; auto expected = std::string("TestSource"); - auto actual = SpecUtils::get_source(remarks); + auto actual = SpecUtils::PCF::get_source(remarks); CHECK(actual == expected); @@ -844,7 +845,7 @@ TEST_CASE( "Find Description String") "Source: TestSource"}; auto expected = std::string("TestDescription"); - auto actual = SpecUtils::get_description(remarks); + auto actual = SpecUtils::PCF::get_description(remarks); CHECK(actual == expected); @@ -857,7 +858,7 @@ TEST_CASE( "No Description Yields Empty String") "Source: TestSource"}; auto expected = std::string(); - auto actual = SpecUtils::get_description(remarks); + auto actual = SpecUtils::PCF::get_description(remarks); CHECK(actual == expected); } @@ -869,7 +870,7 @@ TEST_CASE( "No Source Yields Empty String") "SourceYYYY: TestSource"}; auto expected = std::string(); - auto actual = SpecUtils::get_source(remarks); + auto actual = SpecUtils::PCF::get_source(remarks); CHECK(actual == expected); } From 0e27b1627346480baa33820a2df22e536bf0645a Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 18 Sep 2024 17:41:48 -0600 Subject: [PATCH 027/100] updates - add fortran round trip test --- SpecUtils/PcfUtils.h | 5 +- bindings/swig/fortran/SpecUtilsFortran.i | 2 + .../swig/fortran/SpecUtilsFortran_wrap.cxx | 21 +++ bindings/swig/fortran/SpecUtilsWrap.f90 | 41 +++++ .../swig/fortran/test_specutils_fortran.f90 | 152 +++++++++++++++++- 5 files changed, 218 insertions(+), 3 deletions(-) diff --git a/SpecUtils/PcfUtils.h b/SpecUtils/PcfUtils.h index 8602e90..5e007de 100644 --- a/SpecUtils/PcfUtils.h +++ b/SpecUtils/PcfUtils.h @@ -2,6 +2,8 @@ #include #include +#include + namespace SpecUtils { namespace PCF @@ -74,8 +76,7 @@ namespace SpecUtils return std::stoi(retVal); } - template - inline void mapDevPairsToArray(const SpecFileType &specFile, float (&fortranArray)[2][20][8][8][4]) + inline void mapDevPairsToArray(const SpecUtils::SpecFile &specFile, float fortranArray[2][20][8][8][4]) { const auto &measurements = specFile.measurements(); for (auto &m : measurements) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 639620c..647f537 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -201,3 +201,5 @@ namespace std { %ignore make_canonical_path; %include "SpecUtils/FileSystem.h" + +%include "SpecUtils/PcfUtils.h" \ No newline at end of file diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index b00ed36..361f20b 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -7914,5 +7914,26 @@ SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { } +SWIGEXPORT void _wrap_mapDevPairsToArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = 0 ; + float (*arg2)[20][8][8][4] ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::PCF::mapDevPairsToArray(SpecUtils::SpecFile const &,float [2][20][8][8][4])", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (float (*)[20][8][8][4])(farg2); + SpecUtils::PCF::mapDevPairsToArray((SpecUtils::SpecFile const &)*arg1,(float (*)[20][8][8][4])arg2); +} + + +SWIGEXPORT void _wrap_mapCArrayToFortranArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + float (*arg1)[8][8][20][2] ; + float (*arg2)[20][8][8][4] ; + + arg1 = (float (*)[8][8][20][2])(farg1); + arg2 = (float (*)[20][8][8][4])(farg2); + SpecUtils::PCF::mapCArrayToFortranArray((float const (*)[8][8][20][2])arg1,(float (*)[20][8][8][4])arg2); +} + + } // extern diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index fb891a1..8cd8507 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -842,6 +842,8 @@ module specutilswrap public :: lexically_normalize_path public :: load_file_data public :: likely_not_spec_file + public :: mapDevPairsToArray + public :: mapCArrayToFortranArray interface is_candidate_n42_file module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 end interface @@ -5498,6 +5500,21 @@ function swigc_likely_not_spec_file(farg1) & integer(C_INT) :: fresult end function +subroutine swigc_mapDevPairsToArray(farg1, farg2) & +bind(C, name="_wrap_mapDevPairsToArray") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR), value :: farg2 +end subroutine + +subroutine swigc_mapCArrayToFortranArray(farg1, farg2) & +bind(C, name="_wrap_mapCArrayToFortranArray") +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: farg1 +type(C_PTR), value :: farg2 +end subroutine + end interface @@ -12626,5 +12643,29 @@ function likely_not_spec_file(file) & call SWIGTM_fout_bool(fresult, swig_result) end function +subroutine mapDevPairsToArray(specfile0, fortranarray) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: specfile0 +real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray +type(SwigClassWrapper) :: farg1 +type(C_PTR) :: farg2 + +farg1 = specfile0%swigdata +farg2 = c_loc(fortranarray) +call swigc_mapDevPairsToArray(farg1, farg2) +end subroutine + +subroutine mapCArrayToFortranArray(carray, fortranarray) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), dimension(2,20,8,8,4), target :: carray +real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray +type(C_PTR) :: farg1 +type(C_PTR) :: farg2 + +farg1 = c_loc(carray) +farg2 = c_loc(fortranarray) +call swigc_mapCArrayToFortranArray(farg1, farg2) +end subroutine + end module diff --git a/bindings/swig/fortran/test_specutils_fortran.f90 b/bindings/swig/fortran/test_specutils_fortran.f90 index b061765..a536971 100644 --- a/bindings/swig/fortran/test_specutils_fortran.f90 +++ b/bindings/swig/fortran/test_specutils_fortran.f90 @@ -1,11 +1,161 @@ program TestSpecUtils use testdrive, only : error_type, check - implicit none + use specutilswrap + implicit none + call SpecUtilsRoundTrip() call DerivationPairMap() print *, "Success!" contains +subroutine SpecUtilsRoundTrip() +! use, intrinsic :: ISO_C_BINDING + type(error_type), allocatable :: error + type(SpecFile) :: sf + type(Measurement) :: m + character(len=:), allocatable :: filePath + character(len=:), allocatable :: title + integer :: istat, i + real :: sum + logical :: success + real, dimension(:), allocatable :: spectrum + type(FloatVector) :: coeffsIn + type(DeviationPairs) :: devPairsIn + type(DevPair) :: devPairVal + type(EnergyCalibration) :: ecalIn + + filePath = "spec-utils-round-trip.pcf" + if ( is_file(filePath) ) then + success = remove_file( filePath ) + call check( error, success ) + end if + + m = Measurement() + + call m%set_start_time_from_string("14-Nov-1995 12:17:41.43") + call m%set_title("SpecUtilsRoundTrip") + call m%set_description("TestDescription") + call m%set_source("TestSource") + call m%set_neutron_count(99.0) + + allocate( spectrum(128) ) + DO i = 1, 128 + spectrum(i) = i + END DO + call m%set_spectrum( spectrum ) + + call m%set_live_time(10.55) + call m%set_real_time(11.66) + + coeffsIn = FloatVector() + call coeffsIn%push_back(4.41) + call coeffsIn%push_back(3198.33) + call coeffsIn%push_back(1.0) + call coeffsIn%push_back(2.0) + + devPairsIn = DeviationPairs() + + do i=1,4 + devPairVal = DevPair(i+10.0, i*(-1.0)) + call devPairsIn%push_back(devPairVal) + call devPairVal%release() + end do + + ecalIn = EnergyCalibration() + call ecalIn%set_full_range_fraction(size(spectrum), coeffsIn, devPairsIn) + call m%set_energy_calibration(ecalIn) + + sf = SpecFile() + call sf%add_measurement(m) + call sf%write_to_file(filePath, SaveSpectrumAsType_Pcf) + + call SpecUtilsRoundTrip_Read(sf, filePath) + + call sf%release() + call coeffsIn%release() + call devPairsIn%release() + call ecalIn%release() + call m%release() + +end subroutine + +subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) + type(SpecFile), intent(in) :: expectedSpecFile + type(error_type), allocatable :: error + type(SpecFile) :: actualSpecFile + type(Measurement) :: expM, actM + character(len=:), allocatable, intent(in) :: filePath + character(len=:), allocatable :: title + integer :: istat, i, numChannels + logical :: success + real, dimension(:), allocatable :: expSpectrum, actSpectrum + type(EnergyCalibration) :: ecalAct, ecalExp + type(FloatVector) :: coeffsAct, coeffsExp + type(DeviationPairs) :: devPairsAct, devPairsExp + type(DevPair) :: devPairAct, devPairExp + + actualSpecFile = SpecFile() + success = actualSpecFile%load_file(filePath, ParserType_Auto) + call check(error, success) + + expM = expectedSpecFile%measurement_at(1) + actM = actualSpecFile%measurement_at(1) + + call check(error, actM%title(), expM%title() ) + call check(error, actM%get_description(), expM%get_description() ) + call check(error, actM%get_source(), expM%get_source() ) + call check(error, actM%get_start_time_string(), expM%get_start_time_string() ) + call check(error, actM%live_time() .gt. 0.0) + call check(error, actM%live_time(), expM%live_time() ) + + call check(error, actM%get_neutron_count() .gt. 0.0 ) + call check(error, actM%get_neutron_count(), expM%get_neutron_count() ) + + numChannels = expM%get_num_channels() + allocate(expSpectrum(numChannels)) + call expM%get_spectrum(expSpectrum) + call check(error, size(expSpectrum), 128) + + numChannels = actM%get_num_channels() + allocate(actSpectrum(numChannels)) + call actM%get_spectrum(actSpectrum) + call check(error, size(actSpectrum), 128) + + do i=1, numChannels + call check( error, actSpectrum(i) .gt. 0 ) + call check( error, actSpectrum(i), expSpectrum(i) ) + end do + + ecalAct = actM%energy_calibration() + ecalExp = expM%energy_calibration() + + coeffsAct = ecalAct%coefficients() + coeffsExp = ecalExp%coefficients() + + do i = 1,coeffsExp%size() + call check(error, coeffsAct%get(i) .gt. 0.0) + call check(error, coeffsAct%get(i), coeffsExp%get(i)) + end do + + devPairsAct = ecalAct%deviation_pairs() + devPairsExp = ecalExp%deviation_pairs() + + do i = 1, devPairsExp%size() + devPairAct = devPairsAct%get(i) + devPairExp = devPairsExp%get(i) + + call check(error, devPairAct%get_first(), devPairExp%get_first()) + call check(error, devPairAct%get_second(), devPairExp%get_second()) + end do + + call ecalAct%release() + call ecalExp%release() + call expM%release() + call actM%release() + call actualSpecFile%release() +end subroutine + + subroutine DerivationPairMap() type(error_type), allocatable :: error call check(error, 0, 0) From 62e653c4e2ee386171b24e3baf5ed9506e2102c7 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Fri, 20 Sep 2024 17:05:45 -0600 Subject: [PATCH 028/100] checkpoint * add pcf extension classes - this is the way --- CMakeLists.txt | 1 + SpecUtils/PcfExtensions.h | 217 ++++++ SpecUtils/PcfUtils.h | 121 ---- SpecUtils/SpecFile.h | 10 +- bindings/swig/fortran/SpecUtilsFortran.i | 58 +- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 392 ++++++++--- bindings/swig/fortran/SpecUtilsWrap.f90 | 630 ++++++++++++++---- .../swig/fortran/test_specutils_fortran.f90 | 75 ++- src/SpecFile_pcf.cpp | 2 +- unit_tests/test_spec_file.cpp | 89 +-- 10 files changed, 1106 insertions(+), 489 deletions(-) create mode 100644 SpecUtils/PcfExtensions.h delete mode 100644 SpecUtils/PcfUtils.h diff --git a/CMakeLists.txt b/CMakeLists.txt index f3dcd8c..60f051f 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -169,6 +169,7 @@ set( headers SpecUtils/Filesystem.h SpecUtils/DateTime.h SpecUtils/ParseUtils.h + SpecUtils/PcfExtensions.h SpecUtils/SpecFile_location.h SpecUtils/RapidXmlUtils.hpp ) diff --git a/SpecUtils/PcfExtensions.h b/SpecUtils/PcfExtensions.h new file mode 100644 index 0000000..196edb3 --- /dev/null +++ b/SpecUtils/PcfExtensions.h @@ -0,0 +1,217 @@ +#pragma once +#include +#include +#include +#include + +#include +#include +#include + +namespace SpecUtils +{ + namespace PCF + { + + class MeasurementExt : public SpecUtils::Measurement + { + public: + void set_description(const std::string &description) + { + auto &remarks = remarks_; + + // If there is already a description, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) + { + if (SpecUtils::istarts_with(*it, "Description:")) + it = remarks.erase(it); + it++; + } + remarks.push_back("Description: " + description); + } + + void set_source(const std::string &source) + { + auto &remarks = remarks_; + + // If there is already a source, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) + { + if (SpecUtils::istarts_with(*it, "source:")) + it = remarks.erase(it); + it++; + } + remarks.push_back("Source: " + source); + } + + std::string get_description() const + { + auto retVal = std::string(); + auto descrOffset = 12U; + for (auto str : remarks_) + { + if (SpecUtils::istarts_with(str, "Description:")) + { + retVal = str.substr(descrOffset); + trim(retVal); + break; + } + } + return retVal; + } + + std::string get_source() const + { + auto retVal = std::string(); + auto sourceStringOffset = 8U; + for (auto str : remarks_) + { + if (SpecUtils::istarts_with(str, "Source:")) + { + retVal = str.substr(sourceStringOffset); + trim(retVal); + break; + } + } + return retVal; + } + }; + + class EnergyCalibrationExt : public SpecUtils::EnergyCalibration + { + public: + SpecUtils::DeviationPairs &get_dev_pairs() + { + return m_deviation_pairs; + } + }; + + class PcfFile : public SpecUtils::SpecFile + { + public: + void read(const std::string &fname) + { + auto success = load_pcf_file(fname); + if (!success) + { + throw std::runtime_error("I couldn't open \"" + fname + "\""); + } + } + void add_measurement_ext(std::shared_ptr m) + { + this->add_measurement(m); + } + + std::shared_ptr get_measurement_at(int index) + { + auto m = measurements_.at(index); + return std::dynamic_pointer_cast(m); + } + + virtual std::shared_ptr make_measurement() + { + return std::make_shared(); + } + }; + + template + inline void set_panel(int panel, StringVec &remarks) + { + // If there is already a description, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) + { + if (SpecUtils::istarts_with(*it, "panel:")) + it = remarks.erase(it); + it++; + } + std::ostringstream sstrm; + sstrm << "panel: " << panel; + remarks.push_back(sstrm.str()); + } + + template + inline void set_column(int column, StringVec &remarks) + { + // If there is already a description, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) + { + if (SpecUtils::istarts_with(*it, "column:")) + it = remarks.erase(it); + it++; + } + std::ostringstream sstrm; + sstrm << "column: " << column; + remarks.push_back(sstrm.str()); + } + + template + inline int get_panel(const StringVec &vec) + { + auto retVal = std::string(); + auto offset = 6U; + for (auto str : vec) + { + if (SpecUtils::istarts_with(str, "panel:")) + { + retVal = str.substr(offset); + trim(retVal); + break; + } + } + return std::stoi(retVal); + } + + inline void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]); + + inline void mapDevPairsToArray(const SpecUtils::SpecFile &specFile, float fortranArray[2][20][8][8][4]) + { + const auto &measurements = specFile.measurements(); + mapDevPairsToArray(measurements, fortranArray); + } + + void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]) + { + // for (auto &m : measurements) + // { + // auto &remarks = m->remarks(); + // auto column = get_column(); + // auto panel = get_panel(); + // auto mca = m->detector_number(); + // auto &devPairs = m->deviation_pairs(); + // auto devPairIdx = 0; + // for (auto &devPair : devPairs) + // { + // fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; + // fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; + // devPairIdx++; + // } + // } + } + + // Function to map C array to Fortran array + inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) + { + for (size_t i = 0; i < 4; ++i) + { + for (size_t j = 0; j < 8; ++j) + { + for (size_t k = 0; k < 8; ++k) + { + for (size_t l = 0; l < 20; ++l) + { + for (size_t m = 0; m < 2; ++m) + { + fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; + } + } + } + } + } + } + + } // namespace PCF +} // namespace SpecUtils \ No newline at end of file diff --git a/SpecUtils/PcfUtils.h b/SpecUtils/PcfUtils.h deleted file mode 100644 index 5e007de..0000000 --- a/SpecUtils/PcfUtils.h +++ /dev/null @@ -1,121 +0,0 @@ -#pragma once -#include -#include - -#include - -namespace SpecUtils -{ - namespace PCF - { - template - inline std::string get_source(const StringVec &vec) - { - auto retVal = std::string(); - auto sourceStringOffset = 8U; - for (auto str : vec) - { - if (SpecUtils::istarts_with(str, "Source:")) - { - retVal = str.substr(sourceStringOffset); - trim(retVal); - break; - } - } - return retVal; - } - - template - inline std::string get_description(const StringVec &vec) - { - auto retVal = std::string(); - auto descrOffset = 12U; - for (auto str : vec) - { - if (SpecUtils::istarts_with(str, "Description:")) - { - retVal = str.substr(descrOffset); - trim(retVal); - break; - } - } - return retVal; - } - - template - inline int get_column(const StringVec &vec) - { - auto retVal = std::string(); - auto offset = 7U; - for (auto str : vec) - { - if (SpecUtils::istarts_with(str, "column:")) - { - retVal = str.substr(offset); - trim(retVal); - break; - } - } - return std::stoi(retVal); - } - - template - inline int get_panel(const StringVec &vec) - { - auto retVal = std::string(); - auto offset = 6U; - for (auto str : vec) - { - if (SpecUtils::istarts_with(str, "panel:")) - { - retVal = str.substr(offset); - trim(retVal); - break; - } - } - return std::stoi(retVal); - } - - inline void mapDevPairsToArray(const SpecUtils::SpecFile &specFile, float fortranArray[2][20][8][8][4]) - { - const auto &measurements = specFile.measurements(); - for (auto &m : measurements) - { - auto &remarks = m->remarks(); - auto column = get_column(remarks); - auto panel = get_panel(remarks); - auto mca = m->detector_number(); - auto &devPairs = m->deviation_pairs(); - auto devPairIdx = 0; - for (auto &devPair : devPairs) - { - fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; - fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; - devPairIdx++; - } - } - } - - // Function to map C array to Fortran array - inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) - { - for (size_t i = 0; i < 4; ++i) - { - for (size_t j = 0; j < 8; ++j) - { - for (size_t k = 0; k < 8; ++k) - { - for (size_t l = 0; l < 20; ++l) - { - for (size_t m = 0; m < 2; ++m) - { - fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; - } - } - } - } - } - } - - } // namespace PCF -} // namespace SpecUtils \ No newline at end of file diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index ba8e707..a74461c 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -519,6 +519,7 @@ class Measurement { public: Measurement(); + virtual ~Measurement() {} // Virtual destructor to enable RTTI //operator=: operates as expected for most member variables. Smart pointer // to const objects (channel data and channel energies) are shallow copied. @@ -653,8 +654,7 @@ class Measurement // SpecFile::remarks(). const std::vector &remarks() const; - /// @brief get a mutable reference to remarks - std::vector &remarks() + std::vector &mutable_remarks() { return remarks_; } @@ -2675,6 +2675,12 @@ class SpecFile protected: /** This mutex protects all member variables. ... keep documenting locking model the retest with fb infer add mutext to Measurement, and a CMake option to turn-off thread safety (and also defaults to off) ... will need to convert return by refernces to return by value for thread safe functions. */ mutable std::recursive_mutex mutex_; + + /// @brief Allow subclasses to customize measurement class + virtual std::shared_ptr make_measurement() + { + return std::make_shared(); + } public: diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 647f537..2196dd9 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -7,7 +7,7 @@ #include #include #include -#include +#include %} @@ -25,7 +25,9 @@ namespace std { %include "std_shared_ptr.i" %shared_ptr(vector) %shared_ptr(SpecUtils::Measurement) +%shared_ptr(SpecUtils::PCF::MeasurementExt) %shared_ptr(SpecUtils::EnergyCalibration) +%shared_ptr(SpecUtils::PCF::EnergyCalibrationExt) //%shared_ptr(std::vector) // this casued me problems -hugh %include "std_string.i" @@ -68,18 +70,6 @@ namespace std { return $self->gamma_counts()->size(); } - std::string get_description() - { - auto &remarks = $self->remarks(); - return SpecUtils::PCF::get_description(remarks); - } - - std::string get_source() - { - auto &remarks = $self->remarks(); - return SpecUtils::PCF::get_source(remarks); - } - std::string get_start_time_string() { auto timeStr = SpecUtils::to_vax_string( $self->start_time() ); @@ -91,37 +81,7 @@ namespace std { auto tp = SpecUtils::time_from_string(time_str); $self->set_start_time(tp); } - - void set_description(std::string description) - { - auto remarks = $self->remarks(); - - // If there is already a description, remove it first. - auto it = remarks.begin(); - for(; it != remarks.end(); ) { - if(SpecUtils::istarts_with(*it, "Description:")) - it = remarks.erase(it); - it++; - } - remarks.push_back( "Description: " + description ); - $self->set_remarks(remarks); - } - - void set_source(std::string source) - { - auto remarks = $self->remarks(); - - // If there is already a source, remove it first. - auto it = remarks.begin(); - for(; it != remarks.end(); ) { - if(SpecUtils::istarts_with(*it, "source:")) - it = remarks.erase(it); - it++; - } - remarks.push_back( "Source: " + source ); - $self->set_remarks(remarks); - } - + void set_neutron_count(float count) { SpecUtils::FloatVec ncounts{count}; @@ -198,8 +158,16 @@ namespace std { %include "SpecUtils/EnergyCalibration.h" +%extend SpecUtils::EnergyCalibration +{ + // void set_deviation_pairs(std::vector> devPairs) + // { + // $self->m_deviation_pairs = devPairs; + // } +} + %ignore make_canonical_path; %include "SpecUtils/FileSystem.h" -%include "SpecUtils/PcfUtils.h" \ No newline at end of file +%include "SpecUtils/PcfExtensions.h" diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 361f20b..71ec107 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -218,8 +218,12 @@ enum AssignmentType { #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_PCF_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_PCF_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_PCF_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_PCF_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_Measurement swig::ASSIGNMENT_SMARTPTR #define SWIGPOLICY_SpecUtils_SpecFile swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_DetectorAnalysisResult swig::ASSIGNMENT_DEFAULT @@ -228,6 +232,9 @@ enum AssignmentType { #define SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_SMARTPTR +#define SWIGPOLICY_SpecUtils_PCF_MeasurementExt swig::ASSIGNMENT_SMARTPTR +#define SWIGPOLICY_SpecUtils_PCF_EnergyCalibrationExt swig::ASSIGNMENT_SMARTPTR +#define SWIGPOLICY_SpecUtils_PCF_PcfFile swig::ASSIGNMENT_DEFAULT #ifdef __cplusplus #include @@ -299,7 +306,7 @@ template T SwigValueInit() { #include #include #include -#include +#include #include @@ -581,14 +588,6 @@ SWIGINTERN float SpecUtils_Measurement_gamma_count_at(SpecUtils::Measurement *se SWIGINTERN size_t SpecUtils_Measurement_get_num_channels(SpecUtils::Measurement *self){ return self->gamma_counts()->size(); } -SWIGINTERN std::string SpecUtils_Measurement_get_description(SpecUtils::Measurement *self){ - auto &remarks = self->remarks(); - return SpecUtils::PCF::get_description(remarks); - } -SWIGINTERN std::string SpecUtils_Measurement_get_source(SpecUtils::Measurement *self){ - auto &remarks = self->remarks(); - return SpecUtils::PCF::get_source(remarks); - } SWIGINTERN std::string SpecUtils_Measurement_get_start_time_string(SpecUtils::Measurement *self){ auto timeStr = SpecUtils::to_vax_string( self->start_time() ); return timeStr; @@ -597,32 +596,6 @@ SWIGINTERN void SpecUtils_Measurement_set_start_time_from_string(SpecUtils::Meas auto tp = SpecUtils::time_from_string(time_str); self->set_start_time(tp); } -SWIGINTERN void SpecUtils_Measurement_set_description(SpecUtils::Measurement *self,std::string description){ - auto remarks = self->remarks(); - - // If there is already a description, remove it first. - auto it = remarks.begin(); - for(; it != remarks.end(); ) { - if(SpecUtils::istarts_with(*it, "Description:")) - it = remarks.erase(it); - it++; - } - remarks.push_back( "Description: " + description ); - self->set_remarks(remarks); - } -SWIGINTERN void SpecUtils_Measurement_set_source(SpecUtils::Measurement *self,std::string source){ - auto remarks = self->remarks(); - - // If there is already a source, remove it first. - auto it = remarks.begin(); - for(; it != remarks.end(); ) { - if(SpecUtils::istarts_with(*it, "source:")) - it = remarks.erase(it); - it++; - } - remarks.push_back( "Source: " + source ); - self->set_remarks(remarks); - } SWIGINTERN void SpecUtils_Measurement_set_neutron_count(SpecUtils::Measurement *self,float count){ SpecUtils::FloatVec ncounts{count}; self->set_neutron_counts(ncounts, 0.0F); @@ -1484,6 +1457,16 @@ SWIGEXPORT SwigClassWrapper _wrap_new_Measurement() { } +SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (void)arg1; delete smartarg1; +} + + SWIGEXPORT int _wrap_Measurement_memmorysize(SwigClassWrapper *farg1) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -1863,7 +1846,7 @@ SWIGEXPORT int _wrap_Measurement_source_type(SwigClassWrapper *farg1) { } -SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks__SWIG_0(SwigClassWrapper *farg1) { +SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; @@ -1878,6 +1861,21 @@ SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks__SWIG_0(SwigClassWrapper * } +SWIGEXPORT SwigClassWrapper _wrap_Measurement_mutable_remarks(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::vector< std::string > *result = 0 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &(arg1)->mutable_remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + SWIGEXPORT SwigClassWrapper _wrap_Measurement_parse_warnings(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2563,46 +2561,6 @@ SWIGEXPORT int _wrap_Measurement_get_num_channels(SwigClassWrapper *farg1) { } -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_description(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string result; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = SpecUtils_Measurement_get_description(arg1); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_source(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string result; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = SpecUtils_Measurement_get_source(arg1); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_start_time_string(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2635,30 +2593,6 @@ SWIGEXPORT void _wrap_Measurement_set_start_time_from_string(SwigClassWrapper *f } -SWIGEXPORT void _wrap_Measurement_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SpecUtils_Measurement_set_description(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_Measurement_set_source(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SpecUtils_Measurement_set_source(arg1,SWIG_STD_MOVE(arg2)); -} - - SWIGEXPORT void _wrap_Measurement_set_neutron_count(SwigClassWrapper *farg1, float const *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; float arg2 ; @@ -2713,16 +2647,6 @@ SWIGEXPORT void _wrap_Measurement_get_spectrum(SwigClassWrapper *farg1, SwigArra } -SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (void)arg1; delete smartarg1; -} - - SWIGEXPORT void _wrap_Measurement_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; SpecUtils::Measurement *arg2 = 0 ; @@ -7914,7 +7838,253 @@ SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { } -SWIGEXPORT void _wrap_mapDevPairsToArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT void _wrap_MeasurementExt_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_description((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_MeasurementExt_set_source(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_source((std::string const &)*arg2); +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_description(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt const > *smartarg1 ; + std::string result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + result = ((SpecUtils::PCF::MeasurementExt const *)arg1)->get_description(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_source(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt const > *smartarg1 ; + std::string result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + result = ((SpecUtils::PCF::MeasurementExt const *)arg1)->get_source(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementExt() { + SwigClassWrapper fresult ; + SpecUtils::PCF::MeasurementExt *result = 0 ; + + result = (SpecUtils::PCF::MeasurementExt *)new SpecUtils::PCF::MeasurementExt(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::PCF::MeasurementExt >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT void _wrap_delete_MeasurementExt(SwigClassWrapper *farg1) { + SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + (void)arg1; delete smartarg1; +} + + +SWIGEXPORT void _wrap_MeasurementExt_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + SpecUtils::PCF::MeasurementExt *arg2 = 0 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_SpecUtils_PCF_MeasurementExt>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_dev_pairs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::PCF::EnergyCalibrationExt *arg1 = (SpecUtils::PCF::EnergyCalibrationExt *) 0 ; + std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt > *smartarg1 ; + SpecUtils::DeviationPairs *result = 0 ; + + smartarg1 = (std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + result = (SpecUtils::DeviationPairs *) &(arg1)->get_dev_pairs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibrationExt() { + SwigClassWrapper fresult ; + SpecUtils::PCF::EnergyCalibrationExt *result = 0 ; + + result = (SpecUtils::PCF::EnergyCalibrationExt *)new SpecUtils::PCF::EnergyCalibrationExt(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT void _wrap_delete_EnergyCalibrationExt(SwigClassWrapper *farg1) { + SpecUtils::PCF::EnergyCalibrationExt *arg1 = (SpecUtils::PCF::EnergyCalibrationExt *) 0 ; + std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + (void)arg1; delete smartarg1; +} + + +SWIGEXPORT void _wrap_EnergyCalibrationExt_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::PCF::EnergyCalibrationExt *arg1 = (SpecUtils::PCF::EnergyCalibrationExt *) 0 ; + SpecUtils::PCF::EnergyCalibrationExt *arg2 = 0 ; + std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::PCF::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_SpecUtils_PCF_EnergyCalibrationExt>(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_PcfFile_read(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::read(std::string const &)", return ); + arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->read((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_PcfFile_add_measurement_ext(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt > arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::add_measurement_ext(std::shared_ptr< SpecUtils::PCF::MeasurementExt >)", return ); + arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + (arg1)->add_measurement_ext(arg2); +} + + +SWIGEXPORT SwigClassWrapper _wrap_PcfFile_get_measurement_at(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::PCF::MeasurementExt > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::get_measurement_at(int)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + arg2 = (int)(*farg2); + result = (arg1)->get_measurement_at(arg2); + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::PCF::MeasurementExt >(static_cast< const std::shared_ptr< SpecUtils::PCF::MeasurementExt >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_PcfFile_make_measurement(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + std::shared_ptr< SpecUtils::Measurement > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::make_measurement()", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + result = (arg1)->make_measurement(); + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_PcfFile() { + SwigClassWrapper fresult ; + SpecUtils::PCF::PcfFile *result = 0 ; + + result = (SpecUtils::PCF::PcfFile *)new SpecUtils::PCF::PcfFile(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_PcfFile(SwigClassWrapper *farg1) { + SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + + arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_PcfFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + SpecUtils::PCF::PcfFile *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_mapDevPairsToArray__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg1 = 0 ; + float (*arg2)[20][8][8][4] ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::PCF::mapDevPairsToArray(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &,float [2][20][8][8][4])", return ); + arg1 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg1->cptr; + arg2 = (float (*)[20][8][8][4])(farg2); + SpecUtils::PCF::mapDevPairsToArray((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg1,(float (*)[20][8][8][4])arg2); +} + + +SWIGEXPORT void _wrap_mapDevPairsToArray__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::SpecFile *arg1 = 0 ; float (*arg2)[20][8][8][4] ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 8cd8507..4829fa5 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -285,6 +285,7 @@ module specutilswrap type, public :: Measurement type(SwigClassWrapper), public :: swigdata contains + procedure :: release => swigf_Measurement_release procedure :: memmorysize => swigf_Measurement_memmorysize procedure :: live_time => swigf_Measurement_live_time procedure :: set_live_time => swigf_Measurement_set_live_time @@ -311,7 +312,8 @@ module specutilswrap procedure :: detector_type => swigf_Measurement_detector_type procedure :: quality_status => swigf_Measurement_quality_status procedure :: source_type => swigf_Measurement_source_type - procedure, private :: swigf_Measurement_remarks__SWIG_0 + procedure :: remarks => swigf_Measurement_remarks + procedure :: mutable_remarks => swigf_Measurement_mutable_remarks procedure :: parse_warnings => swigf_Measurement_parse_warnings procedure :: start_time => swigf_Measurement_start_time procedure :: start_time_copy => swigf_Measurement_start_time_copy @@ -358,20 +360,14 @@ module specutilswrap procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node procedure :: gamma_count_at => swigf_Measurement_gamma_count_at procedure :: get_num_channels => swigf_Measurement_get_num_channels - procedure :: get_description => swigf_Measurement_get_description - procedure :: get_source => swigf_Measurement_get_source procedure :: get_start_time_string => swigf_Measurement_get_start_time_string procedure :: set_start_time_from_string => swigf_Measurement_set_start_time_from_string - procedure :: set_description => swigf_Measurement_set_description - procedure :: set_source => swigf_Measurement_set_source procedure :: set_neutron_count => swigf_Measurement_set_neutron_count procedure :: get_neutron_count => swigf_Measurement_get_neutron_count procedure :: set_spectrum => swigf_Measurement_set_spectrum procedure :: get_spectrum => swigf_Measurement_get_spectrum - procedure :: release => swigf_Measurement_release procedure, private :: swigf_Measurement_op_assign__ generic :: assignment(=) => swigf_Measurement_op_assign__ - generic :: remarks => swigf_Measurement_remarks__SWIG_0 generic :: set_neutron_counts => swigf_Measurement_set_neutron_counts__SWIG_0, swigf_Measurement_set_neutron_counts__SWIG_1 end type Measurement type, public :: SWIGTYPE_p_std__vectorT_int_t @@ -842,7 +838,36 @@ module specutilswrap public :: lexically_normalize_path public :: load_file_data public :: likely_not_spec_file - public :: mapDevPairsToArray + ! class SpecUtils::PCF::MeasurementExt + type, extends(Measurement), public :: MeasurementExt + contains + procedure :: set_description => swigf_MeasurementExt_set_description + procedure :: set_source => swigf_MeasurementExt_set_source + procedure :: get_description => swigf_MeasurementExt_get_description + procedure :: get_source => swigf_MeasurementExt_get_source + procedure :: release => swigf_MeasurementExt_release + procedure, private :: swigf_MeasurementExt_op_assign__ + generic :: assignment(=) => swigf_MeasurementExt_op_assign__ + end type MeasurementExt + ! class SpecUtils::PCF::EnergyCalibrationExt + type, extends(EnergyCalibration), public :: EnergyCalibrationExt + contains + procedure :: get_dev_pairs => swigf_EnergyCalibrationExt_get_dev_pairs + procedure :: release => swigf_EnergyCalibrationExt_release + procedure, private :: swigf_EnergyCalibrationExt_op_assign__ + generic :: assignment(=) => swigf_EnergyCalibrationExt_op_assign__ + end type EnergyCalibrationExt + ! class SpecUtils::PCF::PcfFile + type, extends(SpecFile), public :: PcfFile + contains + procedure :: read => swigf_PcfFile_read + procedure :: add_measurement_ext => swigf_PcfFile_add_measurement_ext + procedure :: get_measurement_at => swigf_PcfFile_get_measurement_at + procedure :: make_measurement => swigf_PcfFile_make_measurement + procedure :: release => swigf_PcfFile_release + procedure, private :: swigf_PcfFile_op_assign__ + generic :: assignment(=) => swigf_PcfFile_op_assign__ + end type PcfFile public :: mapCArrayToFortranArray interface is_candidate_n42_file module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 @@ -873,6 +898,10 @@ module specutilswrap module procedure swigf_new_DeviationPairs__SWIG_0, swigf_new_DeviationPairs__SWIG_1, swigf_new_DeviationPairs__SWIG_2, & swigf_new_DeviationPairs__SWIG_3 end interface + interface mapDevPairsToArray + module procedure swigf_mapDevPairsToArray__SWIG_0, swigf_mapDevPairsToArray__SWIG_1 + end interface + public :: mapDevPairsToArray interface recursive_ls module procedure swigf_recursive_ls__SWIG_0, swigf_recursive_ls__SWIG_1, swigf_recursive_ls__SWIG_2 end interface @@ -885,6 +914,12 @@ module specutilswrap interface EnergyCalibration module procedure swigf_new_EnergyCalibration end interface + interface MeasurementExt + module procedure swigf_new_MeasurementExt + end interface + interface PcfFile + module procedure swigf_new_PcfFile + end interface interface SpecFile module procedure swigf_new_SpecFile__SWIG_0, swigf_new_SpecFile__SWIG_1 end interface @@ -902,6 +937,9 @@ module specutilswrap interface MultimediaData module procedure swigf_new_MultimediaData end interface + interface EnergyCalibrationExt + module procedure swigf_new_EnergyCalibrationExt + end interface ! FUNCTION POINTER DECLARATIONS abstract interface @@ -1448,6 +1486,13 @@ function swigc_new_Measurement() & type(SwigClassWrapper) :: fresult end function +subroutine swigc_delete_Measurement(farg1) & +bind(C, name="_wrap_delete_Measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + function swigc_Measurement_memmorysize(farg1) & bind(C, name="_wrap_Measurement_memmorysize") & result(fresult) @@ -1683,8 +1728,17 @@ function swigc_Measurement_source_type(farg1) & integer(C_INT) :: fresult end function -function swigc_Measurement_remarks__SWIG_0(farg1) & -bind(C, name="_wrap_Measurement_remarks__SWIG_0") & +function swigc_Measurement_remarks(farg1) & +bind(C, name="_wrap_Measurement_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_mutable_remarks(farg1) & +bind(C, name="_wrap_Measurement_mutable_remarks") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper @@ -2108,26 +2162,6 @@ function swigc_Measurement_get_num_channels(farg1) & integer(C_INT) :: fresult end function -function swigc_Measurement_get_description(farg1) & -bind(C, name="_wrap_Measurement_get_description") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_Measurement_get_source(farg1) & -bind(C, name="_wrap_Measurement_get_source") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - function swigc_Measurement_get_start_time_string(farg1) & bind(C, name="_wrap_Measurement_get_start_time_string") & result(fresult) @@ -2147,24 +2181,6 @@ subroutine swigc_Measurement_set_start_time_from_string(farg1, farg2) & type(SwigArrayWrapper) :: farg2 end subroutine -subroutine swigc_Measurement_set_description(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_description") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_source(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_source") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - subroutine swigc_Measurement_set_neutron_count(farg1, farg2) & bind(C, name="_wrap_Measurement_set_neutron_count") use, intrinsic :: ISO_C_BINDING @@ -2200,13 +2216,6 @@ subroutine swigc_Measurement_get_spectrum(farg1, farg2) & type(SwigArrayWrapper) :: farg2 end subroutine -subroutine swigc_delete_Measurement(farg1) & -bind(C, name="_wrap_delete_Measurement") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - subroutine swigc_Measurement_op_assign__(farg1, farg2) & bind(C, name="_wrap_Measurement_op_assign__") use, intrinsic :: ISO_C_BINDING @@ -5500,8 +5509,168 @@ function swigc_likely_not_spec_file(farg1) & integer(C_INT) :: fresult end function -subroutine swigc_mapDevPairsToArray(farg1, farg2) & -bind(C, name="_wrap_mapDevPairsToArray") +subroutine swigc_MeasurementExt_set_description(farg1, farg2) & +bind(C, name="_wrap_MeasurementExt_set_description") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_MeasurementExt_set_source(farg1, farg2) & +bind(C, name="_wrap_MeasurementExt_set_source") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MeasurementExt_get_description(farg1) & +bind(C, name="_wrap_MeasurementExt_get_description") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_MeasurementExt_get_source(farg1) & +bind(C, name="_wrap_MeasurementExt_get_source") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_new_MeasurementExt() & +bind(C, name="_wrap_new_MeasurementExt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_MeasurementExt(farg1) & +bind(C, name="_wrap_delete_MeasurementExt") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_MeasurementExt_op_assign__(farg1, farg2) & +bind(C, name="_wrap_MeasurementExt_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_EnergyCalibrationExt_get_dev_pairs(farg1) & +bind(C, name="_wrap_EnergyCalibrationExt_get_dev_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_EnergyCalibrationExt() & +bind(C, name="_wrap_new_EnergyCalibrationExt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_EnergyCalibrationExt(farg1) & +bind(C, name="_wrap_delete_EnergyCalibrationExt") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_EnergyCalibrationExt_op_assign__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibrationExt_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_PcfFile_read(farg1, farg2) & +bind(C, name="_wrap_PcfFile_read") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_PcfFile_add_measurement_ext(farg1, farg2) & +bind(C, name="_wrap_PcfFile_add_measurement_ext") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_PcfFile_get_measurement_at(farg1, farg2) & +bind(C, name="_wrap_PcfFile_get_measurement_at") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_PcfFile_make_measurement(farg1) & +bind(C, name="_wrap_PcfFile_make_measurement") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_PcfFile() & +bind(C, name="_wrap_new_PcfFile") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_PcfFile(farg1) & +bind(C, name="_wrap_delete_PcfFile") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_PcfFile_op_assign__(farg1, farg2) & +bind(C, name="_wrap_PcfFile_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_mapDevPairsToArray__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_mapDevPairsToArray__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR), value :: farg2 +end subroutine + +subroutine swigc_mapDevPairsToArray__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_mapDevPairsToArray__SWIG_1") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 @@ -6365,6 +6534,20 @@ function swigf_new_Measurement() & self%swigdata = fresult end function +subroutine swigf_Measurement_release(self) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_Measurement(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + function swigf_Measurement_memmorysize(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -6704,7 +6887,20 @@ function swigf_Measurement_source_type(self) & swig_result = fresult end function -function swigf_Measurement_remarks__SWIG_0(self) & +function swigf_Measurement_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_remarks(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_mutable_remarks(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result @@ -6713,7 +6909,7 @@ function swigf_Measurement_remarks__SWIG_0(self) & type(SwigClassWrapper) :: farg1 farg1 = self%swigdata -fresult = swigc_Measurement_remarks__SWIG_0(farg1) +fresult = swigc_Measurement_mutable_remarks(farg1) swig_result%swigdata = fresult end function @@ -7349,34 +7545,6 @@ function swigf_Measurement_get_num_channels(self) & swig_result = fresult end function -function swigf_Measurement_get_description(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_get_description(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_Measurement_get_source(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_get_source(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - function swigf_Measurement_get_start_time_string(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -7404,32 +7572,6 @@ subroutine swigf_Measurement_set_start_time_from_string(self, time_str) call swigc_Measurement_set_start_time_from_string(farg1, farg2) end subroutine -subroutine swigf_Measurement_set_description(self, description) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: description -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) -call swigc_Measurement_set_description(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_source(self, source) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: source -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(source, farg2, farg2_temp) -call swigc_Measurement_set_source(farg1, farg2) -end subroutine - subroutine swigf_Measurement_set_neutron_count(self, count) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(in) :: self @@ -7495,20 +7637,6 @@ subroutine swigf_Measurement_get_spectrum(self, spectrum) call swigc_Measurement_get_spectrum(farg1, farg2) end subroutine -subroutine swigf_Measurement_release(self) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_Measurement(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - subroutine swigf_Measurement_op_assign__(self, other) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(inout) :: self @@ -12643,7 +12771,251 @@ function likely_not_spec_file(file) & call SWIGTM_fout_bool(fresult, swig_result) end function -subroutine mapDevPairsToArray(specfile0, fortranarray) +subroutine swigf_MeasurementExt_set_description(self, description) +use, intrinsic :: ISO_C_BINDING +class(MeasurementExt), intent(in) :: self +character(len=*), intent(in) :: description +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) +call swigc_MeasurementExt_set_description(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementExt_set_source(self, source) +use, intrinsic :: ISO_C_BINDING +class(MeasurementExt), intent(in) :: self +character(len=*), intent(in) :: source +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(source, farg2, farg2_temp) +call swigc_MeasurementExt_set_source(farg1, farg2) +end subroutine + +function swigf_MeasurementExt_get_description(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MeasurementExt), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementExt_get_description(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_MeasurementExt_get_source(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MeasurementExt), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementExt_get_source(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_new_MeasurementExt() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementExt) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_MeasurementExt() +self%swigdata = fresult +end function + +subroutine swigf_MeasurementExt_release(self) +use, intrinsic :: ISO_C_BINDING +class(MeasurementExt), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_MeasurementExt(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_MeasurementExt_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(MeasurementExt), intent(inout) :: self +type(MeasurementExt), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_MeasurementExt_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_EnergyCalibrationExt_get_dev_pairs(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: swig_result +class(EnergyCalibrationExt), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibrationExt_get_dev_pairs(farg1) +swig_result%swigdata = fresult +end function + +function swigf_new_EnergyCalibrationExt() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibrationExt) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_EnergyCalibrationExt() +self%swigdata = fresult +end function + +subroutine swigf_EnergyCalibrationExt_release(self) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibrationExt), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_EnergyCalibrationExt(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_EnergyCalibrationExt_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibrationExt), intent(inout) :: self +type(EnergyCalibrationExt), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_EnergyCalibrationExt_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_PcfFile_read(self, fname) +use, intrinsic :: ISO_C_BINDING +class(PcfFile), intent(in) :: self +character(len=*), intent(in) :: fname +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(fname, farg2, farg2_temp) +call swigc_PcfFile_read(farg1, farg2) +end subroutine + +subroutine swigf_PcfFile_add_measurement_ext(self, m) +use, intrinsic :: ISO_C_BINDING +class(PcfFile), intent(in) :: self +class(MeasurementExt), intent(in) :: m +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = m%swigdata +call swigc_PcfFile_add_measurement_ext(farg1, farg2) +end subroutine + +function swigf_PcfFile_get_measurement_at(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(MeasurementExt) :: swig_result +class(PcfFile), intent(in) :: self +integer(C_INT), intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = index +fresult = swigc_PcfFile_get_measurement_at(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_PcfFile_make_measurement(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(PcfFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_PcfFile_make_measurement(farg1) +swig_result%swigdata = fresult +end function + +function swigf_new_PcfFile() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(PcfFile) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_PcfFile() +self%swigdata = fresult +end function + +subroutine swigf_PcfFile_release(self) +use, intrinsic :: ISO_C_BINDING +class(PcfFile), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_PcfFile(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_PcfFile_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(PcfFile), intent(inout) :: self +type(PcfFile), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_PcfFile_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_mapDevPairsToArray__SWIG_0(measurements, fortranarray) +use, intrinsic :: ISO_C_BINDING +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: measurements +real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray +type(SwigClassWrapper) :: farg1 +type(C_PTR) :: farg2 + +farg1 = measurements%swigdata +farg2 = c_loc(fortranarray) +call swigc_mapDevPairsToArray__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_mapDevPairsToArray__SWIG_1(specfile0, fortranarray) use, intrinsic :: ISO_C_BINDING class(SpecFile), intent(in) :: specfile0 real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray @@ -12652,7 +13024,7 @@ subroutine mapDevPairsToArray(specfile0, fortranarray) farg1 = specfile0%swigdata farg2 = c_loc(fortranarray) -call swigc_mapDevPairsToArray(farg1, farg2) +call swigc_mapDevPairsToArray__SWIG_1(farg1, farg2) end subroutine subroutine mapCArrayToFortranArray(carray, fortranarray) diff --git a/bindings/swig/fortran/test_specutils_fortran.f90 b/bindings/swig/fortran/test_specutils_fortran.f90 index a536971..12af47f 100644 --- a/bindings/swig/fortran/test_specutils_fortran.f90 +++ b/bindings/swig/fortran/test_specutils_fortran.f90 @@ -2,6 +2,10 @@ program TestSpecUtils use testdrive, only : error_type, check use specutilswrap implicit none + integer, parameter :: maxDevPairs = 20 + integer, parameter :: maxMCA = 8 + integer, parameter :: maxPanel = 8 + integer, parameter :: maxCol = 4 call SpecUtilsRoundTrip() call DerivationPairMap() @@ -11,8 +15,8 @@ program TestSpecUtils subroutine SpecUtilsRoundTrip() ! use, intrinsic :: ISO_C_BINDING type(error_type), allocatable :: error - type(SpecFile) :: sf - type(Measurement) :: m + type(PcfFile) :: sf + type(MeasurementExt) :: m character(len=:), allocatable :: filePath character(len=:), allocatable :: title integer :: istat, i @@ -30,12 +34,14 @@ subroutine SpecUtilsRoundTrip() call check( error, success ) end if - m = Measurement() + m = MeasurementExt() call m%set_start_time_from_string("14-Nov-1995 12:17:41.43") call m%set_title("SpecUtilsRoundTrip") call m%set_description("TestDescription") call m%set_source("TestSource") + ! call m%set_column(99) + ! call m%set_panel(55) call m%set_neutron_count(99.0) allocate( spectrum(128) ) @@ -65,7 +71,7 @@ subroutine SpecUtilsRoundTrip() call ecalIn%set_full_range_fraction(size(spectrum), coeffsIn, devPairsIn) call m%set_energy_calibration(ecalIn) - sf = SpecFile() + sf = PcfFile() call sf%add_measurement(m) call sf%write_to_file(filePath, SaveSpectrumAsType_Pcf) @@ -80,10 +86,10 @@ subroutine SpecUtilsRoundTrip() end subroutine subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) - type(SpecFile), intent(in) :: expectedSpecFile + type(PcfFile), intent(in) :: expectedSpecFile type(error_type), allocatable :: error - type(SpecFile) :: actualSpecFile - type(Measurement) :: expM, actM + type(PcfFile) :: actualSpecFile + type(MeasurementExt) :: expM, actM character(len=:), allocatable, intent(in) :: filePath character(len=:), allocatable :: title integer :: istat, i, numChannels @@ -94,16 +100,20 @@ subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) type(DeviationPairs) :: devPairsAct, devPairsExp type(DevPair) :: devPairAct, devPairExp - actualSpecFile = SpecFile() + actualSpecFile = PcfFile() success = actualSpecFile%load_file(filePath, ParserType_Auto) call check(error, success) - expM = expectedSpecFile%measurement_at(1) - actM = actualSpecFile%measurement_at(1) + expM = expectedSpecFile%get_measurement_at(0) + actM = actualSpecFile%get_measurement_at(0) call check(error, actM%title(), expM%title() ) + call check(error, actM%get_description() .ne. '' ) call check(error, actM%get_description(), expM%get_description() ) + call check(error, actM%get_source() .ne. '' ) call check(error, actM%get_source(), expM%get_source() ) + !call check(error, actM%get_column(), expM%get_column() ) + !call check(error, actM%get_panel(), expM%get_panel() ) call check(error, actM%get_start_time_string(), expM%get_start_time_string() ) call check(error, actM%live_time() .gt. 0.0) call check(error, actM%live_time(), expM%live_time() ) @@ -155,9 +165,52 @@ subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) call actualSpecFile%release() end subroutine +subroutine getExpectedDeviationPair(col, panel, mca, devPair, first, second) + integer, intent(in) :: col, panel, mca, devPair + real, intent(out) :: first, second + integer :: totalPairs, pairVal + + ! Validate the indices to ensure they are within bounds + if (col >= maxCol .or. panel >= maxPanel .or. mca >= maxMCA .or. devPair >= maxDevPairs) then + print *, "Index out of range" + stop + end if + + ! Calculate the total number of pairs before the given indices + totalPairs = devPair + mca * maxDevPairs + panel * maxDevPairs * maxMCA + col * maxDevPairs * maxMCA * maxPanel + + ! Calculate the pairVal + pairVal = 1 + 2 * totalPairs + + ! Calculate the first and second pair values + first = real(pairVal) + second = real(pairVal + 1) +end subroutine getExpectedDeviationPair subroutine DerivationPairMap() type(error_type), allocatable :: error - call check(error, 0, 0) + type(SpecFile) :: sf + type(Measurement) :: m + type(DeviationPairs) :: devPairs + type(DevPair) :: devPairAct, devPairExp + real :: devPairArray(2, maxDevPairs, maxMCA, maxPanel, maxCol) + integer :: col_i, panel_j, mca_k, p + real :: first, second + integer :: pairVal + integer :: col, panel, mca, devPair + + sf = SpecFile() + do col = 1, maxCol + do panel = 1, maxPanel + do mca = 1, maxMCA + m = Measurement() + do devPair = 1, maxDevPairs + + end do + end do + end do + end do + end subroutine + end program \ No newline at end of file diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index 95dbe22..7a36486 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -1472,7 +1472,7 @@ bool SpecFile::load_from_pcf( std::istream &input ) for( float &f : *channel_data ) //This should probably be vectorized or something ensure_valid_float( f ); - auto meas = std::make_shared(); + auto meas = make_measurement(); const istream::pos_type specend = input.tellg(); const size_t speclen = static_cast( 0 + specend - specstart ); diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index e039a01..f17806c 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -2,7 +2,7 @@ #include #include #include -#include +#include #include namespace fs = std::filesystem; @@ -68,9 +68,11 @@ TEST_CASE("Round Trip") SUBCASE("Write PCF File") { - SpecUtils::SpecFile specfile; + SpecUtils::PCF::PcfFile specfile; CheckFileExistanceAndDelete(fname); - auto m = std::make_shared(); + auto m = std::make_shared(); + + m->set_detector_name("Aa1"); const auto now_sys = std::chrono::system_clock::now(); const auto now = std::chrono::time_point_cast(now_sys); @@ -78,10 +80,10 @@ TEST_CASE("Round Trip") m->set_start_time(now); m->set_title("Test Measurment"); - auto remarks = m->remarks(); - remarks.push_back("Description: test_descr"); - remarks.push_back("Source: source123"); - m->set_remarks(remarks); + m->set_description("test_descr"); + m->set_source("source123"); + + //m->set_remarks(remarks); FloatVec ncounts{ 99.0F }; m->set_neutron_counts(ncounts, 0.0F); @@ -117,15 +119,17 @@ TEST_CASE("Round Trip") SUBCASE("Read PCF File") { - SpecUtils::SpecFile specfileToRead; - auto success = specfileToRead.load_file(fname, SpecUtils::ParserType::Auto); - CHECK(success); + SpecUtils::PCF::PcfFile specfileToRead; + specfileToRead.read(fname); //CHECK( specfileToRead.max_channel_count() == 128 ); - auto& expectedM = *(specfile.measurements().at(0)); - auto& actualM = *(specfileToRead.measurements().at(0)); + auto& expectedM = *(specfile.get_measurement_at(0)); + auto& actualM = *(specfileToRead.get_measurement_at(0)); CHECK(expectedM.title() == actualM.title()); + //CHECK(actualM.detector_name() == "Aa1"); + //CHECK(actualM.detector_number() == 0); + // times for PCFs should be compared as vax strings. auto timeStr1 = SpecUtils::to_vax_string(expectedM.start_time()); auto timeStr2 = SpecUtils::to_vax_string(actualM.start_time()); @@ -146,9 +150,9 @@ TEST_CASE("Round Trip") CHECK(actualM.neutron_counts().at(0) > 0); CHECK(actualM.neutron_counts() == expectedM.neutron_counts()); - auto& rmarks = specfileToRead.remarks(); - CHECK(SpecUtils::PCF::get_description(remarks) == "test_descr"); - CHECK(SpecUtils::PCF::get_source(remarks) == "source123"); + CHECK_FALSE(actualM.get_description().empty() ); + CHECK(actualM.get_description() == "test_descr"); + CHECK(actualM.get_source() == "source123"); auto newEcal = *actualM.energy_calibration(); CHECK(newEcal.coefficients() == ecal->coefficients()); @@ -285,22 +289,6 @@ TEST_CASE("Deviation Pair Map") } m->set_energy_calibration(std::make_shared(ecal)); - auto& remarks = m->remarks(); - { - std::ostringstream sstrm; - sstrm << "column: " << col_i; - remarks.push_back(sstrm.str()); - - CHECK(col_i == SpecUtils::PCF::get_column(remarks)); - } - { - std::ostringstream sstrm; - sstrm << "panel: " << panel_j; - remarks.push_back(sstrm.str()); - - CHECK(panel_j == SpecUtils::PCF::get_panel(remarks)); - - } m->set_detector_number(mca_k); specfile.add_measurement(m); @@ -311,24 +299,7 @@ TEST_CASE("Deviation Pair Map") float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxCol] = {}; SpecUtils::PCF::mapDevPairsToArray(specfile, fortranArray); - - { - size_t col = 0, panel = 0, mca = 0, devPair = 9; - CHECK(fortranArray[0][devPair][mca][panel][col] == 19.0F); - CHECK(fortranArray[1][devPair][mca][panel][col] == 20.0F); - } - { - size_t col = 0, panel = 0, mca = 0, devPair = 9; - auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); - CHECK(fortranArray[0][devPair][mca][panel][col] == expectedPair.first); - CHECK(fortranArray[1][devPair][mca][panel][col] == expectedPair.second); - } - { - size_t col = 1, panel = 2, mca = 3, devPair = 9; - auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); - CHECK(fortranArray[0][devPair][mca][panel][col] == expectedPair.first); - CHECK(fortranArray[1][devPair][mca][panel][col] == expectedPair.second); - } + if (false) { auto checkLambda = [&fortranArray](size_t col, size_t panel, size_t mca, size_t devPair) { auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); @@ -366,23 +337,6 @@ TEST_CASE("Deviation Pair Map Array") }; devPairComboLoop(checkLambda); - { - size_t i = 0, j = 0, k = 0, l = 0; - CHECK(deviationPairsArray[i][j][k][l][0] == 1.0F); - CHECK(deviationPairsArray[i][j][k][l][1] == 2.0F); - } - { - size_t i = 0, j = 0, k = 0, l = 9; - CHECK(deviationPairsArray[i][j][k][l][0] == 19.0F); - CHECK(deviationPairsArray[i][j][k][l][1] == 20.0F); - } - { - size_t i = 1, j = 2, k = 3, l = 4; - auto pair = getExpectedDeviationPair(i, j, k, l); - CHECK(deviationPairsArray[i][j][k][l][0] == pair.first); - CHECK(deviationPairsArray[i][j][k][l][1] == pair.second); - } - // Fortran deviation pairs array: real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxHardwareColumns]; SpecUtils::PCF::mapCArrayToFortranArray(deviationPairsArray, fortranArray); @@ -392,7 +346,4 @@ TEST_CASE("Deviation Pair Map Array") CHECK(fortranArray[0][devPair][mca][j][i] == 19.0F); CHECK(fortranArray[1][devPair][mca][j][i] == 20.0F); } - - - } From 46dbbc5016d20bd62d8f9c7ea874ec5ef0b349dc Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 23 Sep 2024 10:26:30 -0600 Subject: [PATCH 029/100] lose the pcf namespace --- SpecUtils/PcfExtensions.h | 305 +++++++++--------- bindings/swig/fortran/SpecUtilsFortran.i | 4 +- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 166 +++++----- bindings/swig/fortran/SpecUtilsWrap.f90 | 6 +- src/SpecFile_pcf.cpp | 3 + unit_tests/test_spec_file.cpp | 10 +- 6 files changed, 247 insertions(+), 247 deletions(-) diff --git a/SpecUtils/PcfExtensions.h b/SpecUtils/PcfExtensions.h index 196edb3..45c65c2 100644 --- a/SpecUtils/PcfExtensions.h +++ b/SpecUtils/PcfExtensions.h @@ -10,208 +10,205 @@ namespace SpecUtils { - namespace PCF - { - class MeasurementExt : public SpecUtils::Measurement + class MeasurementExt : public SpecUtils::Measurement + { + public: + void set_description(const std::string &description) { - public: - void set_description(const std::string &description) - { - auto &remarks = remarks_; + auto &remarks = remarks_; - // If there is already a description, remove it first. - auto it = remarks.begin(); - for (; it != remarks.end();) - { - if (SpecUtils::istarts_with(*it, "Description:")) - it = remarks.erase(it); - it++; - } - remarks.push_back("Description: " + description); - } - - void set_source(const std::string &source) + // If there is already a description, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) { - auto &remarks = remarks_; - - // If there is already a source, remove it first. - auto it = remarks.begin(); - for (; it != remarks.end();) - { - if (SpecUtils::istarts_with(*it, "source:")) - it = remarks.erase(it); - it++; - } - remarks.push_back("Source: " + source); + if (SpecUtils::istarts_with(*it, "Description:")) + it = remarks.erase(it); + it++; } + remarks.push_back("Description: " + description); + } - std::string get_description() const - { - auto retVal = std::string(); - auto descrOffset = 12U; - for (auto str : remarks_) - { - if (SpecUtils::istarts_with(str, "Description:")) - { - retVal = str.substr(descrOffset); - trim(retVal); - break; - } - } - return retVal; - } + void set_source(const std::string &source) + { + auto &remarks = remarks_; - std::string get_source() const + // If there is already a source, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) { - auto retVal = std::string(); - auto sourceStringOffset = 8U; - for (auto str : remarks_) - { - if (SpecUtils::istarts_with(str, "Source:")) - { - retVal = str.substr(sourceStringOffset); - trim(retVal); - break; - } - } - return retVal; + if (SpecUtils::istarts_with(*it, "source:")) + it = remarks.erase(it); + it++; } - }; + remarks.push_back("Source: " + source); + } - class EnergyCalibrationExt : public SpecUtils::EnergyCalibration + std::string get_description() const { - public: - SpecUtils::DeviationPairs &get_dev_pairs() + auto retVal = std::string(); + auto descrOffset = 12U; + for (auto str : remarks_) { - return m_deviation_pairs; + if (SpecUtils::istarts_with(str, "Description:")) + { + retVal = str.substr(descrOffset); + trim(retVal); + break; + } } - }; + return retVal; + } - class PcfFile : public SpecUtils::SpecFile + std::string get_source() const { - public: - void read(const std::string &fname) + auto retVal = std::string(); + auto sourceStringOffset = 8U; + for (auto str : remarks_) { - auto success = load_pcf_file(fname); - if (!success) + if (SpecUtils::istarts_with(str, "Source:")) { - throw std::runtime_error("I couldn't open \"" + fname + "\""); + retVal = str.substr(sourceStringOffset); + trim(retVal); + break; } } - void add_measurement_ext(std::shared_ptr m) - { - this->add_measurement(m); - } - - std::shared_ptr get_measurement_at(int index) - { - auto m = measurements_.at(index); - return std::dynamic_pointer_cast(m); - } + return retVal; + } + }; - virtual std::shared_ptr make_measurement() - { - return std::make_shared(); - } - }; + class EnergyCalibrationExt : public SpecUtils::EnergyCalibration + { + public: + SpecUtils::DeviationPairs &get_dev_pairs() + { + return m_deviation_pairs; + } + }; - template - inline void set_panel(int panel, StringVec &remarks) + class PcfFile : public SpecUtils::SpecFile + { + public: + void read(const std::string &fname) { - // If there is already a description, remove it first. - auto it = remarks.begin(); - for (; it != remarks.end();) + auto success = load_pcf_file(fname); + if (!success) { - if (SpecUtils::istarts_with(*it, "panel:")) - it = remarks.erase(it); - it++; + throw std::runtime_error("I couldn't open \"" + fname + "\""); } - std::ostringstream sstrm; - sstrm << "panel: " << panel; - remarks.push_back(sstrm.str()); + } + void add_measurement_ext(std::shared_ptr m) + { + this->add_measurement(m); } - template - inline void set_column(int column, StringVec &remarks) + std::shared_ptr get_measurement_at(int index) { - // If there is already a description, remove it first. - auto it = remarks.begin(); - for (; it != remarks.end();) - { - if (SpecUtils::istarts_with(*it, "column:")) - it = remarks.erase(it); - it++; - } - std::ostringstream sstrm; - sstrm << "column: " << column; - remarks.push_back(sstrm.str()); + auto m = measurements_.at(index); + return std::dynamic_pointer_cast(m); } - template - inline int get_panel(const StringVec &vec) + virtual std::shared_ptr make_measurement() { - auto retVal = std::string(); - auto offset = 6U; - for (auto str : vec) - { - if (SpecUtils::istarts_with(str, "panel:")) - { - retVal = str.substr(offset); - trim(retVal); - break; - } - } - return std::stoi(retVal); + return std::make_shared(); } + }; - inline void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]); + template + inline void set_panel(int panel, StringVec &remarks) + { + // If there is already a description, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) + { + if (SpecUtils::istarts_with(*it, "panel:")) + it = remarks.erase(it); + it++; + } + std::ostringstream sstrm; + sstrm << "panel: " << panel; + remarks.push_back(sstrm.str()); + } - inline void mapDevPairsToArray(const SpecUtils::SpecFile &specFile, float fortranArray[2][20][8][8][4]) + template + inline void set_column(int column, StringVec &remarks) + { + // If there is already a description, remove it first. + auto it = remarks.begin(); + for (; it != remarks.end();) { - const auto &measurements = specFile.measurements(); - mapDevPairsToArray(measurements, fortranArray); + if (SpecUtils::istarts_with(*it, "column:")) + it = remarks.erase(it); + it++; } + std::ostringstream sstrm; + sstrm << "column: " << column; + remarks.push_back(sstrm.str()); + } - void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]) + template + inline int get_panel(const StringVec &vec) + { + auto retVal = std::string(); + auto offset = 6U; + for (auto str : vec) { - // for (auto &m : measurements) - // { - // auto &remarks = m->remarks(); - // auto column = get_column(); - // auto panel = get_panel(); - // auto mca = m->detector_number(); - // auto &devPairs = m->deviation_pairs(); - // auto devPairIdx = 0; - // for (auto &devPair : devPairs) - // { - // fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; - // fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; - // devPairIdx++; - // } - // } + if (SpecUtils::istarts_with(str, "panel:")) + { + retVal = str.substr(offset); + trim(retVal); + break; + } } + return std::stoi(retVal); + } - // Function to map C array to Fortran array - inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) + inline void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]); + + inline void mapDevPairsToArray(const SpecUtils::SpecFile &specFile, float fortranArray[2][20][8][8][4]) + { + const auto &measurements = specFile.measurements(); + mapDevPairsToArray(measurements, fortranArray); + } + + void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]) + { + // for (auto &m : measurements) + // { + // auto &remarks = m->remarks(); + // auto column = get_column(); + // auto panel = get_panel(); + // auto mca = m->detector_number(); + // auto &devPairs = m->deviation_pairs(); + // auto devPairIdx = 0; + // for (auto &devPair : devPairs) + // { + // fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; + // fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; + // devPairIdx++; + // } + // } + } + + // Function to map C array to Fortran array + inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) + { + for (size_t i = 0; i < 4; ++i) { - for (size_t i = 0; i < 4; ++i) + for (size_t j = 0; j < 8; ++j) { - for (size_t j = 0; j < 8; ++j) + for (size_t k = 0; k < 8; ++k) { - for (size_t k = 0; k < 8; ++k) + for (size_t l = 0; l < 20; ++l) { - for (size_t l = 0; l < 20; ++l) + for (size_t m = 0; m < 2; ++m) { - for (size_t m = 0; m < 2; ++m) - { - fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; - } + fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; } } } } } + } - } // namespace PCF } // namespace SpecUtils \ No newline at end of file diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 2196dd9..6943c95 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -25,9 +25,9 @@ namespace std { %include "std_shared_ptr.i" %shared_ptr(vector) %shared_ptr(SpecUtils::Measurement) -%shared_ptr(SpecUtils::PCF::MeasurementExt) +%shared_ptr(SpecUtils::MeasurementExt) %shared_ptr(SpecUtils::EnergyCalibration) -%shared_ptr(SpecUtils::PCF::EnergyCalibrationExt) +%shared_ptr(SpecUtils::EnergyCalibrationExt) //%shared_ptr(std::vector) // this casued me problems -hugh %include "std_string.i" diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 71ec107..a9fb55f 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -218,12 +218,12 @@ enum AssignmentType { #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_PCF_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_PCF_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_PCF_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_PCF_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_Measurement swig::ASSIGNMENT_SMARTPTR #define SWIGPOLICY_SpecUtils_SpecFile swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_DetectorAnalysisResult swig::ASSIGNMENT_DEFAULT @@ -232,9 +232,9 @@ enum AssignmentType { #define SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_SMARTPTR -#define SWIGPOLICY_SpecUtils_PCF_MeasurementExt swig::ASSIGNMENT_SMARTPTR -#define SWIGPOLICY_SpecUtils_PCF_EnergyCalibrationExt swig::ASSIGNMENT_SMARTPTR -#define SWIGPOLICY_SpecUtils_PCF_PcfFile swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_MeasurementExt swig::ASSIGNMENT_SMARTPTR +#define SWIGPOLICY_SpecUtils_EnergyCalibrationExt swig::ASSIGNMENT_SMARTPTR +#define SWIGPOLICY_SpecUtils_PcfFile swig::ASSIGNMENT_DEFAULT #ifdef __cplusplus #include @@ -7839,13 +7839,13 @@ SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { SWIGEXPORT void _wrap_MeasurementExt_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; std::string tempstr2 ; - smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; (arg1)->set_description((std::string const &)*arg2); @@ -7853,13 +7853,13 @@ SWIGEXPORT void _wrap_MeasurementExt_set_description(SwigClassWrapper *farg1, Sw SWIGEXPORT void _wrap_MeasurementExt_set_source(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; std::string tempstr2 ; - smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; (arg1)->set_source((std::string const &)*arg2); @@ -7868,13 +7868,13 @@ SWIGEXPORT void _wrap_MeasurementExt_set_source(SwigClassWrapper *farg1, SwigArr SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_description(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; - SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt const > *smartarg1 ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::MeasurementExt const > *smartarg1 ; std::string result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; - result = ((SpecUtils::PCF::MeasurementExt const *)arg1)->get_description(); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; + result = ((SpecUtils::MeasurementExt const *)arg1)->get_description(); fresult.size = (&result)->size(); if (fresult.size > 0) { fresult.data = malloc(fresult.size); @@ -7888,13 +7888,13 @@ SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_description(SwigClassWrappe SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_source(SwigClassWrapper *farg1) { SwigArrayWrapper fresult ; - SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt const > *smartarg1 ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::MeasurementExt const > *smartarg1 ; std::string result; - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; - result = ((SpecUtils::PCF::MeasurementExt const *)arg1)->get_source(); + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; + result = ((SpecUtils::MeasurementExt const *)arg1)->get_source(); fresult.size = (&result)->size(); if (fresult.size > 0) { fresult.data = malloc(fresult.size); @@ -7908,46 +7908,46 @@ SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_source(SwigClassWrapper *fa SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementExt() { SwigClassWrapper fresult ; - SpecUtils::PCF::MeasurementExt *result = 0 ; + SpecUtils::MeasurementExt *result = 0 ; - result = (SpecUtils::PCF::MeasurementExt *)new SpecUtils::PCF::MeasurementExt(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::PCF::MeasurementExt >(result SWIG_NO_NULL_DELETER_1) : NULL; + result = (SpecUtils::MeasurementExt *)new SpecUtils::MeasurementExt(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::MeasurementExt >(result SWIG_NO_NULL_DELETER_1) : NULL; fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; return fresult; } SWIGEXPORT void _wrap_delete_MeasurementExt(SwigClassWrapper *farg1) { - SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; (void)arg1; delete smartarg1; } SWIGEXPORT void _wrap_MeasurementExt_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::PCF::MeasurementExt *arg1 = (SpecUtils::PCF::MeasurementExt *) 0 ; - SpecUtils::PCF::MeasurementExt *arg2 = 0 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt > *smartarg1 ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + SpecUtils::MeasurementExt *arg2 = 0 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - smartarg1 = (std::shared_ptr< SpecUtils::PCF::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::MeasurementExt*)(smartarg1->get()) : NULL; + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_SpecUtils_PCF_MeasurementExt>(farg1, *farg2); + SWIG_assign, SWIGPOLICY_SpecUtils_MeasurementExt>(farg1, *farg2); } SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_dev_pairs(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::PCF::EnergyCalibrationExt *arg1 = (SpecUtils::PCF::EnergyCalibrationExt *) 0 ; - std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt > *smartarg1 ; + SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; SpecUtils::DeviationPairs *result = 0 ; - smartarg1 = (std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; result = (SpecUtils::DeviationPairs *) &(arg1)->get_dev_pairs(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); @@ -7957,45 +7957,45 @@ SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_dev_pairs(SwigClassWr SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibrationExt() { SwigClassWrapper fresult ; - SpecUtils::PCF::EnergyCalibrationExt *result = 0 ; + SpecUtils::EnergyCalibrationExt *result = 0 ; - result = (SpecUtils::PCF::EnergyCalibrationExt *)new SpecUtils::PCF::EnergyCalibrationExt(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >(result SWIG_NO_NULL_DELETER_1) : NULL; + result = (SpecUtils::EnergyCalibrationExt *)new SpecUtils::EnergyCalibrationExt(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::EnergyCalibrationExt >(result SWIG_NO_NULL_DELETER_1) : NULL; fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; return fresult; } SWIGEXPORT void _wrap_delete_EnergyCalibrationExt(SwigClassWrapper *farg1) { - SpecUtils::PCF::EnergyCalibrationExt *arg1 = (SpecUtils::PCF::EnergyCalibrationExt *) 0 ; - std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt > *smartarg1 ; + SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - smartarg1 = (std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; (void)arg1; delete smartarg1; } SWIGEXPORT void _wrap_EnergyCalibrationExt_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::PCF::EnergyCalibrationExt *arg1 = (SpecUtils::PCF::EnergyCalibrationExt *) 0 ; - SpecUtils::PCF::EnergyCalibrationExt *arg2 = 0 ; - std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt > *smartarg1 ; + SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; + SpecUtils::EnergyCalibrationExt *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - smartarg1 = (std::shared_ptr< SpecUtils::PCF::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::PCF::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_SpecUtils_PCF_EnergyCalibrationExt>(farg1, *farg2); + SWIG_assign, SWIGPOLICY_SpecUtils_EnergyCalibrationExt>(farg1, *farg2); } SWIGEXPORT void _wrap_PcfFile_read(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; std::string *arg2 = 0 ; std::string tempstr2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::read(std::string const &)", return ); - arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::read(std::string const &)", return ); + arg1 = (SpecUtils::PcfFile *)farg1->cptr; tempstr2 = std::string(static_cast(farg2->data), farg2->size); arg2 = &tempstr2; (arg1)->read((std::string const &)*arg2); @@ -8003,27 +8003,27 @@ SWIGEXPORT void _wrap_PcfFile_read(SwigClassWrapper *farg1, SwigArrayWrapper *fa SWIGEXPORT void _wrap_PcfFile_add_measurement_ext(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { - SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt > arg2 ; + SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; + std::shared_ptr< SpecUtils::MeasurementExt > arg2 ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::add_measurement_ext(std::shared_ptr< SpecUtils::PCF::MeasurementExt >)", return ); - arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::add_measurement_ext(std::shared_ptr< SpecUtils::MeasurementExt >)", return ); + arg1 = (SpecUtils::PcfFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); (arg1)->add_measurement_ext(arg2); } SWIGEXPORT SwigClassWrapper _wrap_PcfFile_get_measurement_at(SwigClassWrapper *farg1, int const *farg2) { SwigClassWrapper fresult ; - SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; int arg2 ; - std::shared_ptr< SpecUtils::PCF::MeasurementExt > result; + std::shared_ptr< SpecUtils::MeasurementExt > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::get_measurement_at(int)", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::get_measurement_at(int)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::PcfFile *)farg1->cptr; arg2 = (int)(*farg2); result = (arg1)->get_measurement_at(arg2); - fresult.cptr = result ? (new std::shared_ptr< SpecUtils::PCF::MeasurementExt >(static_cast< const std::shared_ptr< SpecUtils::PCF::MeasurementExt >& >(result))) : NULL; + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::MeasurementExt >(static_cast< const std::shared_ptr< SpecUtils::MeasurementExt >& >(result))) : NULL; fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; return fresult; } @@ -8031,11 +8031,11 @@ SWIGEXPORT SwigClassWrapper _wrap_PcfFile_get_measurement_at(SwigClassWrapper *f SWIGEXPORT SwigClassWrapper _wrap_PcfFile_make_measurement(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; std::shared_ptr< SpecUtils::Measurement > result; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PCF::PcfFile *", "PcfFile", "SpecUtils::PCF::PcfFile::make_measurement()", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::make_measurement()", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::PcfFile *)farg1->cptr; result = (arg1)->make_measurement(); fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; @@ -8045,9 +8045,9 @@ SWIGEXPORT SwigClassWrapper _wrap_PcfFile_make_measurement(SwigClassWrapper *far SWIGEXPORT SwigClassWrapper _wrap_new_PcfFile() { SwigClassWrapper fresult ; - SpecUtils::PCF::PcfFile *result = 0 ; + SpecUtils::PcfFile *result = 0 ; - result = (SpecUtils::PCF::PcfFile *)new SpecUtils::PCF::PcfFile(); + result = (SpecUtils::PcfFile *)new SpecUtils::PcfFile(); fresult.cptr = (void*)result; fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); return fresult; @@ -8055,20 +8055,20 @@ SWIGEXPORT SwigClassWrapper _wrap_new_PcfFile() { SWIGEXPORT void _wrap_delete_PcfFile(SwigClassWrapper *farg1) { - SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; + SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; - arg1 = (SpecUtils::PCF::PcfFile *)farg1->cptr; + arg1 = (SpecUtils::PcfFile *)farg1->cptr; delete arg1; } SWIGEXPORT void _wrap_PcfFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::PCF::PcfFile *arg1 = (SpecUtils::PCF::PcfFile *) 0 ; - SpecUtils::PCF::PcfFile *arg2 = 0 ; + SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; + SpecUtils::PcfFile *arg2 = 0 ; (void)sizeof(arg1); (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); + SWIG_assign(farg1, *farg2); } @@ -8077,10 +8077,10 @@ SWIGEXPORT void _wrap_mapDevPairsToArray__SWIG_0(SwigClassWrapper *farg1, SwigCl std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg1 = 0 ; float (*arg2)[20][8][8][4] ; - SWIG_check_nonnull(farg1->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::PCF::mapDevPairsToArray(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &,float [2][20][8][8][4])", return ); + SWIG_check_nonnull(farg1->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::mapDevPairsToArray(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &,float [2][20][8][8][4])", return ); arg1 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg1->cptr; arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::PCF::mapDevPairsToArray((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg1,(float (*)[20][8][8][4])arg2); + SpecUtils::mapDevPairsToArray((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg1,(float (*)[20][8][8][4])arg2); } @@ -8088,10 +8088,10 @@ SWIGEXPORT void _wrap_mapDevPairsToArray__SWIG_1(SwigClassWrapper *farg1, SwigCl SpecUtils::SpecFile *arg1 = 0 ; float (*arg2)[20][8][8][4] ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::PCF::mapDevPairsToArray(SpecUtils::SpecFile const &,float [2][20][8][8][4])", return ); + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::mapDevPairsToArray(SpecUtils::SpecFile const &,float [2][20][8][8][4])", return ); arg1 = (SpecUtils::SpecFile *)farg1->cptr; arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::PCF::mapDevPairsToArray((SpecUtils::SpecFile const &)*arg1,(float (*)[20][8][8][4])arg2); + SpecUtils::mapDevPairsToArray((SpecUtils::SpecFile const &)*arg1,(float (*)[20][8][8][4])arg2); } @@ -8101,7 +8101,7 @@ SWIGEXPORT void _wrap_mapCArrayToFortranArray(SwigClassWrapper *farg1, SwigClass arg1 = (float (*)[8][8][20][2])(farg1); arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::PCF::mapCArrayToFortranArray((float const (*)[8][8][20][2])arg1,(float (*)[20][8][8][4])arg2); + SpecUtils::mapCArrayToFortranArray((float const (*)[8][8][20][2])arg1,(float (*)[20][8][8][4])arg2); } diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 4829fa5..81d895e 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -838,7 +838,7 @@ module specutilswrap public :: lexically_normalize_path public :: load_file_data public :: likely_not_spec_file - ! class SpecUtils::PCF::MeasurementExt + ! class SpecUtils::MeasurementExt type, extends(Measurement), public :: MeasurementExt contains procedure :: set_description => swigf_MeasurementExt_set_description @@ -849,7 +849,7 @@ module specutilswrap procedure, private :: swigf_MeasurementExt_op_assign__ generic :: assignment(=) => swigf_MeasurementExt_op_assign__ end type MeasurementExt - ! class SpecUtils::PCF::EnergyCalibrationExt + ! class SpecUtils::EnergyCalibrationExt type, extends(EnergyCalibration), public :: EnergyCalibrationExt contains procedure :: get_dev_pairs => swigf_EnergyCalibrationExt_get_dev_pairs @@ -857,7 +857,7 @@ module specutilswrap procedure, private :: swigf_EnergyCalibrationExt_op_assign__ generic :: assignment(=) => swigf_EnergyCalibrationExt_op_assign__ end type EnergyCalibrationExt - ! class SpecUtils::PCF::PcfFile + ! class SpecUtils::PcfFile type, extends(SpecFile), public :: PcfFile contains procedure :: read => swigf_PcfFile_read diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index 7a36486..4d58945 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -1180,6 +1180,7 @@ bool SpecFile::load_from_pcf( std::istream &input ) // if this is the case have_deviation_pairs = false; + // col_index? for( int row_index = 0; row_index < (compressed_devpair ? 4 : 2); ++row_index ) { for( int panel_index = 0; panel_index < 8; ++panel_index ) @@ -1201,6 +1202,8 @@ bool SpecFile::load_from_pcf( std::istream &input ) memcpy( vals, &(dev_pair_bytes[byte_pos]), 80 ); for( int i = 0; i < 20; ++i ) { + // extract to vritual method add_devpair(), extension class can save off col, panel, mcs + // maybe save in lookup table? tuple last_nonzero = (vals[2*i] || vals[2*i+1]) ? i+1 : last_nonzero; devpairs.push_back( pair(vals[2*i],vals[2*i+1]) ); } diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index f17806c..1e1b749 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -68,9 +68,9 @@ TEST_CASE("Round Trip") SUBCASE("Write PCF File") { - SpecUtils::PCF::PcfFile specfile; + SpecUtils::PcfFile specfile; CheckFileExistanceAndDelete(fname); - auto m = std::make_shared(); + auto m = std::make_shared(); m->set_detector_name("Aa1"); @@ -119,7 +119,7 @@ TEST_CASE("Round Trip") SUBCASE("Read PCF File") { - SpecUtils::PCF::PcfFile specfileToRead; + SpecUtils::PcfFile specfileToRead; specfileToRead.read(fname); //CHECK( specfileToRead.max_channel_count() == 128 ); @@ -298,7 +298,7 @@ TEST_CASE("Deviation Pair Map") } float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxCol] = {}; - SpecUtils::PCF::mapDevPairsToArray(specfile, fortranArray); + SpecUtils::mapDevPairsToArray(specfile, fortranArray); if (false) { auto checkLambda = [&fortranArray](size_t col, size_t panel, size_t mca, size_t devPair) { @@ -339,7 +339,7 @@ TEST_CASE("Deviation Pair Map Array") // Fortran deviation pairs array: real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxHardwareColumns]; - SpecUtils::PCF::mapCArrayToFortranArray(deviationPairsArray, fortranArray); + SpecUtils::mapCArrayToFortranArray(deviationPairsArray, fortranArray); { size_t i = 0, j = 0, mca = 0, devPair = 9; From 936b7af7cd494fedcda0852c0fe5e3bc8c18cad9 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 26 Sep 2024 17:18:37 -0600 Subject: [PATCH 030/100] figured out deviation pairs --- SpecUtils/PcfExtensions.h | 111 ++++-- SpecUtils/SpecFile.h | 1 + .../swig/fortran/SpecUtilsFortran_wrap.cxx | 131 +++++-- bindings/swig/fortran/SpecUtilsWrap.f90 | 216 ++++++++--- src/SpecFile_pcf.cpp | 78 ++-- unit_tests/CMakeLists.txt | 6 +- unit_tests/test_spec_file.cpp | 352 ++++++++++++------ unit_tests/test_string_functions.cpp | 50 --- 8 files changed, 646 insertions(+), 299 deletions(-) diff --git a/SpecUtils/PcfExtensions.h b/SpecUtils/PcfExtensions.h index 45c65c2..f09d1cd 100644 --- a/SpecUtils/PcfExtensions.h +++ b/SpecUtils/PcfExtensions.h @@ -14,6 +14,11 @@ namespace SpecUtils class MeasurementExt : public SpecUtils::Measurement { public: + MeasurementExt() : Measurement() + { + + } + void set_description(const std::string &description) { auto &remarks = remarks_; @@ -75,20 +80,84 @@ namespace SpecUtils } return retVal; } + + /// @brief return zero-based panel number based on detector name + int panel() + { + if (panel_ < 0) + update_detector_name_params(); + return panel_; + } + + /// @brief return zero-based column number based on detector name + int column() + { + if (column_ < 0) + update_detector_name_params(); + return column_; + } + + /// @brief return zero-based mca number based on detector name + int mca() + { + if (mca_ < 1) + update_detector_name_params(); + return mca_; + } + + protected: + int panel_ = -1; + int column_ = -1; + int mca_ = -1; + + void update_detector_name_params() + { + auto detName = detector_name(); + pcf_det_name_to_dev_pair_index(detName, column_, panel_, mca_); + } }; class EnergyCalibrationExt : public SpecUtils::EnergyCalibration { public: + EnergyCalibrationExt() : SpecUtils::EnergyCalibration() + { + m_type = EnergyCalType::FullRangeFraction; + //*m_channel_energies({1,2,3,4,5}); + + //m_channel_energies = std::make_shared>(std::vector{1.0f, 2.0f, 3.0f}); + m_channel_energies = std::make_shared>(129, 1.0f); + } SpecUtils::DeviationPairs &get_dev_pairs() { return m_deviation_pairs; } + + FloatVec & get_coeffs() + { + return m_coefficients; + } + + void set_channel_energies( const FloatVec& e ) + { + //m_channel_energies = std::make_shared({1,2,3,4,5}); + //m_channel_energies->push_back(10); + // //for(auto c : e) + // { + // *m_channel_energies = e; + // } + } + + }; class PcfFile : public SpecUtils::SpecFile { public: + PcfFile() : SpecFile() + { + + } void read(const std::string &fname) { auto success = load_pcf_file(fname); @@ -163,31 +232,25 @@ namespace SpecUtils return std::stoi(retVal); } - inline void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]); - - inline void mapDevPairsToArray(const SpecUtils::SpecFile &specFile, float fortranArray[2][20][8][8][4]) - { - const auto &measurements = specFile.measurements(); - mapDevPairsToArray(measurements, fortranArray); - } - - void mapDevPairsToArray(const std::vector> &measurements, float fortranArray[2][20][8][8][4]) + inline void mapDevPairsToArray(SpecUtils::PcfFile &specFile, float fortranArray[2][20][8][8][4]) { - // for (auto &m : measurements) - // { - // auto &remarks = m->remarks(); - // auto column = get_column(); - // auto panel = get_panel(); - // auto mca = m->detector_number(); - // auto &devPairs = m->deviation_pairs(); - // auto devPairIdx = 0; - // for (auto &devPair : devPairs) - // { - // fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; - // fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; - // devPairIdx++; - // } - // } + auto numMeasurements = specFile.num_measurements(); + for (size_t i = 0; i < numMeasurements; i++) + { + auto &m = *(specFile.get_measurement_at(i)); + auto column = m.column(); + auto panel = m.panel(); + auto mca = m.mca(); + auto &devPairs = m.deviation_pairs(); + auto devPairIdx = 0; + for (auto &devPair : devPairs) + { + fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; + fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; + devPairIdx++; + } + } + } // Function to map C array to Fortran array diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index a74461c..138da3f 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -2902,6 +2902,7 @@ struct MultimediaData #endif };//struct MultimediaData +int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca); }//namespace SpecUtils #endif //SpecUtils_SpecFile_h diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index a9fb55f..043778b 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -6259,6 +6259,24 @@ SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigCl } +SWIGEXPORT int _wrap_pcf_det_name_to_dev_pair_index(SwigArrayWrapper *farg1, int *farg2, int *farg3, int *farg4) { + int fresult ; + std::string arg1 ; + int *arg2 = 0 ; + int *arg3 = 0 ; + int *arg4 = 0 ; + int result; + + (&arg1)->assign(static_cast(farg1->data), farg1->size); + arg2 = (int *)(farg2); + arg3 = (int *)(farg3); + arg4 = (int *)(farg4); + result = (int)SpecUtils::pcf_det_name_to_dev_pair_index(SWIG_STD_MOVE(arg1),*arg2,*arg3,*arg4); + fresult = (int)(result); + return fresult; +} + + SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { SwigClassWrapper fresult ; std::pair< float,float > *result = 0 ; @@ -7838,6 +7856,17 @@ SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { } +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementExt() { + SwigClassWrapper fresult ; + SpecUtils::MeasurementExt *result = 0 ; + + result = (SpecUtils::MeasurementExt *)new SpecUtils::MeasurementExt(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::MeasurementExt >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + SWIGEXPORT void _wrap_MeasurementExt_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; std::string *arg2 = 0 ; @@ -7906,13 +7935,44 @@ SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_source(SwigClassWrapper *fa } -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementExt() { - SwigClassWrapper fresult ; - SpecUtils::MeasurementExt *result = 0 ; +SWIGEXPORT int _wrap_MeasurementExt_panel(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; + int result; - result = (SpecUtils::MeasurementExt *)new SpecUtils::MeasurementExt(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::MeasurementExt >(result SWIG_NO_NULL_DELETER_1) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; + result = (int)(arg1)->panel(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_MeasurementExt_column(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; + result = (int)(arg1)->column(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_MeasurementExt_mca(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; + result = (int)(arg1)->mca(); + fresult = (int)(result); return fresult; } @@ -7940,6 +8000,17 @@ SWIGEXPORT void _wrap_MeasurementExt_op_assign__(SwigClassWrapper *farg1, SwigCl } +SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibrationExt() { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibrationExt *result = 0 ; + + result = (SpecUtils::EnergyCalibrationExt *)new SpecUtils::EnergyCalibrationExt(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::EnergyCalibrationExt >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_dev_pairs(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; @@ -7955,17 +8026,34 @@ SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_dev_pairs(SwigClassWr } -SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibrationExt() { +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_coeffs(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; - SpecUtils::EnergyCalibrationExt *result = 0 ; + SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; + SpecUtils::FloatVec *result = 0 ; - result = (SpecUtils::EnergyCalibrationExt *)new SpecUtils::EnergyCalibrationExt(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::EnergyCalibrationExt >(result SWIG_NO_NULL_DELETER_1) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + result = (SpecUtils::FloatVec *) &(arg1)->get_coeffs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); return fresult; } +SWIGEXPORT void _wrap_EnergyCalibrationExt_set_channel_energies(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; + SpecUtils::FloatVec *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::FloatVec const &", "FloatVector", "SpecUtils::EnergyCalibrationExt::set_channel_energies(SpecUtils::FloatVec const &)", return ); + arg2 = (SpecUtils::FloatVec *)farg2->cptr; + (arg1)->set_channel_energies((SpecUtils::FloatVec const &)*arg2); +} + + SWIGEXPORT void _wrap_delete_EnergyCalibrationExt(SwigClassWrapper *farg1) { SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; @@ -8073,25 +8161,14 @@ SWIGEXPORT void _wrap_PcfFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrap } -SWIGEXPORT void _wrap_mapDevPairsToArray__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg1 = 0 ; - float (*arg2)[20][8][8][4] ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::mapDevPairsToArray(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &,float [2][20][8][8][4])", return ); - arg1 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg1->cptr; - arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::mapDevPairsToArray((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg1,(float (*)[20][8][8][4])arg2); -} - - -SWIGEXPORT void _wrap_mapDevPairsToArray__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = 0 ; +SWIGEXPORT void _wrap_mapDevPairsToArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::PcfFile *arg1 = 0 ; float (*arg2)[20][8][8][4] ; - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::mapDevPairsToArray(SpecUtils::SpecFile const &,float [2][20][8][8][4])", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile &", "PcfFile", "SpecUtils::mapDevPairsToArray(SpecUtils::PcfFile &,float [2][20][8][8][4])", return ); + arg1 = (SpecUtils::PcfFile *)farg1->cptr; arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::mapDevPairsToArray((SpecUtils::SpecFile const &)*arg1,(float (*)[20][8][8][4])arg2); + SpecUtils::mapDevPairsToArray(*arg1,(float (*)[20][8][8][4])arg2); } diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 81d895e..81d6580 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -718,6 +718,7 @@ module specutilswrap procedure, private :: swigf_MultimediaData_op_assign__ generic :: assignment(=) => swigf_MultimediaData_op_assign__ end type MultimediaData + public :: pcf_det_name_to_dev_pair_index ! struct std::pair< float,float > type, public :: DevPair type(SwigClassWrapper), public :: swigdata @@ -845,6 +846,9 @@ module specutilswrap procedure :: set_source => swigf_MeasurementExt_set_source procedure :: get_description => swigf_MeasurementExt_get_description procedure :: get_source => swigf_MeasurementExt_get_source + procedure :: panel => swigf_MeasurementExt_panel + procedure :: column => swigf_MeasurementExt_column + procedure :: mca => swigf_MeasurementExt_mca procedure :: release => swigf_MeasurementExt_release procedure, private :: swigf_MeasurementExt_op_assign__ generic :: assignment(=) => swigf_MeasurementExt_op_assign__ @@ -853,6 +857,8 @@ module specutilswrap type, extends(EnergyCalibration), public :: EnergyCalibrationExt contains procedure :: get_dev_pairs => swigf_EnergyCalibrationExt_get_dev_pairs + procedure :: get_coeffs => swigf_EnergyCalibrationExt_get_coeffs + procedure :: set_channel_energies => swigf_EnergyCalibrationExt_set_channel_energies procedure :: release => swigf_EnergyCalibrationExt_release procedure, private :: swigf_EnergyCalibrationExt_op_assign__ generic :: assignment(=) => swigf_EnergyCalibrationExt_op_assign__ @@ -868,6 +874,7 @@ module specutilswrap procedure, private :: swigf_PcfFile_op_assign__ generic :: assignment(=) => swigf_PcfFile_op_assign__ end type PcfFile + public :: mapDevPairsToArray public :: mapCArrayToFortranArray interface is_candidate_n42_file module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 @@ -898,10 +905,6 @@ module specutilswrap module procedure swigf_new_DeviationPairs__SWIG_0, swigf_new_DeviationPairs__SWIG_1, swigf_new_DeviationPairs__SWIG_2, & swigf_new_DeviationPairs__SWIG_3 end interface - interface mapDevPairsToArray - module procedure swigf_mapDevPairsToArray__SWIG_0, swigf_mapDevPairsToArray__SWIG_1 - end interface - public :: mapDevPairsToArray interface recursive_ls module procedure swigf_recursive_ls__SWIG_0, swigf_recursive_ls__SWIG_1, swigf_recursive_ls__SWIG_2 end interface @@ -4528,6 +4531,18 @@ subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine +function swigc_pcf_det_name_to_dev_pair_index(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_pcf_det_name_to_dev_pair_index") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(C_PTR), value :: farg2 +type(C_PTR), value :: farg3 +type(C_PTR), value :: farg4 +integer(C_INT) :: fresult +end function + function swigc_new_DevPair__SWIG_0() & bind(C, name="_wrap_new_DevPair__SWIG_0") & result(fresult) @@ -5509,6 +5524,14 @@ function swigc_likely_not_spec_file(farg1) & integer(C_INT) :: fresult end function +function swigc_new_MeasurementExt() & +bind(C, name="_wrap_new_MeasurementExt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + subroutine swigc_MeasurementExt_set_description(farg1, farg2) & bind(C, name="_wrap_MeasurementExt_set_description") use, intrinsic :: ISO_C_BINDING @@ -5547,12 +5570,31 @@ function swigc_MeasurementExt_get_source(farg1) & type(SwigArrayWrapper) :: fresult end function -function swigc_new_MeasurementExt() & -bind(C, name="_wrap_new_MeasurementExt") & +function swigc_MeasurementExt_panel(farg1) & +bind(C, name="_wrap_MeasurementExt_panel") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper -type(SwigClassWrapper) :: fresult +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_MeasurementExt_column(farg1) & +bind(C, name="_wrap_MeasurementExt_column") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_MeasurementExt_mca(farg1) & +bind(C, name="_wrap_MeasurementExt_mca") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult end function subroutine swigc_delete_MeasurementExt(farg1) & @@ -5570,6 +5612,14 @@ subroutine swigc_MeasurementExt_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine +function swigc_new_EnergyCalibrationExt() & +bind(C, name="_wrap_new_EnergyCalibrationExt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + function swigc_EnergyCalibrationExt_get_dev_pairs(farg1) & bind(C, name="_wrap_EnergyCalibrationExt_get_dev_pairs") & result(fresult) @@ -5579,14 +5629,23 @@ function swigc_EnergyCalibrationExt_get_dev_pairs(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_new_EnergyCalibrationExt() & -bind(C, name="_wrap_new_EnergyCalibrationExt") & +function swigc_EnergyCalibrationExt_get_coeffs(farg1) & +bind(C, name="_wrap_EnergyCalibrationExt_get_coeffs") & result(fresult) use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 type(SwigClassWrapper) :: fresult end function +subroutine swigc_EnergyCalibrationExt_set_channel_energies(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibrationExt_set_channel_energies") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + subroutine swigc_delete_EnergyCalibrationExt(farg1) & bind(C, name="_wrap_delete_EnergyCalibrationExt") use, intrinsic :: ISO_C_BINDING @@ -5661,16 +5720,8 @@ subroutine swigc_PcfFile_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine -subroutine swigc_mapDevPairsToArray__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_mapDevPairsToArray__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR), value :: farg2 -end subroutine - -subroutine swigc_mapDevPairsToArray__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_mapDevPairsToArray__SWIG_1") +subroutine swigc_mapDevPairsToArray(farg1, farg2) & +bind(C, name="_wrap_mapDevPairsToArray") use, intrinsic :: ISO_C_BINDING import :: swigclasswrapper type(SwigClassWrapper), intent(in) :: farg1 @@ -11206,6 +11257,29 @@ subroutine swigf_MultimediaData_op_assign__(self, other) self%swigdata = farg1 end subroutine +function pcf_det_name_to_dev_pair_index(name, col, panel, mca) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +character(len=*), intent(in) :: name +integer(C_INT), target, intent(inout) :: col +integer(C_INT), target, intent(inout) :: panel +integer(C_INT), target, intent(inout) :: mca +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +type(C_PTR) :: farg2 +type(C_PTR) :: farg3 +type(C_PTR) :: farg4 + +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +farg2 = c_loc(col) +farg3 = c_loc(panel) +farg4 = c_loc(mca) +fresult = swigc_pcf_det_name_to_dev_pair_index(farg1, farg2, farg3, farg4) +swig_result = fresult +end function + function swigf_new_DevPair__SWIG_0() & result(self) use, intrinsic :: ISO_C_BINDING @@ -12771,6 +12845,16 @@ function likely_not_spec_file(file) & call SWIGTM_fout_bool(fresult, swig_result) end function +function swigf_new_MeasurementExt() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementExt) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_MeasurementExt() +self%swigdata = fresult +end function + subroutine swigf_MeasurementExt_set_description(self, description) use, intrinsic :: ISO_C_BINDING class(MeasurementExt), intent(in) :: self @@ -12825,14 +12909,43 @@ function swigf_MeasurementExt_get_source(self) & call SWIG_free(fresult%data) end function -function swigf_new_MeasurementExt() & -result(self) +function swigf_MeasurementExt_panel(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(MeasurementExt) :: self -type(SwigClassWrapper) :: fresult +integer(C_INT) :: swig_result +class(MeasurementExt), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 -fresult = swigc_new_MeasurementExt() -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_MeasurementExt_panel(farg1) +swig_result = fresult +end function + +function swigf_MeasurementExt_column(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(MeasurementExt), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementExt_column(farg1) +swig_result = fresult +end function + +function swigf_MeasurementExt_mca(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(MeasurementExt), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementExt_mca(farg1) +swig_result = fresult end function subroutine swigf_MeasurementExt_release(self) @@ -12862,6 +12975,16 @@ subroutine swigf_MeasurementExt_op_assign__(self, other) self%swigdata = farg1 end subroutine +function swigf_new_EnergyCalibrationExt() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibrationExt) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_EnergyCalibrationExt() +self%swigdata = fresult +end function + function swigf_EnergyCalibrationExt_get_dev_pairs(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -12875,16 +12998,31 @@ function swigf_EnergyCalibrationExt_get_dev_pairs(self) & swig_result%swigdata = fresult end function -function swigf_new_EnergyCalibrationExt() & -result(self) +function swigf_EnergyCalibrationExt_get_coeffs(self) & +result(swig_result) use, intrinsic :: ISO_C_BINDING -type(EnergyCalibrationExt) :: self +type(FloatVector) :: swig_result +class(EnergyCalibrationExt), intent(in) :: self type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 -fresult = swigc_new_EnergyCalibrationExt() -self%swigdata = fresult +farg1 = self%swigdata +fresult = swigc_EnergyCalibrationExt_get_coeffs(farg1) +swig_result%swigdata = fresult end function +subroutine swigf_EnergyCalibrationExt_set_channel_energies(self, e) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibrationExt), intent(in) :: self +class(FloatVector), intent(in) :: e +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = e%swigdata +call swigc_EnergyCalibrationExt_set_channel_energies(farg1, farg2) +end subroutine + subroutine swigf_EnergyCalibrationExt_release(self) use, intrinsic :: ISO_C_BINDING class(EnergyCalibrationExt), intent(inout) :: self @@ -13003,28 +13141,16 @@ subroutine swigf_PcfFile_op_assign__(self, other) self%swigdata = farg1 end subroutine -subroutine swigf_mapDevPairsToArray__SWIG_0(measurements, fortranarray) -use, intrinsic :: ISO_C_BINDING -class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: measurements -real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray -type(SwigClassWrapper) :: farg1 -type(C_PTR) :: farg2 - -farg1 = measurements%swigdata -farg2 = c_loc(fortranarray) -call swigc_mapDevPairsToArray__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_mapDevPairsToArray__SWIG_1(specfile0, fortranarray) +subroutine mapDevPairsToArray(specfile0, fortranarray) use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: specfile0 +class(PcfFile), intent(in) :: specfile0 real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray type(SwigClassWrapper) :: farg1 type(C_PTR) :: farg2 farg1 = specfile0%swigdata farg2 = c_loc(fortranarray) -call swigc_mapDevPairsToArray__SWIG_1(farg1, farg2) +call swigc_mapDevPairsToArray(farg1, farg2) end subroutine subroutine mapCArrayToFortranArray(carray, fortranarray) diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index 4d58945..5019e69 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -92,46 +92,11 @@ namespace };//parse_pcf_field - - //returns negative if invalid name - int pcf_det_name_to_dev_pair_index( std::string name, int &col, int &panel, int &mca ) - { - col = panel = mca = -1; - - //loop over columns (2 uncompressed, or 4 compressed) //col 1 is Aa1, col two is Ba1 - // loop over panels (8) //Aa1, Ab1, Ac1 - // loop over MCAs (8) //Aa1, Aa2, Aa3, etc - // loop over deviation pairs (20) - // energy (float uncompressed, or int16_t compressed) - // offset (float uncompressed, or int16_t compressed) - - if( name.size() < 2 || name.size() > 3 - || name[name.size()-1] < '1' || name[name.size()-1] > '8' ) - { - return -1; - } - - SpecUtils::to_lower_ascii( name ); - - const char col_char = ((name.size()==3) ? name[1] : 'a'); - const char panel_char = name[0]; - const char mca_char = name[name.size()-1]; - - if( col_char < 'a' || col_char > 'd' || panel_char < 'a' || panel_char > 'h' ) - return -1; - - col = col_char - 'a'; - panel = panel_char - 'a'; - mca = mca_char - '1'; - - return col*(8*8*2*20) + panel*(8*2*20) + mca*(2*20); - } - - + int pcf_det_name_to_dev_pair_index( std::string name ) { int col, panel, mca; - return pcf_det_name_to_dev_pair_index( name, col, panel, mca ); + return SpecUtils::pcf_det_name_to_dev_pair_index( name, col, panel, mca ); };//pcf_det_name_to_dev_pair_index lambda }//namespace @@ -139,7 +104,40 @@ namespace namespace SpecUtils { - + +// returns negative if invalid name +int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) +{ + col = panel = mca = -1; + + // loop over columns (2 uncompressed, or 4 compressed) //col 1 is Aa1, col two is Ba1 + // loop over panels (8) //Aa1, Ab1, Ac1 + // loop over MCAs (8) //Aa1, Aa2, Aa3, etc + // loop over deviation pairs (20) + // energy (float uncompressed, or int16_t compressed) + // offset (float uncompressed, or int16_t compressed) + + if (name.size() < 2 || name.size() > 3 || name[name.size() - 1] < '1' || name[name.size() - 1] > '8') + { + return -1; + } + + SpecUtils::to_lower_ascii(name); + + const char col_char = ((name.size() == 3) ? name[1] : 'a'); + const char panel_char = name[0]; + const char mca_char = name[name.size() - 1]; + + if (col_char < 'a' || col_char > 'd' || panel_char < 'a' || panel_char > 'h') + return -1; + + col = col_char - 'a'; + panel = panel_char - 'a'; + mca = mca_char - '1'; + // TODO - is this correct? + return col * (8 * 8 * 2 * 20) + panel * (8 * 2 * 20) + mca * (2 * 20); +} + /** Gives the maximum number of channels any spectrum in the file will need to write to PCF file (rounded up to the nearest multiple of 64 channels), as well as a sets a pointer to the lower channel energies to write to the first record, but only if lower channel energy calibration should be used (if FRF should be used, then pointer will be reset to nulltr). @@ -416,6 +414,8 @@ void SpecFile::write_deviation_pairs_to_pcf( std::ostream &ostr ) const if( meas->gamma_counts_ && !meas->gamma_counts_->empty()) { has_some_dev_pairs |= (!meas->deviation_pairs().empty()); + + // TODO - not sure this correctly sets need_compress_pairs if( name.size() >= 3 && (name[1]=='c' || name[1]=='C' || name[1]=='d' || name[1]=='D') && (name[0]>='a' && name[0]<='g') @@ -467,7 +467,7 @@ void SpecFile::write_deviation_pairs_to_pcf( std::ostream &ostr ) const const string &name = det_devs.first; const auto &pairs = det_devs.second; - int index = pcf_det_name_to_dev_pair_index( name ); + int index = ::pcf_det_name_to_dev_pair_index( name ); if( index < 0 || (index+39) > maxnvals ) { diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 58e70fe..cc77383 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -41,7 +41,11 @@ message( "Args: ${COMMON_TEST_ARGS}") add_executable( test_spec_file test_spec_file.cpp ) target_link_libraries( test_spec_file PRIVATE SpecUtils ) -set_target_properties( test_spec_file PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED YES CXX_EXTENSIONS NO ) +set_target_properties( test_spec_file PROPERTIES + CXX_STANDARD 20 + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES ) + add_test( NAME test_spec_file COMMAND $ ) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 1e1b749..1fefc78 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -2,11 +2,11 @@ #include #include #include -#include +#include "../SpecUtils/PcfExtensions.h" #include namespace fs = std::filesystem; -#undef isnan // Undefine the isnan macro (compile failure in doctest.h on Windows) +#undef isnan // Undefine the isnan macro (compile failure in doctest.h on Windows) #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" @@ -29,149 +29,219 @@ using SpecUtils::FloatVec; using SpecUtils::FloatVecPtr; using SpecUtils::time_point_t; -#if 0 -TEST_CASE("Time") +time_point_t getStartTime() { - auto timepoint = SpecUtils::time_from_string("2024-Feb-28 00:00:00.62Z"); + const auto now_sys = std::chrono::system_clock::now(); + const auto now = std::chrono::time_point_cast(now_sys); + return now; +} + +void getGammaSpectrum(FloatVec &spectrum) +{ + for (size_t i = 0; i < 128; i++) + { + spectrum.push_back(i * 1.0F); + } +} + +std::string getDetectorName(int panel, int column, int mca, bool isNeutron = false) { + // Validate input parameters + if (panel < 1 || column < 1 || mca < 1) { + throw std::invalid_argument("Panel, column, and MCA numbers must be greater than 0."); + } + + // Convert panel, column, and MCA to the appropriate characters + char panelChar = 'A' + (panel - 1); // 'A' for panel 1, 'B' for panel 2, etc. + char columnChar = 'a' + (column - 1); // 'a' for column 1, 'b' for column 2, etc. + char mcaChar = '1' + (mca - 1); // '1' for MCA 1, '2' for MCA 2, etc. + + // Construct the detector name + std::string detectorName; + detectorName += panelChar; + detectorName += columnChar; + detectorName += mcaChar; + + // Append 'N' if it's a neutron detector + if (isNeutron) { + detectorName += 'N'; + } - auto expectedTS = 1709103600.0F; + return detectorName; +} - auto tmp = timepoint.time_since_epoch().count(); - tmp /= 1e6; +std::array generateDetectorNames() { + std::array detectorNames; + + // Random number generation setup + static std::random_device rd; // Obtain a random number from hardware + static std::mt19937 eng(rd()); // Seed the generator + std::uniform_int_distribution<> panelDist(1, 5); // Panel numbers from 1 to 5 + std::uniform_int_distribution<> columnDist(1, 4); // Column numbers from 1 to 5 + std::uniform_int_distribution<> mcaDist(1, 3); // MCA numbers from 1 to 3 + std::uniform_int_distribution<> neutronDist(0, 1); // Randomly decide if it's a neutron detector + + // Generate 10 random detector names + for (int i = 0; i < 10; ++i) { + int panel = panelDist(eng); + int column = columnDist(eng); + int mca = mcaDist(eng); + //bool isNeutron = neutronDist(eng) == 1; // 50% chance of being a neutron detector + bool isNeutron = false; // 50% chance of being a neutron detector + + detectorNames[i] = getDetectorName(panel, column, mca, isNeutron); + } - CHECK(expectedTS == doctest::Approx(tmp)); + std::sort(detectorNames.begin(), detectorNames.end()); - //auto tp2 = std::chrono::time_point_cast( expectedTS ); + return detectorNames; } -#endif -TEST_CASE("More Time") + +std::shared_ptr makeMeasurement(int id, std::string detName) { - // Unix timestamp (seconds since epoch) - std::time_t unix_timestamp = 1709103600; // Example timestamp + auto m = std::make_shared(); + + //auto detName = "Aa" + std::to_string(id); + m->set_detector_name(detName); + + m->set_start_time(getStartTime()); + + auto title = "Test Measurement " + std::to_string(id) + " Det=" + detName; + m->set_title(title); + + auto descr = "test_descr " + std::to_string(id); + m->set_description(descr); + + auto source = "source " + std::to_string(id); + m->set_source(source); + + SpecUtils::FloatVec ncounts{id + 99.0F}; + m->set_neutron_counts(ncounts, 0.0F); + m->set_live_time(id + 10.55F); + m->set_real_time(id + 11.66F); + + SpecUtils::FloatVec spectrum; + getGammaSpectrum(spectrum); - // Convert the Unix timestamp to a time_point with second precision - auto tp_seconds = std::chrono::system_clock::from_time_t(unix_timestamp); + m->set_gamma_counts(spectrum); - // Cast the time_point to microseconds precision - time_point_t tp_microseconds = std::chrono::time_point_cast(tp_seconds); + auto ecal = std::make_shared(); + // auto coeffs = std::vector{4.41F, 3198.33F, 1.0F, 2.0F, 1.5f}; + const auto coeffs = std::vector{id * 2.0F, id * 500.0F, id * 20.0F, id * 30.0F, id * 3.0F}; - auto timestr = SpecUtils::to_vax_string(tp_microseconds); - // Output the time_point - //std::time_t tp_microseconds_time_t = std::chrono::system_clock::to_time_t(tp_microseconds); - std::cout << "Time point (microseconds precision): " << timestr << std::endl; + auto devPairs = SpecUtils::DeviationPairs(); + for (size_t i = 0; i < 20; i++) + { + auto devPair = std::make_pair(id + i + 10.0, id + i * -1.0F); + devPairs.push_back(devPair); + } + + ecal->set_full_range_fraction(spectrum.size(), coeffs, devPairs); + m->set_energy_calibration(ecal); + + return m; } TEST_CASE("Round Trip") { auto fname = std::string("round-trip-cpp.pcf"); + auto n42Fname = fname+".n42"; SUBCASE("Write PCF File") { SpecUtils::PcfFile specfile; CheckFileExistanceAndDelete(fname); - auto m = std::make_shared(); - - m->set_detector_name("Aa1"); - - const auto now_sys = std::chrono::system_clock::now(); - const auto now = std::chrono::time_point_cast(now_sys); - std::cerr << "now: " << now.time_since_epoch().count() << std::endl; + CheckFileExistanceAndDelete(n42Fname); - m->set_start_time(now); - m->set_title("Test Measurment"); - m->set_description("test_descr"); - m->set_source("source123"); + //auto detNames = generateDetectorNames(); + //std::vector detNames = { "Ba1", "Aa2", "Bc3", "Cb4" }; // Bc3 computes an out of range index + std::vector detNames = { "Ba1", "Aa2", "Bb3", "Cb4" }; + auto numMeasurements = detNames.size(); - //m->set_remarks(remarks); - - FloatVec ncounts{ 99.0F }; - m->set_neutron_counts(ncounts, 0.0F); - m->set_live_time(10.55F); - m->set_real_time(11.66F); - - FloatVec spectrum; - for (size_t i = 0; i < 128; i++) + for (size_t i = 0; i < numMeasurements; i++) { - spectrum.push_back(i * 1.0F); + auto detName = detNames[i]; + auto m = makeMeasurement(i + 1, detName); + specfile.add_measurement(m); } - m->set_gamma_counts(spectrum); - - auto ecal = std::make_shared(); - auto coeffs = std::vector{ 4.41F, 3198.33F, 1.0F, 2.0F, 1.5f }; - - SpecUtils::DeviationPairs devPairs; - //auto - for (size_t i = 0; i < 4; i++) { - auto devPair = std::make_pair(i + 10.0, i * -1.0F); - devPairs.push_back(devPair); + auto &m = *(specfile.get_measurement_at(0)); + + CHECK(m.panel() == 2 - 1); + CHECK(m.column() == 1 - 1); + CHECK(m.mca() == 1 - 1); } - ecal->set_full_range_fraction(spectrum.size(), coeffs, devPairs); - //ecal->set_default_polynomial(spectrum.size(), coeffs, devPairs ); - m->set_energy_calibration(ecal); + { + auto &m = *(specfile.get_measurement_at(2)); - specfile.add_measurement(m); + CHECK(m.panel() == 2 - 1); + CHECK(m.column() == 2 - 1); + CHECK(m.mca() == 3 - 1); + } specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf); + specfile.write_to_file(n42Fname, SpecUtils::SaveSpectrumAsType::N42_2012); + SUBCASE("Read PCF File") { SpecUtils::PcfFile specfileToRead; specfileToRead.read(fname); - //CHECK( specfileToRead.max_channel_count() == 128 ); - auto& expectedM = *(specfile.get_measurement_at(0)); - auto& actualM = *(specfileToRead.get_measurement_at(0)); - CHECK(expectedM.title() == actualM.title()); + for (size_t i = 0; i < numMeasurements; i++) + { + auto &expectedM = *(specfile.get_measurement_at(i)); + auto &actualM = *(specfileToRead.get_measurement_at(i)); + CHECK(expectedM.title() == actualM.title()); + + CHECK_FALSE(actualM.detector_name().empty()); + CHECK(actualM.detector_name() == expectedM.detector_name() ); + CHECK(actualM.detector_number() == expectedM.detector_number() ); - //CHECK(actualM.detector_name() == "Aa1"); - //CHECK(actualM.detector_number() == 0); - - // times for PCFs should be compared as vax strings. - auto timeStr1 = SpecUtils::to_vax_string(expectedM.start_time()); - auto timeStr2 = SpecUtils::to_vax_string(actualM.start_time()); - CHECK(timeStr1 == timeStr2); + // times for PCFs should be compared as vax strings. + auto timeStr1 = SpecUtils::to_vax_string(expectedM.start_time()); + auto timeStr2 = SpecUtils::to_vax_string(actualM.start_time()); + CHECK(timeStr1 == timeStr2); - auto& expSpectrum = *expectedM.gamma_counts(); - auto& actualSpectrum = *expectedM.gamma_counts(); - CHECK(actualSpectrum.at(100) > 0); - CHECK(expSpectrum == actualSpectrum); + auto &expSpectrum = *expectedM.gamma_counts(); + auto &actualSpectrum = *expectedM.gamma_counts(); + auto sum = std::accumulate(actualSpectrum.begin(), actualSpectrum.end(), 0); + CHECK(sum > 0); + CHECK(expSpectrum == actualSpectrum); + CHECK(actualM.live_time() > 0.0F); + CHECK(actualM.live_time() == expectedM.live_time()); - CHECK(actualM.live_time() > 0.0F); - CHECK(actualM.live_time() == expectedM.live_time()); + CHECK(actualM.real_time() > 0.0F); + CHECK(actualM.real_time() == expectedM.real_time()); - CHECK(actualM.real_time() > 0.0F); - CHECK(actualM.real_time() == expectedM.real_time()); + CHECK(actualM.neutron_counts().at(0) > 0); + CHECK(actualM.neutron_counts() == expectedM.neutron_counts()); - CHECK(actualM.neutron_counts().at(0) > 0); - CHECK(actualM.neutron_counts() == expectedM.neutron_counts()); + CHECK_FALSE(actualM.get_description().empty()); + CHECK(actualM.get_description() == expectedM.get_description()); - CHECK_FALSE(actualM.get_description().empty() ); - CHECK(actualM.get_description() == "test_descr"); - CHECK(actualM.get_source() == "source123"); + CHECK_FALSE(actualM.get_source().empty()); + CHECK(actualM.get_source() == expectedM.get_source()); - auto newEcal = *actualM.energy_calibration(); - CHECK(newEcal.coefficients() == ecal->coefficients()); + auto newEcal = *actualM.energy_calibration(); + CHECK(newEcal.coefficients() == expectedM.energy_calibration()->coefficients()); - CHECK(expectedM.deviation_pairs() == actualM.deviation_pairs()); + CHECK_MESSAGE(expectedM.deviation_pairs() == actualM.deviation_pairs(), "devpair assert failed at: ", actualM.detector_name()); + } } SUBCASE("Writing over existing file fails") { CHECK_THROWS(specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf)); } - } - - } - -int generateRandomNumber(int min = 64, int max = 1024) { +int generateRandomNumber(int min = 64, int max = 1024) +{ // Create a random device and seed the random number generator std::random_device rd; std::mt19937 gen(rd()); @@ -189,7 +259,6 @@ TEST_CASE("Get Max Channel Count") auto numMesurments = 20; int max_channel_count = 0; // Initialize max_channel_count - for (size_t i = 0; i < numMesurments; i++) { auto m = std::make_shared(); @@ -211,7 +280,6 @@ TEST_CASE("Get Max Channel Count") CHECK(max_channel_count > 0); } - std::pair getExpectedDeviationPair(size_t col, size_t panel, size_t mca, size_t devPair) { const auto maxDevPairs = 20; @@ -235,24 +303,29 @@ std::pair getExpectedDeviationPair(size_t col, size_t panel, size_ float first = (pairVal) * 1.0F; float second = (pairVal + 1) * 1.0F; - return { first, second }; + return {first, second}; } class MyEcal : public SpecUtils::EnergyCalibration { public: - SpecUtils::DeviationPairs& getDevPairs() + SpecUtils::DeviationPairs &getDevPairs() { return m_deviation_pairs; } }; template -void devPairComboLoop(std::function operation) { - for (size_t col = 0; col < MAX_COLUMN_COUNT; ++col) { - for (size_t panel = 0; panel < MAX_PANEL_COUNT; ++panel) { - for (size_t mca = 0; mca < MAX_MCA_COUNT; ++mca) { - for (size_t devPair = 0; devPair < MAX_DEV_PAIRS; ++devPair) { +void devPairComboLoop(std::function operation) +{ + for (size_t col = 0; col < MAX_COLUMN_COUNT; ++col) + { + for (size_t panel = 0; panel < MAX_PANEL_COUNT; ++panel) + { + for (size_t mca = 0; mca < MAX_MCA_COUNT; ++mca) + { + for (size_t devPair = 0; devPair < MAX_DEV_PAIRS; ++devPair) + { operation(col, panel, mca, devPair); } } @@ -262,7 +335,7 @@ void devPairComboLoop(std::function(); + auto m = std::make_shared(); + + auto detName = getDetectorName(panel_j+1, col_i+1, mca_k+1); + m->set_detector_name(detName); + + CHECK(m->column() == col_i); + CHECK(m->panel() == panel_j); + CHECK(m->mca() == mca_k); + MyEcal ecal; - auto& devPairs = ecal.getDevPairs(); + auto &devPairs = ecal.getDevPairs(); for (size_t p = 0; p < maxDevPairs; p++) { auto first = ++pairVal; @@ -289,19 +370,17 @@ TEST_CASE("Deviation Pair Map") } m->set_energy_calibration(std::make_shared(ecal)); - m->set_detector_number(mca_k); - specfile.add_measurement(m); - } } } float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxCol] = {}; SpecUtils::mapDevPairsToArray(specfile, fortranArray); - if (false) + if (true) { - auto checkLambda = [&fortranArray](size_t col, size_t panel, size_t mca, size_t devPair) { + auto checkLambda = [&fortranArray](size_t col, size_t panel, size_t mca, size_t devPair) + { auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); CHECK(fortranArray[0][devPair][mca][panel][col] == expectedPair.first); CHECK(fortranArray[1][devPair][mca][panel][col] == expectedPair.second); @@ -321,20 +400,21 @@ TEST_CASE("Deviation Pair Map Array") float deviationPairsArray[maxHardwareColumns][maxPanel][maxMCA][maxDevPairs][2] = {}; - auto assignLambda = [&pairVal, &deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) { - float* pair = deviationPairsArray[col][panel][mca][devPair]; + auto assignLambda = [&pairVal, &deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) + { + float *pair = deviationPairsArray[col][panel][mca][devPair]; pair[0] = ++pairVal; pair[1] = ++pairVal; - }; + }; devPairComboLoop(assignLambda); - - auto checkLambda = [&deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) { + auto checkLambda = [&deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) + { auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); - float* pair = deviationPairsArray[col][panel][mca][devPair]; + float *pair = deviationPairsArray[col][panel][mca][devPair]; CHECK(pair[0] == expectedPair.first); CHECK(pair[1] == expectedPair.second); - }; + }; devPairComboLoop(checkLambda); // Fortran deviation pairs array: real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs @@ -347,3 +427,49 @@ TEST_CASE("Deviation Pair Map Array") CHECK(fortranArray[1][devPair][mca][j][i] == 20.0F); } } + +TEST_CASE("Find Source String") +{ + std::vector remarks{ + "Description: TestDescription", + "Source: TestSource"}; + + SpecUtils::MeasurementExt m; + m.set_remarks(remarks); + + auto expected = std::string("TestSource"); + auto actual = m.get_source(); + + CHECK(actual == expected); + SUBCASE("Find Description String") + { + + auto expected = std::string("TestDescription"); + auto actual = m.get_description(); + + CHECK(actual == expected); + } +} + +TEST_CASE("No Description Yields Empty String") +{ + std::vector remarks{ + "DescriptionZZZZZ: TestDescription", + "SourceYYYYY: TestSource"}; + + SpecUtils::MeasurementExt m; + m.set_remarks(remarks); + + auto expected = std::string(); + auto actual = m.get_description(); + + CHECK(actual == expected); + + SUBCASE("No Source Yields Empty String") + { + auto expected = std::string(); + auto actual = m.get_source(); + + CHECK(actual == expected); + } +} diff --git a/unit_tests/test_string_functions.cpp b/unit_tests/test_string_functions.cpp index 1b0e7a5..828c9e8 100755 --- a/unit_tests/test_string_functions.cpp +++ b/unit_tests/test_string_functions.cpp @@ -825,53 +825,3 @@ TEST_CASE( "testPrintCompact" ) check_range(-1.0E32,1.0E32); }//void testPrintCompact() -TEST_CASE( "Find Source String") -{ - std::vector remarks{ - "Description: TestDescription", - "Source: TestSource"}; - - auto expected = std::string("TestSource"); - auto actual = SpecUtils::PCF::get_source(remarks); - - CHECK(actual == expected); - -} - -TEST_CASE( "Find Description String") -{ - std::vector remarks{ - "Description: TestDescription", - "Source: TestSource"}; - - auto expected = std::string("TestDescription"); - auto actual = SpecUtils::PCF::get_description(remarks); - - CHECK(actual == expected); - -} - -TEST_CASE( "No Description Yields Empty String") -{ - std::vector remarks{ - "DescriptionZZZZZ: TestDescription", - "Source: TestSource"}; - - auto expected = std::string(); - auto actual = SpecUtils::PCF::get_description(remarks); - - CHECK(actual == expected); -} - -TEST_CASE( "No Source Yields Empty String") -{ - std::vector remarks{ - "DescriptionZZZZZ: TestDescription", - "SourceYYYY: TestSource"}; - - auto expected = std::string(); - auto actual = SpecUtils::PCF::get_source(remarks); - - CHECK(actual == expected); -} - From 48a3268dee1721132d41806cd59515b6f6959f64 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 26 Sep 2024 17:21:43 -0600 Subject: [PATCH 031/100] update fortran wrapper --- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 22 ++++++------ bindings/swig/fortran/SpecUtilsWrap.f90 | 36 +++++++++---------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 043778b..33b43fd 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -8077,6 +8077,17 @@ SWIGEXPORT void _wrap_EnergyCalibrationExt_op_assign__(SwigClassWrapper *farg1, } +SWIGEXPORT SwigClassWrapper _wrap_new_PcfFile() { + SwigClassWrapper fresult ; + SpecUtils::PcfFile *result = 0 ; + + result = (SpecUtils::PcfFile *)new SpecUtils::PcfFile(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + SWIGEXPORT void _wrap_PcfFile_read(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; std::string *arg2 = 0 ; @@ -8131,17 +8142,6 @@ SWIGEXPORT SwigClassWrapper _wrap_PcfFile_make_measurement(SwigClassWrapper *far } -SWIGEXPORT SwigClassWrapper _wrap_new_PcfFile() { - SwigClassWrapper fresult ; - SpecUtils::PcfFile *result = 0 ; - - result = (SpecUtils::PcfFile *)new SpecUtils::PcfFile(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - SWIGEXPORT void _wrap_delete_PcfFile(SwigClassWrapper *farg1) { SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 81d6580..9d49203 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -5661,6 +5661,14 @@ subroutine swigc_EnergyCalibrationExt_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine +function swigc_new_PcfFile() & +bind(C, name="_wrap_new_PcfFile") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + subroutine swigc_PcfFile_read(farg1, farg2) & bind(C, name="_wrap_PcfFile_read") use, intrinsic :: ISO_C_BINDING @@ -5697,14 +5705,6 @@ function swigc_PcfFile_make_measurement(farg1) & type(SwigClassWrapper) :: fresult end function -function swigc_new_PcfFile() & -bind(C, name="_wrap_new_PcfFile") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - subroutine swigc_delete_PcfFile(farg1) & bind(C, name="_wrap_delete_PcfFile") use, intrinsic :: ISO_C_BINDING @@ -13050,6 +13050,16 @@ subroutine swigf_EnergyCalibrationExt_op_assign__(self, other) self%swigdata = farg1 end subroutine +function swigf_new_PcfFile() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(PcfFile) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_PcfFile() +self%swigdata = fresult +end function + subroutine swigf_PcfFile_read(self, fname) use, intrinsic :: ISO_C_BINDING class(PcfFile), intent(in) :: self @@ -13104,16 +13114,6 @@ function swigf_PcfFile_make_measurement(self) & swig_result%swigdata = fresult end function -function swigf_new_PcfFile() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(PcfFile) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_PcfFile() -self%swigdata = fresult -end function - subroutine swigf_PcfFile_release(self) use, intrinsic :: ISO_C_BINDING class(PcfFile), intent(inout) :: self From 8d547a3334099a0e4cf0a16a999bbebc04e44cf4 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Fri, 27 Sep 2024 16:02:59 -0600 Subject: [PATCH 032/100] more dev pair mapping --- SpecUtils/PcfExtensions.h | 67 ++------ bindings/swig/fortran/CMakeLists.txt | 2 +- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 58 +++---- bindings/swig/fortran/SpecUtilsWrap.f90 | 104 +++++------- .../swig/fortran/test_specutils_fortran.f90 | 113 +++++++++++-- src/SpecFile.cpp | 4 +- unit_tests/test_spec_file.cpp | 152 +----------------- 7 files changed, 183 insertions(+), 317 deletions(-) diff --git a/SpecUtils/PcfExtensions.h b/SpecUtils/PcfExtensions.h index f09d1cd..7b6be8e 100644 --- a/SpecUtils/PcfExtensions.h +++ b/SpecUtils/PcfExtensions.h @@ -105,6 +105,12 @@ namespace SpecUtils return mca_; } + /// @brief Overload for testing + void set_ecal( const std::shared_ptr &cal ) + { + energy_calibration_ = cal; + } + protected: int panel_ = -1; int column_ = -1; @@ -123,32 +129,23 @@ namespace SpecUtils EnergyCalibrationExt() : SpecUtils::EnergyCalibration() { m_type = EnergyCalType::FullRangeFraction; - //*m_channel_energies({1,2,3,4,5}); - - //m_channel_energies = std::make_shared>(std::vector{1.0f, 2.0f, 3.0f}); - m_channel_energies = std::make_shared>(129, 1.0f); } + SpecUtils::DeviationPairs &get_dev_pairs() { return m_deviation_pairs; } - FloatVec & get_coeffs() + void set_dev_pairs(SpecUtils::DeviationPairs & devPairs) { - return m_coefficients; + m_deviation_pairs = devPairs; } - void set_channel_energies( const FloatVec& e ) + FloatVec & get_coeffs() { - //m_channel_energies = std::make_shared({1,2,3,4,5}); - //m_channel_energies->push_back(10); - // //for(auto c : e) - // { - // *m_channel_energies = e; - // } + return m_coefficients; } - }; class PcfFile : public SpecUtils::SpecFile @@ -232,46 +229,4 @@ namespace SpecUtils return std::stoi(retVal); } - inline void mapDevPairsToArray(SpecUtils::PcfFile &specFile, float fortranArray[2][20][8][8][4]) - { - auto numMeasurements = specFile.num_measurements(); - for (size_t i = 0; i < numMeasurements; i++) - { - auto &m = *(specFile.get_measurement_at(i)); - auto column = m.column(); - auto panel = m.panel(); - auto mca = m.mca(); - auto &devPairs = m.deviation_pairs(); - auto devPairIdx = 0; - for (auto &devPair : devPairs) - { - fortranArray[0][devPairIdx][mca][panel][column] = devPair.first; - fortranArray[1][devPairIdx][mca][panel][column] = devPair.second; - devPairIdx++; - } - } - - } - - // Function to map C array to Fortran array - inline void mapCArrayToFortranArray(const float cArray[4][8][8][20][2], float fortranArray[2][20][8][8][4]) - { - for (size_t i = 0; i < 4; ++i) - { - for (size_t j = 0; j < 8; ++j) - { - for (size_t k = 0; k < 8; ++k) - { - for (size_t l = 0; l < 20; ++l) - { - for (size_t m = 0; m < 2; ++m) - { - fortranArray[m][l][k][j][i] = cArray[i][j][k][l][m]; - } - } - } - } - } - } - } // namespace SpecUtils \ No newline at end of file diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 3db6c99..784c932 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -12,4 +12,4 @@ target_link_libraries(specutils_fortran PRIVATE specutils_fortran_wrap) add_executable(test_specutils_fortran test_specutils_fortran.f90 ) target_link_libraries(test_specutils_fortran test_drive specutils_fortran ) -add_test(NAME specutils_fortran_test COMMAND test_specutils_fortran) \ No newline at end of file +add_test(NAME test_specutils_fortran COMMAND test_specutils_fortran) \ No newline at end of file diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 33b43fd..cd40640 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -7977,6 +7977,19 @@ SWIGEXPORT int _wrap_MeasurementExt_mca(SwigClassWrapper *farg1) { } +SWIGEXPORT void _wrap_MeasurementExt_set_ecal(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->set_ecal((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); +} + + SWIGEXPORT void _wrap_delete_MeasurementExt(SwigClassWrapper *farg1) { SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; @@ -8026,31 +8039,31 @@ SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_dev_pairs(SwigClassWr } -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_coeffs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; +SWIGEXPORT void _wrap_EnergyCalibrationExt_set_dev_pairs(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; + SpecUtils::DeviationPairs *arg2 = 0 ; std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - SpecUtils::FloatVec *result = 0 ; smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; - result = (SpecUtils::FloatVec *) &(arg1)->get_coeffs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::DeviationPairs &", "DeviationPairs", "SpecUtils::EnergyCalibrationExt::set_dev_pairs(SpecUtils::DeviationPairs &)", return ); + arg2 = (SpecUtils::DeviationPairs *)farg2->cptr; + (arg1)->set_dev_pairs(*arg2); } -SWIGEXPORT void _wrap_EnergyCalibrationExt_set_channel_energies(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_coeffs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; - SpecUtils::FloatVec *arg2 = 0 ; std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; + SpecUtils::FloatVec *result = 0 ; smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::FloatVec const &", "FloatVector", "SpecUtils::EnergyCalibrationExt::set_channel_energies(SpecUtils::FloatVec const &)", return ); - arg2 = (SpecUtils::FloatVec *)farg2->cptr; - (arg1)->set_channel_energies((SpecUtils::FloatVec const &)*arg2); + result = (SpecUtils::FloatVec *) &(arg1)->get_coeffs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; } @@ -8161,26 +8174,5 @@ SWIGEXPORT void _wrap_PcfFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrap } -SWIGEXPORT void _wrap_mapDevPairsToArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::PcfFile *arg1 = 0 ; - float (*arg2)[20][8][8][4] ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile &", "PcfFile", "SpecUtils::mapDevPairsToArray(SpecUtils::PcfFile &,float [2][20][8][8][4])", return ); - arg1 = (SpecUtils::PcfFile *)farg1->cptr; - arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::mapDevPairsToArray(*arg1,(float (*)[20][8][8][4])arg2); -} - - -SWIGEXPORT void _wrap_mapCArrayToFortranArray(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - float (*arg1)[8][8][20][2] ; - float (*arg2)[20][8][8][4] ; - - arg1 = (float (*)[8][8][20][2])(farg1); - arg2 = (float (*)[20][8][8][4])(farg2); - SpecUtils::mapCArrayToFortranArray((float const (*)[8][8][20][2])arg1,(float (*)[20][8][8][4])arg2); -} - - } // extern diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 9d49203..87374e2 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -849,6 +849,7 @@ module specutilswrap procedure :: panel => swigf_MeasurementExt_panel procedure :: column => swigf_MeasurementExt_column procedure :: mca => swigf_MeasurementExt_mca + procedure :: set_ecal => swigf_MeasurementExt_set_ecal procedure :: release => swigf_MeasurementExt_release procedure, private :: swigf_MeasurementExt_op_assign__ generic :: assignment(=) => swigf_MeasurementExt_op_assign__ @@ -857,8 +858,8 @@ module specutilswrap type, extends(EnergyCalibration), public :: EnergyCalibrationExt contains procedure :: get_dev_pairs => swigf_EnergyCalibrationExt_get_dev_pairs + procedure :: set_dev_pairs => swigf_EnergyCalibrationExt_set_dev_pairs procedure :: get_coeffs => swigf_EnergyCalibrationExt_get_coeffs - procedure :: set_channel_energies => swigf_EnergyCalibrationExt_set_channel_energies procedure :: release => swigf_EnergyCalibrationExt_release procedure, private :: swigf_EnergyCalibrationExt_op_assign__ generic :: assignment(=) => swigf_EnergyCalibrationExt_op_assign__ @@ -874,8 +875,6 @@ module specutilswrap procedure, private :: swigf_PcfFile_op_assign__ generic :: assignment(=) => swigf_PcfFile_op_assign__ end type PcfFile - public :: mapDevPairsToArray - public :: mapCArrayToFortranArray interface is_candidate_n42_file module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 end interface @@ -5597,6 +5596,14 @@ function swigc_MeasurementExt_mca(farg1) & integer(C_INT) :: fresult end function +subroutine swigc_MeasurementExt_set_ecal(farg1, farg2) & +bind(C, name="_wrap_MeasurementExt_set_ecal") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + subroutine swigc_delete_MeasurementExt(farg1) & bind(C, name="_wrap_delete_MeasurementExt") use, intrinsic :: ISO_C_BINDING @@ -5629,6 +5636,14 @@ function swigc_EnergyCalibrationExt_get_dev_pairs(farg1) & type(SwigClassWrapper) :: fresult end function +subroutine swigc_EnergyCalibrationExt_set_dev_pairs(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibrationExt_set_dev_pairs") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + function swigc_EnergyCalibrationExt_get_coeffs(farg1) & bind(C, name="_wrap_EnergyCalibrationExt_get_coeffs") & result(fresult) @@ -5638,14 +5653,6 @@ function swigc_EnergyCalibrationExt_get_coeffs(farg1) & type(SwigClassWrapper) :: fresult end function -subroutine swigc_EnergyCalibrationExt_set_channel_energies(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibrationExt_set_channel_energies") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - subroutine swigc_delete_EnergyCalibrationExt(farg1) & bind(C, name="_wrap_delete_EnergyCalibrationExt") use, intrinsic :: ISO_C_BINDING @@ -5720,21 +5727,6 @@ subroutine swigc_PcfFile_op_assign__(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine -subroutine swigc_mapDevPairsToArray(farg1, farg2) & -bind(C, name="_wrap_mapDevPairsToArray") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR), value :: farg2 -end subroutine - -subroutine swigc_mapCArrayToFortranArray(farg1, farg2) & -bind(C, name="_wrap_mapCArrayToFortranArray") -use, intrinsic :: ISO_C_BINDING -type(C_PTR), value :: farg1 -type(C_PTR), value :: farg2 -end subroutine - end interface @@ -12948,6 +12940,18 @@ function swigf_MeasurementExt_mca(self) & swig_result = fresult end function +subroutine swigf_MeasurementExt_set_ecal(self, cal) +use, intrinsic :: ISO_C_BINDING +class(MeasurementExt), intent(in) :: self +class(EnergyCalibration), intent(in) :: cal +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = cal%swigdata +call swigc_MeasurementExt_set_ecal(farg1, farg2) +end subroutine + subroutine swigf_MeasurementExt_release(self) use, intrinsic :: ISO_C_BINDING class(MeasurementExt), intent(inout) :: self @@ -12998,6 +13002,18 @@ function swigf_EnergyCalibrationExt_get_dev_pairs(self) & swig_result%swigdata = fresult end function +subroutine swigf_EnergyCalibrationExt_set_dev_pairs(self, devpairs) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibrationExt), intent(in) :: self +class(DeviationPairs), intent(in) :: devpairs +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = devpairs%swigdata +call swigc_EnergyCalibrationExt_set_dev_pairs(farg1, farg2) +end subroutine + function swigf_EnergyCalibrationExt_get_coeffs(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -13011,18 +13027,6 @@ function swigf_EnergyCalibrationExt_get_coeffs(self) & swig_result%swigdata = fresult end function -subroutine swigf_EnergyCalibrationExt_set_channel_energies(self, e) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibrationExt), intent(in) :: self -class(FloatVector), intent(in) :: e -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = e%swigdata -call swigc_EnergyCalibrationExt_set_channel_energies(farg1, farg2) -end subroutine - subroutine swigf_EnergyCalibrationExt_release(self) use, intrinsic :: ISO_C_BINDING class(EnergyCalibrationExt), intent(inout) :: self @@ -13141,29 +13145,5 @@ subroutine swigf_PcfFile_op_assign__(self, other) self%swigdata = farg1 end subroutine -subroutine mapDevPairsToArray(specfile0, fortranarray) -use, intrinsic :: ISO_C_BINDING -class(PcfFile), intent(in) :: specfile0 -real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray -type(SwigClassWrapper) :: farg1 -type(C_PTR) :: farg2 - -farg1 = specfile0%swigdata -farg2 = c_loc(fortranarray) -call swigc_mapDevPairsToArray(farg1, farg2) -end subroutine - -subroutine mapCArrayToFortranArray(carray, fortranarray) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), dimension(2,20,8,8,4), target :: carray -real(C_FLOAT), dimension(4,8,8,20,2), target :: fortranarray -type(C_PTR) :: farg1 -type(C_PTR) :: farg2 - -farg1 = c_loc(carray) -farg2 = c_loc(fortranarray) -call swigc_mapCArrayToFortranArray(farg1, farg2) -end subroutine - end module diff --git a/bindings/swig/fortran/test_specutils_fortran.f90 b/bindings/swig/fortran/test_specutils_fortran.f90 index 12af47f..716d130 100644 --- a/bindings/swig/fortran/test_specutils_fortran.f90 +++ b/bindings/swig/fortran/test_specutils_fortran.f90 @@ -12,6 +12,35 @@ program TestSpecUtils print *, "Success!" contains +subroutine mapDevPairsToArray2(specFile, fortranArray) + implicit none + type(PcfFile), intent(in) :: specFile + real :: fortranArray(2, 20, 8, 8, 4) + integer :: numMeasurements, i, devPairIdx + type(MeasurementExt) :: m + integer :: column, panel, mca, numDevPairs + type(DevPair) :: pair + type(DeviationPairs) :: devPairs + + numMeasurements = specFile%num_measurements() + + do i = 1, numMeasurements + m = specFile%get_measurement_at(i-1) + column = m%column() + panel = m%panel() + mca = m%mca() + devPairs = m%deviation_pairs() + devPairIdx = 1 + + numDevPairs = devPairs%size() + do devPairIdx = 1, numDevPairs + pair = devPairs%get(devPairIdx) + fortranArray(1, devPairIdx, mca + 1, panel + 1, column + 1) = pair%get_first() + fortranArray(2, devPairIdx, mca + 1, panel + 1, column + 1) = pair%get_second() + end do + end do +end subroutine + subroutine SpecUtilsRoundTrip() ! use, intrinsic :: ISO_C_BINDING type(error_type), allocatable :: error @@ -27,6 +56,7 @@ subroutine SpecUtilsRoundTrip() type(DeviationPairs) :: devPairsIn type(DevPair) :: devPairVal type(EnergyCalibration) :: ecalIn + real :: devPairArray(2, maxDevPairs, maxMCA, maxPanel, maxCol) filePath = "spec-utils-round-trip.pcf" if ( is_file(filePath) ) then @@ -37,11 +67,10 @@ subroutine SpecUtilsRoundTrip() m = MeasurementExt() call m%set_start_time_from_string("14-Nov-1995 12:17:41.43") - call m%set_title("SpecUtilsRoundTrip") + call m%set_title("SpecUtilsRoundTrip Det=Ba2") + call m%set_detector_name("Ba2"); call m%set_description("TestDescription") call m%set_source("TestSource") - ! call m%set_column(99) - ! call m%set_panel(55) call m%set_neutron_count(99.0) allocate( spectrum(128) ) @@ -77,6 +106,11 @@ subroutine SpecUtilsRoundTrip() call SpecUtilsRoundTrip_Read(sf, filePath) + call mapDevPairsToArray2(sf, devPairArray) + + call check( error, devPairArray(1, 1, 2, 2, 1), 11.0 ) + call check( error, devPairArray(2, 1, 2, 2, 1), -1.0 ) + call sf%release() call coeffsIn%release() call devPairsIn%release() @@ -177,7 +211,7 @@ subroutine getExpectedDeviationPair(col, panel, mca, devPair, first, second) end if ! Calculate the total number of pairs before the given indices - totalPairs = devPair + mca * maxDevPairs + panel * maxDevPairs * maxMCA + col * maxDevPairs * maxMCA * maxPanel + totalPairs = devPair-1 + (mca-1) * maxDevPairs + (panel-1) * maxDevPairs * maxMCA + (col-1) * maxDevPairs * maxMCA * maxPanel ! Calculate the pairVal pairVal = 1 + 2 * totalPairs @@ -185,31 +219,84 @@ subroutine getExpectedDeviationPair(col, panel, mca, devPair, first, second) ! Calculate the first and second pair values first = real(pairVal) second = real(pairVal + 1) -end subroutine getExpectedDeviationPair +end subroutine + +subroutine getDetectorName(panel, column, mca, isNeutron, detectorName) + integer, intent(in) :: panel, column, mca + logical, intent(in), optional :: isNeutron + character(len=20), intent(out) :: detectorName + character(len=1) :: panelChar, columnChar, mcaChar + + ! Validate input parameters + if (panel < 1 .or. column < 1 .or. mca < 1) then + print *, "Error: Panel, column, and MCA numbers must be greater than 0." + stop + end if + + ! Convert panel, column, and MCA to the appropriate characters + panelChar = char(iachar('A') + (panel - 1)) + columnChar = char(iachar('a') + (column - 1)) + mcaChar = char(iachar('1') + (mca - 1)) + + ! Construct the detector name + detectorName = panelChar // columnChar // mcaChar + + ! Append 'N' if it's a neutron detector + if (present(isNeutron) .and. isNeutron) then + detectorName = detectorName // 'N' + end if + +end subroutine subroutine DerivationPairMap() type(error_type), allocatable :: error - type(SpecFile) :: sf - type(Measurement) :: m + type(PcfFile) :: sf + type(EnergyCalibrationExt) :: ecal + type(MeasurementExt) :: m type(DeviationPairs) :: devPairs - type(DevPair) :: devPairAct, devPairExp + type(DevPair) :: devPairAct, devPairExp, dp + character(len=20) :: detectorName real :: devPairArray(2, maxDevPairs, maxMCA, maxPanel, maxCol) integer :: col_i, panel_j, mca_k, p real :: first, second integer :: pairVal - integer :: col, panel, mca, devPair + integer :: col, panel, mca, devPair_i - sf = SpecFile() + sf = PcfFile() + pairVal = 0 do col = 1, maxCol do panel = 1, maxPanel do mca = 1, maxMCA - m = Measurement() - do devPair = 1, maxDevPairs - + m = MeasurementExt() + devPairs = DeviationPairs() + call getDetectorName(panel,col,mca,.false.,detectorName) + call m%set_detector_name(detectorName) + do devPair_i = 1, maxDevPairs + dp = DevPair() + pairVal = pairVal + 1 + call dp%set_first(real(pairVal)) + pairVal = pairVal + 1 + call dp%set_second(real(pairVal)) + call devPairs%push_back(dp) end do + ecal = EnergyCalibrationExt() + call ecal%set_dev_pairs(devPairs) + call m%set_ecal(ecal) + call sf%add_measurement(m) end do end do end do + + call mapDevPairsToArray2(sf, devPairArray) + + col =3 + panel = 2 + mca = 7 + devPair_i = 19 + call getExpectedDeviationPair(col, panel, mca, devPair_i, first, second) + + call check( error, devPairArray(1,devPair_i,mca,panel,col), first) + call check( error, devPairArray(2,devPair_i,mca,panel,col), second) end subroutine diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index cc11f41..1476120 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -899,8 +899,8 @@ void Measurement::set_occupancy_status( const OccupancyStatus status ) void Measurement::set_detector_name( const std::string &name ) -{ - detector_name_ = name; +{ + detector_name_ = trim_copy(name); } diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 1fefc78..243b813 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -75,9 +75,9 @@ std::array generateDetectorNames() { // Random number generation setup static std::random_device rd; // Obtain a random number from hardware static std::mt19937 eng(rd()); // Seed the generator - std::uniform_int_distribution<> panelDist(1, 5); // Panel numbers from 1 to 5 + std::uniform_int_distribution<> panelDist(1, 4); // Panel numbers from 1 to 5 std::uniform_int_distribution<> columnDist(1, 4); // Column numbers from 1 to 5 - std::uniform_int_distribution<> mcaDist(1, 3); // MCA numbers from 1 to 3 + std::uniform_int_distribution<> mcaDist(1, 8); // MCA numbers from 1 to 3 std::uniform_int_distribution<> neutronDist(0, 1); // Randomly decide if it's a neutron detector // Generate 10 random detector names @@ -280,154 +280,6 @@ TEST_CASE("Get Max Channel Count") CHECK(max_channel_count > 0); } -std::pair getExpectedDeviationPair(size_t col, size_t panel, size_t mca, size_t devPair) -{ - const auto maxDevPairs = 20; - const auto maxMCA = 8; - const auto maxPanel = 8; - const auto maxCol = 4; - - // Validate the indices to ensure they are within bounds - if (col >= maxCol || panel >= maxPanel || mca >= maxMCA || devPair >= maxDevPairs) - { - throw std::out_of_range("Index out of range"); - } - - // Calculate the total number of pairs before the given indices - size_t totalPairs = devPair + mca * maxDevPairs + panel * maxDevPairs * maxMCA + col * maxDevPairs * maxMCA * maxPanel; - - // Calculate the pairVal - size_t pairVal = 1 + 2 * totalPairs; - - // Calculate the first and second pair values - float first = (pairVal) * 1.0F; - float second = (pairVal + 1) * 1.0F; - - return {first, second}; -} - -class MyEcal : public SpecUtils::EnergyCalibration -{ -public: - SpecUtils::DeviationPairs &getDevPairs() - { - return m_deviation_pairs; - } -}; - -template -void devPairComboLoop(std::function operation) -{ - for (size_t col = 0; col < MAX_COLUMN_COUNT; ++col) - { - for (size_t panel = 0; panel < MAX_PANEL_COUNT; ++panel) - { - for (size_t mca = 0; mca < MAX_MCA_COUNT; ++mca) - { - for (size_t devPair = 0; devPair < MAX_DEV_PAIRS; ++devPair) - { - operation(col, panel, mca, devPair); - } - } - } - } -} - -TEST_CASE("Deviation Pair Map") -{ - SpecUtils::PcfFile specfile; - - const auto maxDevPairs = 20; - const auto maxMCA = 8; - const auto maxPanel = 8; - const auto maxCol = 4; - - auto pairVal = 0; - for (size_t col_i = 0; col_i < maxCol; col_i++) - { - for (size_t panel_j = 0; panel_j < maxPanel; panel_j++) - { - for (size_t mca_k = 0; mca_k < maxMCA; mca_k++) - { - auto m = std::make_shared(); - - auto detName = getDetectorName(panel_j+1, col_i+1, mca_k+1); - m->set_detector_name(detName); - - CHECK(m->column() == col_i); - CHECK(m->panel() == panel_j); - CHECK(m->mca() == mca_k); - - MyEcal ecal; - auto &devPairs = ecal.getDevPairs(); - for (size_t p = 0; p < maxDevPairs; p++) - { - auto first = ++pairVal; - auto second = ++pairVal; - - auto devPair = std::make_pair(first, second); - devPairs.push_back(devPair); - } - m->set_energy_calibration(std::make_shared(ecal)); - - specfile.add_measurement(m); - } - } - } - - float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxCol] = {}; - SpecUtils::mapDevPairsToArray(specfile, fortranArray); - if (true) - { - auto checkLambda = [&fortranArray](size_t col, size_t panel, size_t mca, size_t devPair) - { - auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); - CHECK(fortranArray[0][devPair][mca][panel][col] == expectedPair.first); - CHECK(fortranArray[1][devPair][mca][panel][col] == expectedPair.second); - }; - devPairComboLoop(checkLambda); - } -} - -TEST_CASE("Deviation Pair Map Array") -{ - const auto maxDevPairs = 20; - const auto maxMCA = 8; - const auto maxPanel = 8; - const auto maxHardwareColumns = 4; - - auto pairVal = 0; - - float deviationPairsArray[maxHardwareColumns][maxPanel][maxMCA][maxDevPairs][2] = {}; - - auto assignLambda = [&pairVal, &deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) - { - float *pair = deviationPairsArray[col][panel][mca][devPair]; - pair[0] = ++pairVal; - pair[1] = ++pairVal; - }; - devPairComboLoop(assignLambda); - - auto checkLambda = [&deviationPairsArray](size_t col, size_t panel, size_t mca, size_t devPair) - { - auto expectedPair = getExpectedDeviationPair(col, panel, mca, devPair); - float *pair = deviationPairsArray[col][panel][mca][devPair]; - CHECK(pair[0] == expectedPair.first); - CHECK(pair[1] == expectedPair.second); - }; - devPairComboLoop(checkLambda); - - // Fortran deviation pairs array: real, dimension(2,MAX_DEVIATION_PAIRS,MAX_MCA_COUNT,MAX_PANEL_COUNT,MAX_COLUMN_COUNT) :: DeviationPairs - float fortranArray[2][maxDevPairs][maxMCA][maxPanel][maxHardwareColumns]; - SpecUtils::mapCArrayToFortranArray(deviationPairsArray, fortranArray); - - { - size_t i = 0, j = 0, mca = 0, devPair = 9; - CHECK(fortranArray[0][devPair][mca][j][i] == 19.0F); - CHECK(fortranArray[1][devPair][mca][j][i] == 20.0F); - } -} - TEST_CASE("Find Source String") { std::vector remarks{ From 9b195e43dafaa9612e7a76aad69d3266392e1ed7 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Fri, 27 Sep 2024 16:26:20 -0600 Subject: [PATCH 033/100] cherrypick Will's tag support --- SpecUtils/SpecFile.h | 20 +++++++++ bindings/c/SpecUtils_c.cpp | 16 +++++++ bindings/c/SpecUtils_c.h | 8 ++++ .../swig/fortran/SpecUtilsFortran_wrap.cxx | 26 +++++++++++ bindings/swig/fortran/SpecUtilsWrap.f90 | 44 +++++++++++++++++++ src/SpecFile.cpp | 25 +++++++++++ src/SpecFile_n42.cpp | 35 +++++++++++++++ src/SpecFile_pcf.cpp | 12 ++--- unit_tests/test_spec_file.cpp | 11 ++++- 9 files changed, 189 insertions(+), 8 deletions(-) diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 138da3f..71db1df 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -621,6 +621,11 @@ class Measurement */ float exposure_rate() const; + /** Returns the application specific "tag" character, used by the PCF file format. + Values of '\0' or ' ' generally indicate it is not set. + */ + char pcf_tag() const; + //position_time(): returns the (local, or detector) time of the GPS fix, if // known. Returns time_point_t{} otherwise. const time_point_t position_time() const; @@ -834,6 +839,9 @@ class Measurement //To set real and live times, see SpecFile::set_live_time(...) + /** Sets the application specific "tag" character, used by the PCF file format. */ + void set_pcf_tag( const char tag_char ); + /** returns the number of channels in #gamma_counts_. Note: energy calibration could still be invalid and not have channel energies defined, even when this returns a non-zero value. @@ -1155,6 +1163,18 @@ class Measurement */ float exposure_rate_; + /** A application-specific data element used by the PCF format. + + For the PCF format, the meaning of the 'tag' character is highly overloaded, and can mean, + among other uses: + '-' not occupied, and anything else occupied - for RPM data + '-' use a dashed line when plotting + '<' Use filled region style when plotting + 'T' Calibration from thorium + 'K' Calibration from potassium + */ + char pcf_tag_ = '\0'; + /** The #LocationState indicates the position, speed, and/or orientation of the instrument, detector, or item being measured. At the moment, only one of these quantities are recorded, primarily to reduce complexity since the author hasnt encountered any files that actually diff --git a/bindings/c/SpecUtils_c.cpp b/bindings/c/SpecUtils_c.cpp index 1ca7b73..a6d597c 100644 --- a/bindings/c/SpecUtils_c.cpp +++ b/bindings/c/SpecUtils_c.cpp @@ -1669,6 +1669,22 @@ bool SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, m->set_start_time( tp ); } +char SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ) +{ + auto m = reinterpret_cast( instance ); + assert( m ); + return m ? m->pcf_tag() : '\0'; +} + + +void SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, + const char tag_char ) +{ + auto m = reinterpret_cast( instance ); + assert( m ); + if( m ) + m->set_pcf_tag( tag_char ); +} uint32_t SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ) { diff --git a/bindings/c/SpecUtils_c.h b/bindings/c/SpecUtils_c.h index f467f3f..c211ecc 100644 --- a/bindings/c/SpecUtils_c.h +++ b/bindings/c/SpecUtils_c.h @@ -768,6 +768,14 @@ DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, const char * const start_time_str ); +/** Returns the application-specific "tag" characters used by the PCF file format. */ +DLLEXPORT char CALLINGCONVENTION +SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ); + +/** Sets the application-specific "tag" characters used by the PCF file format. */ +DLLEXPORT void CALLINGCONVENTION +SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, + const char tag_char ); DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ); diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index cd40640..4c1c779 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -1749,6 +1749,20 @@ SWIGEXPORT float _wrap_Measurement_exposure_rate(SwigClassWrapper *farg1) { } +SWIGEXPORT char _wrap_Measurement_pcf_tag(SwigClassWrapper *farg1) { + char fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + char result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (char)((SpecUtils::Measurement const *)arg1)->pcf_tag(); + fresult = (char)(result); + return fresult; +} + + SWIGEXPORT SwigClassWrapper _wrap_Measurement_position_time(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2200,6 +2214,18 @@ SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_1(SwigClassWrapper *f } +SWIGEXPORT void _wrap_Measurement_set_pcf_tag(SwigClassWrapper *farg1, char const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + char arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (char)(*farg2); + (arg1)->set_pcf_tag(arg2); +} + + SWIGEXPORT int _wrap_Measurement_num_gamma_channels(SwigClassWrapper *farg1) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 87374e2..a53425f 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -306,6 +306,7 @@ module specutilswrap procedure :: has_gps_info => swigf_Measurement_has_gps_info procedure :: dose_rate => swigf_Measurement_dose_rate procedure :: exposure_rate => swigf_Measurement_exposure_rate + procedure :: pcf_tag => swigf_Measurement_pcf_tag procedure :: position_time => swigf_Measurement_position_time procedure :: detector_name => swigf_Measurement_detector_name procedure :: detector_number => swigf_Measurement_detector_number @@ -337,6 +338,7 @@ module specutilswrap procedure :: set_detector_number => swigf_Measurement_set_detector_number procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_0 procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_1 + procedure :: set_pcf_tag => swigf_Measurement_set_pcf_tag procedure :: num_gamma_channels => swigf_Measurement_num_gamma_channels procedure :: find_gamma_channel => swigf_Measurement_find_gamma_channel procedure :: gamma_channel_content => swigf_Measurement_gamma_channel_content @@ -1674,6 +1676,15 @@ function swigc_Measurement_exposure_rate(farg1) & real(C_FLOAT) :: fresult end function +function swigc_Measurement_pcf_tag(farg1) & +bind(C, name="_wrap_Measurement_pcf_tag") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +character(C_CHAR) :: fresult +end function + function swigc_Measurement_position_time(farg1) & bind(C, name="_wrap_Measurement_position_time") & result(fresult) @@ -1948,6 +1959,14 @@ subroutine swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine +subroutine swigc_Measurement_set_pcf_tag(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_pcf_tag") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +character(C_CHAR), intent(in) :: farg2 +end subroutine + function swigc_Measurement_num_gamma_channels(farg1) & bind(C, name="_wrap_Measurement_num_gamma_channels") & result(fresult) @@ -6850,6 +6869,19 @@ function swigf_Measurement_exposure_rate(self) & swig_result = fresult end function +function swigf_Measurement_pcf_tag(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(C_CHAR) :: swig_result +class(Measurement), intent(in) :: self +character(C_CHAR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_pcf_tag(farg1) +swig_result = fresult +end function + function swigf_Measurement_position_time(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -7254,6 +7286,18 @@ subroutine swigf_Measurement_set_neutron_counts__SWIG_1(self, counts) call swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) end subroutine +subroutine swigf_Measurement_set_pcf_tag(self, tag_char) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(C_CHAR), intent(in) :: tag_char +type(SwigClassWrapper) :: farg1 +character(C_CHAR) :: farg2 + +farg1 = self%swigdata +farg2 = tag_char +call swigc_Measurement_set_pcf_tag(farg1, farg2) +end subroutine + function swigf_Measurement_num_gamma_channels(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index 1476120..e2470fb 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -1601,6 +1601,8 @@ void Measurement::reset() dose_rate_ = exposure_rate_ = -1.0f; + pcf_tag_ = '\0'; + location_.reset(); }//void reset() @@ -1631,6 +1633,18 @@ float Measurement::exposure_rate() const { return exposure_rate_; } + + +char Measurement::pcf_tag() const +{ + return pcf_tag_; +} + + +void Measurement::set_pcf_tag( const char tag_char ) +{ + pcf_tag_ = tag_char; +} void Measurement::combine_gamma_channels( const size_t ncombine ) @@ -3558,6 +3572,12 @@ void Measurement::equal_enough( const Measurement &lhs, const Measurement &rhs ) + " while RHS is " + std::to_string(rhs.exposure_rate_) ); } + if( lhs.pcf_tag_ != rhs.pcf_tag_ ) + { + issues.push_back( string("Measurement: The PCF tag of LHS is ") + lhs.pcf_tag_ + + " while RHS is " + std::to_string(rhs.pcf_tag_) ); + } + if( (!lhs.location_) != (!rhs.location_) ) { issues.push_back( "Measurement: The " @@ -4412,6 +4432,8 @@ const Measurement &Measurement::operator=( const Measurement &rhs ) dose_rate_ = rhs.dose_rate_; exposure_rate_ = rhs.exposure_rate_; + pcf_tag_ = rhs.pcf_tag_; + location_ = rhs.location_; return *this; @@ -7854,6 +7876,9 @@ std::shared_ptr SpecFile::sum_measurements( const std::set &sa dataH->exposure_rate_ += meas->exposure_rate_; }//if( meas->dose_rate_ >= 0.0f ) + if( meas->pcf_tag_ != '\0' ) + dataH->pcf_tag_ = meas->pcf_tag_; + if( meas->has_gps_info() ) { num_gps += 1; diff --git a/src/SpecFile_n42.cpp b/src/SpecFile_n42.cpp index 2535c07..ac49643 100644 --- a/src/SpecFile_n42.cpp +++ b/src/SpecFile_n42.cpp @@ -1252,6 +1252,14 @@ void add_spectra_to_measurement_node_in_2012_N42_xml( ::rapidxml::xml_node Spectrum->append_node( remark ); } + if( m->pcf_tag() != '\0' ) + { + const string tag_remark = string("Tag: ") + m->pcf_tag(); + val = doc->allocate_string( tag_remark.c_str(), tag_remark.size()+1 ); + xml_node *remark = doc->allocate_node( node_element, "Remark", val ); + Spectrum->append_node( remark ); + }// + const std::vector &remarks = m->remarks(); for( size_t i = 0; i < remarks.size(); ++i ) { @@ -1331,6 +1339,14 @@ void add_spectra_to_measurement_node_in_2012_N42_xml( ::rapidxml::xml_node GrossCounts->append_node( remark ); }//if( m->title_.size() ) + if( m->pcf_tag() != '\0' ) + { + const string tag_remark = string("Tag: ") + m->pcf_tag(); + val = doc->allocate_string( tag_remark.c_str(), tag_remark.size()+1 ); + xml_node *remark = doc->allocate_node( node_element, "Remark", val ); + GrossCounts->append_node( remark ); + }// + const auto &remarks = m->remarks(); for( size_t i = 0; i < remarks.size(); ++i ) { @@ -2603,6 +2619,13 @@ struct N42DecodeHelper2006 meas.title_ = remark; continue; } + + if( SpecUtils::istarts_with( remark, "Tag:") ) + { + const string tag_str = SpecUtils::trim_copy( remark.substr(4) ); + meas.pcf_tag_ = tag_str.empty() ? '\0' : tag_str[0]; + continue; + } meas.remarks_.push_back( remark ); @@ -3615,6 +3638,10 @@ struct N42DecodeHelper2012 rel_loc->from_cartesian( dx, dy, dz ); } */ + }else if( SpecUtils::istarts_with( remark, "Tag:") ) + { + const string tag_str = SpecUtils::trim_copy( remark.substr(4) ); + meas->pcf_tag_ = tag_str.empty() ? '\0' : tag_str[0]; }else if( remark.size() ) { meas->remarks_.emplace_back( std::move(remark) ); @@ -4008,6 +4035,11 @@ struct N42DecodeHelper2012 { //See notes in equivalent portion of code for the tag meas->title_ += SpecUtils::trim_copy( remark.substr(6) ); + }else if( SpecUtils::istarts_with( remark, "Tag:") ) + { + //See notes in equivalent portion of code for the tag + const string tag_str = SpecUtils::trim_copy( remark.substr(4) ); + meas->pcf_tag_ = tag_str.empty() ? '\0' : tag_str.front(); }else if( !remark.empty() ) { meas->remarks_.push_back( remark ); @@ -9293,6 +9325,9 @@ namespace SpecUtils if( title_.size() ) remarks.push_back( "Title: " + title_ ); + if( pcf_tag_ != '\0' ) + remarks.push_back( string("Tag: ") + pcf_tag_ ); + bool wroteSurvey = false, wroteName = false, wroteSpeed = false; for( size_t i = 0; i < remarks_.size(); ++i ) diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index 5019e69..3ad48f5 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -751,7 +751,6 @@ bool SpecFile::write_pcf( std::ostream &outputstrm ) const string spectrum_title; //ex: 'Survey 1 Det=Aa1 Background @250cm' string collection_time; //Formatted like: '2010-02-24T00:08:24.82Z' - char character_tag; float live_time, true_time, halflife = 0.0, molecular_weight = 0.0, spectrum_multiplier = 0.0, offset, gain, quadratic, cubic, low_energy, neutron_counts; @@ -959,18 +958,18 @@ bool SpecFile::write_pcf( std::ostream &outputstrm ) const else collection_time = " "; //"01-Jan-1900 00:00:00.00"; //23 characters - character_tag = ' '; + char character_tag = meas->pcf_tag(); //From phone conversation with Dean 20170816: // The meaning of the 'tag' character is highly overloaded, and can mean, - // among other usses: + // among other uses: // '-' not occupied, and anything else occupied - for RPM data // '-' use a dashed line when plotting // '<' Use filled region style when plotting // 'T' Calibration from thorium - // 'K' Calibration from potasium + // 'K' Calibration from potassium - if( passthrough() ) + if( ((character_tag == '\0') || (character_tag == ' ')) && passthrough() ) { if( (meas->occupied() == OccupancyStatus::NotOccupied) && (meas->source_type() != SourceType::Background) ) @@ -1696,6 +1695,7 @@ bool SpecFile::load_from_pcf( std::istream &input ) if( !source_list.empty() ) meas->remarks_.push_back( "Source: " + source_list ); + meas->pcf_tag_ = character_tag; if( character_tag == '-' ) { meas->occupied_ = OccupancyStatus::NotOccupied; @@ -1705,7 +1705,7 @@ bool SpecFile::load_from_pcf( std::istream &input ) meas->occupied_ = OccupancyStatus::Occupied; //Background spectra should not have the tag character be a dash, as the - // tag chacter could indicate calibration isotope. + // tag character could indicate calibration isotope. if( meas->source_type_ == SourceType::Background ) meas->occupied_ = OccupancyStatus::NotOccupied; }else diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 243b813..0855465 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -97,13 +97,15 @@ std::array generateDetectorNames() { } -std::shared_ptr makeMeasurement(int id, std::string detName) +std::shared_ptr makeMeasurement(int id, std::string detName, char tag) { auto m = std::make_shared(); //auto detName = "Aa" + std::to_string(id); m->set_detector_name(detName); + m->set_pcf_tag(tag); + m->set_start_time(getStartTime()); auto title = "Test Measurement " + std::to_string(id) + " Det=" + detName; @@ -156,12 +158,15 @@ TEST_CASE("Round Trip") //auto detNames = generateDetectorNames(); //std::vector detNames = { "Ba1", "Aa2", "Bc3", "Cb4" }; // Bc3 computes an out of range index std::vector detNames = { "Ba1", "Aa2", "Bb3", "Cb4" }; + + auto tags = std::vector{'T', 'K', '-', '<'}; auto numMeasurements = detNames.size(); for (size_t i = 0; i < numMeasurements; i++) { auto detName = detNames[i]; - auto m = makeMeasurement(i + 1, detName); + auto tag = tags[i]; + auto m = makeMeasurement(i + 1, detName, tag); specfile.add_measurement(m); } @@ -195,6 +200,8 @@ TEST_CASE("Round Trip") auto &expectedM = *(specfile.get_measurement_at(i)); auto &actualM = *(specfileToRead.get_measurement_at(i)); CHECK(expectedM.title() == actualM.title()); + CHECK(actualM.pcf_tag() != '\0'); + CHECK(expectedM.pcf_tag() == actualM.pcf_tag()); CHECK_FALSE(actualM.detector_name().empty()); CHECK(actualM.detector_name() == expectedM.detector_name() ); From e0391adc39e25d892164cb8feafa41ed6e60b949 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 30 Sep 2024 12:58:04 -0600 Subject: [PATCH 034/100] revert back to default --- CMakeLists.txt | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a61594..6d679dd 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,9 +29,7 @@ option( SpecUtils_USE_SIMD "Use SIMD operations; i386/x64 only right now, and ve option( SpecUtils_ENABLE_EQUALITY_CHECKS "Enables the equal_enough(...) functions for comparing two spectrum files." OFF ) #code size is only reason to default to off, I think option( PERFORM_DEVELOPER_CHECKS "Performs additional computationally expensive tests during execution (requires linking to boost)" OFF ) - - -set( SpecUtils_FLT_PARSE_METHOD "strtod" CACHE STRING [[How to parse lists of numbers. +set( SpecUtils_FLT_PARSE_METHOD "default_value" CACHE STRING [[How to parse lists of numbers. Choose one of: FastFloat, FromChars, boost, strtod. Boost is fastest, FromChars requires a C++17 conformant compiler and runtime (note Apple clang does not implement), FastFloat requires having the header somewhere findable (or Fetching it), and strod is the slowest. From 854b836a94ffa2a6a4b32a659a1dedcc12930bca Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 2 Oct 2024 14:12:26 -0600 Subject: [PATCH 035/100] update test to show Will --- unit_tests/test_spec_file.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 0855465..d396909 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -156,8 +156,8 @@ TEST_CASE("Round Trip") CheckFileExistanceAndDelete(n42Fname); //auto detNames = generateDetectorNames(); - //std::vector detNames = { "Ba1", "Aa2", "Bc3", "Cb4" }; // Bc3 computes an out of range index - std::vector detNames = { "Ba1", "Aa2", "Bb3", "Cb4" }; + std::vector detNames = { "Ba1", "Aa2", "Bc3", "Cb4" }; // Bc3 computes an out of range index + //std::vector detNames = { "Ba1", "Aa2", "Bb3", "Cb4" }; auto tags = std::vector{'T', 'K', '-', '<'}; auto numMeasurements = detNames.size(); @@ -182,7 +182,7 @@ TEST_CASE("Round Trip") auto &m = *(specfile.get_measurement_at(2)); CHECK(m.panel() == 2 - 1); - CHECK(m.column() == 2 - 1); + CHECK(m.column() == 3 - 1); CHECK(m.mca() == 3 - 1); } From 431c65ce65860c2421022b26b0f385da8c2a78f8 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Wed, 9 Oct 2024 12:23:55 -0700 Subject: [PATCH 036/100] Fix issues with writing and reading deviation pairs to PCF files. The ordering of deviation pairs was not being handled consistently across writing and reading pcf files. Cleaned this all up a bit, and documented things a bit better. --- SpecUtils/PcfExtensions.h | 4 +- SpecUtils/SpecFile.h | 21 ++++++- bindings/CMakeLists.txt | 1 - src/SpecFile_pcf.cpp | 101 +++++++++++++++++++++------------- unit_tests/test_spec_file.cpp | 10 +++- 5 files changed, 89 insertions(+), 48 deletions(-) delete mode 100644 bindings/CMakeLists.txt diff --git a/SpecUtils/PcfExtensions.h b/SpecUtils/PcfExtensions.h index 7b6be8e..4219e9c 100644 --- a/SpecUtils/PcfExtensions.h +++ b/SpecUtils/PcfExtensions.h @@ -119,7 +119,7 @@ namespace SpecUtils void update_detector_name_params() { auto detName = detector_name(); - pcf_det_name_to_dev_pair_index(detName, column_, panel_, mca_); + SpecUtils::pcf_det_name_to_dev_pair_index(detName, column_, panel_, mca_); } }; @@ -229,4 +229,4 @@ namespace SpecUtils return std::stoi(retVal); } -} // namespace SpecUtils \ No newline at end of file +} // namespace SpecUtils diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 71db1df..a7b0c1e 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -2461,7 +2461,7 @@ class SpecFile void set_n42_2006_measurement_location_information( const rapidxml::xml_node *measured_item_info_node, std::vector> measurements_applicable ); - + /** If this SpecFile is calibrated by lower channel energy, then this function will write a record (and it should be the first record) to the output with title "Energy" and channel counts equal to the energies of the @@ -2922,7 +2922,22 @@ struct MultimediaData #endif };//struct MultimediaData -int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca); - + /** When passed in a N42-2006 Radiation Portal Monitor (RPM) detector name (e.x., "Aa1", "Ba2", "Ad4", etc), gives the + RPM column, panel, and MCA number corresponding to that name, and returns the starting index for the deviation + pairs in a PCF file. + + @param name The detector name to determine the indexes for. If not a valid N42 name (e.x., valid names are like "Aa1", "Ba2", + "Ad4", etc), then all indexes will be set to -1, and -1 returned. Note that name case does not matter (eg "Aa1" is + equivalent to "aa1"). The name must be either two or three letters long. If the name is only two characters long (e.x., "A1", + "B2"), then the column will be assigned an index of zero. + @param [out] col The RPM column determined from the name. Will be in range of [-1, 3]. + @param [out] panel The RPM panel determined from the name. Will be in [-1, 7]. + @param [out] panel The RPM MCA determined from the name. Will be in [-1, 7]. + + @returns The starting index of deviation pairs in the PCF file deviation pairs array. That is, + `col*(8*8*2*20) + panel*(8*2*20) + mca*(2*20)`. + Will be negative one if an non-RPM detector name is passed in. + */ + int pcf_det_name_to_dev_pair_index( std::string name, int &col, int &panel, int &mca ); }//namespace SpecUtils #endif //SpecUtils_SpecFile_h diff --git a/bindings/CMakeLists.txt b/bindings/CMakeLists.txt deleted file mode 100644 index a134977..0000000 --- a/bindings/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(swig) \ No newline at end of file diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index 3ad48f5..c0f31a6 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -105,39 +105,45 @@ namespace namespace SpecUtils { -// returns negative if invalid name -int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) -{ - col = panel = mca = -1; - - // loop over columns (2 uncompressed, or 4 compressed) //col 1 is Aa1, col two is Ba1 - // loop over panels (8) //Aa1, Ab1, Ac1 - // loop over MCAs (8) //Aa1, Aa2, Aa3, etc - // loop over deviation pairs (20) - // energy (float uncompressed, or int16_t compressed) - // offset (float uncompressed, or int16_t compressed) - - if (name.size() < 2 || name.size() > 3 || name[name.size() - 1] < '1' || name[name.size() - 1] > '8') + int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) { - return -1; - } + col = panel = mca = -1; - SpecUtils::to_lower_ascii(name); + //Note: PCF file specification uses the following definition + // loop over columns (2 uncompressed, or 4 compressed) //col 1 is Aa1, col two is Ba1 + // loop over panels (8) //Aa1, Ab1, Ac1 + // loop over MCAs (8) //Aa1, Aa2, Aa3, etc + // loop over deviation pairs (20) + // energy (float uncompressed, or int16_t compressed) + // offset (float uncompressed, or int16_t compressed) + // However, this differs from the N42-2006 specification that the first letter specifies the + // panel, the second the column. + if( (name.size() < 2) || (name.size() > 3) || (name.back() < '1') || (name.back() > '8') ) + { + return -1; + } - const char col_char = ((name.size() == 3) ? name[1] : 'a'); - const char panel_char = name[0]; - const char mca_char = name[name.size() - 1]; + SpecUtils::to_lower_ascii(name); - if (col_char < 'a' || col_char > 'd' || panel_char < 'a' || panel_char > 'h') - return -1; + const char col_char = ((name.size() >= 3) ? name[1] : 'a'); + const char panel_char = name[0]; + const char mca_char = name[name.size() - 1]; - col = col_char - 'a'; - panel = panel_char - 'a'; - mca = mca_char - '1'; - // TODO - is this correct? - return col * (8 * 8 * 2 * 20) + panel * (8 * 2 * 20) + mca * (2 * 20); -} + if( (col_char < 'a') || (col_char > 'd') + || (panel_char < 'a') || (panel_char > 'h') + || (mca_char < '1') || (mca_char > '8') ) + { + return -1; + } + + col = col_char - 'a'; + panel = panel_char - 'a'; + mca = mca_char - '1'; + return col * (8 * 8 * 2 * 20) + panel * (8 * 2 * 20) + mca * (2 * 20); + }//int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) + + /** Gives the maximum number of channels any spectrum in the file will need to write to PCF file (rounded up to the nearest multiple of 64 channels), as well as a sets a pointer to the lower channel energies to write to the first record, but only if lower channel energy calibration should be used (if FRF should be used, then pointer will be reset to nulltr). @@ -415,17 +421,18 @@ void SpecFile::write_deviation_pairs_to_pcf( std::ostream &ostr ) const { has_some_dev_pairs |= (!meas->deviation_pairs().empty()); - // TODO - not sure this correctly sets need_compress_pairs - if( name.size() >= 3 - && (name[1]=='c' || name[1]=='C' || name[1]=='d' || name[1]=='D') - && (name[0]>='a' && name[0]<='g') - && (name[2]>'0' && name[2]<'9') ) - need_compress_pairs = true; + int col, panel, mca; + const int dev_pair_index = pcf_det_name_to_dev_pair_index( name, col, panel, mca ); + + if( dev_pair_index >= 0 ) + need_compress_pairs |= (col >= 2); dev_pairs[name] = meas->deviation_pairs(); - } + }//if( we have gamma counts for this measurement ) }//for( size_t i = 0; !detnames.empty() && i < measurements_.size(); ++i ) + need_compress_pairs |= (dev_pairs.size() > 128); + //cerr << "Put " << dev_pairs.size() << " dev pairs in, with " << detnames.size() // << " detnames remaining. has_some_dev_pairs=" << has_some_dev_pairs << endl; @@ -486,6 +493,10 @@ void SpecFile::write_deviation_pairs_to_pcf( std::ostream &ostr ) const { const size_t bytepos = (index + 2*i)*valsize; + assert( (bytepos + 2*valsize) <= nDevBytes ); //Should never happen here, since `name` is a valid N42 detector name if we are here + if( (bytepos + 2*valsize) > nDevBytes ) + continue; + if( need_compress_pairs ) { #if( defined(_MSC_VER) && _MSC_VER <= 1700 ) @@ -534,10 +545,14 @@ void SpecFile::write_deviation_pairs_to_pcf( std::ostream &ostr ) const if( !written_index.count(index) ) { const auto &dpairs = dev_pairs[name]; - for( size_t i = 0; i < dpairs.size() && i < 20; ++i ) + for( size_t i = 0; (i < dpairs.size()) && (i < 20); ++i ) { const size_t bytepos = (index + 2*i)*valsize; + assert( (bytepos + 2*valsize) <= nDevBytes ); //Should never happen + if( (bytepos + 2*valsize) > nDevBytes ) + continue; + if( need_compress_pairs ) { #if( defined(_MSC_VER) && _MSC_VER <= 1700 ) @@ -1201,7 +1216,7 @@ bool SpecFile::load_from_pcf( std::istream &input ) memcpy( vals, &(dev_pair_bytes[byte_pos]), 80 ); for( int i = 0; i < 20; ++i ) { - // extract to vritual method add_devpair(), extension class can save off col, panel, mcs + // extract to virtual method add_devpair(), extension class can save off col, panel, mcs // maybe save in lookup table? tuple last_nonzero = (vals[2*i] || vals[2*i+1]) ? i+1 : last_nonzero; devpairs.push_back( pair(vals[2*i],vals[2*i+1]) ); @@ -1823,7 +1838,7 @@ bool SpecFile::load_from_pcf( std::istream &input ) if( measurements_[first_sample]->sample_number_ >= 0 ) break; - if( first_sample >= measurements_.size() ) //SHouldnt ever happen + if( first_sample >= measurements_.size() ) //Shouldnt ever happen { #if( PERFORM_DEVELOPER_CHECKS && !SpecUtils_BUILD_FUZZING_TESTS) log_developer_error( __func__, "Logic error: someSamplesHaveNumbers is true, but could find meas now!" ); @@ -1913,15 +1928,23 @@ bool SpecFile::load_from_pcf( std::istream &input ) if( have_deviation_pairs ) { - bool used_deviation_pairs[4][8][8] = {}; //iniitalizes tp zero/false + bool used_deviation_pairs[4][8][8] = { false }; //initializes to zero/false //Assign deviation pairs to detectors with names like "Aa1", "Ab2", etc. for( const string &name : detector_names ) { int col, panel, mca; pcf_det_name_to_dev_pair_index( name, col, panel, mca ); - if( col < 0 || panel < 0 || mca < 0 || col > (compressed_devpair ? 1 : 3) || panel > 7 || mca > 7 ) + + assert( (col <= 3) && (col >= -1) ); + assert( (panel <= 7) && (panel >= -1) ); + assert( (mca <= 7) && (mca >= -1) ); + + if( (col < 0) || (panel < 0) || (mca < 0) + || (col > (compressed_devpair ? 3 : 1)) || (panel > 7) || (mca > 7) ) + { continue; + } det_name_to_devs[name] = deviation_pairs[col][panel][mca]; used_deviation_pairs[col][panel][mca] = true; diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index d396909..b957eb7 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -156,7 +156,11 @@ TEST_CASE("Round Trip") CheckFileExistanceAndDelete(n42Fname); //auto detNames = generateDetectorNames(); - std::vector detNames = { "Ba1", "Aa2", "Bc3", "Cb4" }; // Bc3 computes an out of range index + + // Note that using "Bc3" as a detector name causes the PCF file to use "compressed" deviation + // pairs (i.e., int16_t values for both energy and offset, instead of floats), because the + // "c" indicates third column. + std::vector detNames = { "Ba1", "Aa2", "Bc3", "Cb4" }; //std::vector detNames = { "Ba1", "Aa2", "Bb3", "Cb4" }; auto tags = std::vector{'T', 'K', '-', '<'}; @@ -197,8 +201,8 @@ TEST_CASE("Round Trip") for (size_t i = 0; i < numMeasurements; i++) { - auto &expectedM = *(specfile.get_measurement_at(i)); - auto &actualM = *(specfileToRead.get_measurement_at(i)); + auto &expectedM = *(specfile.get_measurement_at( static_cast(i) )); + auto &actualM = *(specfileToRead.get_measurement_at( static_cast(i) )); CHECK(expectedM.title() == actualM.title()); CHECK(actualM.pcf_tag() != '\0'); CHECK(expectedM.pcf_tag() == actualM.pcf_tag()); From 2f35d060696505934bb6eec762b570443828b4e2 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Wed, 9 Oct 2024 12:36:02 -0700 Subject: [PATCH 037/100] Make compiling the bindings optional (defaulting to off). Add the CI to use/test the C bindings, and for linux, the Fortran. --- .github/workflows/ci.yml | 8 ++++---- CMakeLists.txt | 6 ++++-- bindings/swig/fortran/CMakeLists.txt | 14 +++++++------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 93390ab..ef0b58c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,23 +43,23 @@ jobs: # For linux, we will perform developer checks, so we need boost - name: Set up dependencies if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y build-essential libboost-all-dev + run: sudo apt-get update && sudo apt-get install -y build-essential libboost-all-dev gfortran - name: Create build directory run: mkdir build - name: Configure CMake on Windows if: runner.os == 'Windows' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON # On linux we will perform developer checks and compile as debug to catch asserts - name: Configure CMake on Linux if: runner.os == 'Linux' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=ON -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=ON -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON -DSpecUtils_FORTRAN_SWIG=ON - name: Configure CMake on macOS if: runner.os == 'macOS' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON - name: Build macOS and Windows if: runner.os != 'Linux' diff --git a/CMakeLists.txt b/CMakeLists.txt index 6d679dd..3516382 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,7 @@ option( SpecUtils_BUILD_REGRESSION_TEST "Creates executable to perform interacti option( SpecUtils_BUILD_EXAMPLE "Builds example SpecUtil applications" OFF ) option( SpecUtils_PYTHON_BINDINGS "Creates python bindings to the c++ code" OFF ) option( SpecUtils_JAVA_SWIG "Creates swig/java bindings to the c++ code" OFF ) +option( SpecUtils_FORTRAN_SWIG "Creates swig/FORTRAN bindings to the c++ code" OFF ) option( SpecUtils_C_BINDINGS "Creates C bindings to the c++ code" OFF ) option( SpecUtils_INJA_TEMPLATES "Creates inja template interface" OFF ) option( SpecUtils_USE_SIMD "Use SIMD operations; i386/x64 only right now, and very alpha, and extremely minimally used" OFF ) @@ -409,6 +410,9 @@ if( SpecUtils_JAVA_SWIG ) target_link_libraries( SpecUtils PUBLIC ${JAVA_LIBRARIES} ) endif( SpecUtils_JAVA_SWIG ) +if( SpecUtils_FORTRAN_SWIG ) + add_subdirectory(bindings/swig/fortran) +endif( SpecUtils_FORTRAN_SWIG ) if( MINGW ) target_link_libraries( SpecUtils PUBLIC -static-libgcc -static libshlwapi.a libpthread.a libstdc++.a libwinpthread.a libmsvcrt.a ) @@ -491,5 +495,3 @@ install(EXPORT SpecUtilsTargets NAMESPACE SpecUtils:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils ) - -add_subdirectory(bindings) \ No newline at end of file diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 784c932..5e6e1bc 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -1,15 +1,15 @@ -cmake_minimum_required (VERSION 3.29) +cmake_minimum_required (VERSION 3.25) project (specutils-swig-fortran Fortran CXX C) -add_library(test_drive testdrive.F90) - add_library(specutils_fortran_wrap SHARED SpecUtilsFortran_wrap.cxx ) add_library(specutils_fortran SpecUtilsWrap.f90 ) target_link_libraries(specutils_fortran_wrap PUBLIC SpecUtils) target_compile_options(specutils_fortran PUBLIC -ffree-line-length-none -ffixed-line-length-150) target_link_libraries(specutils_fortran PRIVATE specutils_fortran_wrap) -add_executable(test_specutils_fortran test_specutils_fortran.f90 ) -target_link_libraries(test_specutils_fortran test_drive specutils_fortran ) - -add_test(NAME test_specutils_fortran COMMAND test_specutils_fortran) \ No newline at end of file +if( SpecUtils_BUILD_UNIT_TESTS ) + add_library(test_drive testdrive.F90) + add_executable(test_specutils_fortran test_specutils_fortran.f90 ) + target_link_libraries(test_specutils_fortran test_drive specutils_fortran ) + add_test(NAME test_specutils_fortran COMMAND test_specutils_fortran) +endif( SpecUtils_BUILD_UNIT_TESTS ) \ No newline at end of file From e29f07821e957cba1df5d6b4b7a4554e7f0ac3ad Mon Sep 17 00:00:00 2001 From: William Johnson Date: Thu, 10 Oct 2024 12:34:03 -0700 Subject: [PATCH 038/100] Promote measurement source and descriptions to be member variables of Measurement. Previously was storing and accessing this information in the `remarks_` fields, with prefixes of "Description:" and "Source:". Full support of all PCF fields was the impetus for these changes, but there were a few other places these fields were effectively used as well. It would be nice to properly support this information by altering it to conform to N42-2012 elements. --- SpecUtils/SpecFile.h | 69 +++++++++++++++++++++++++++++++- bindings/c/SpecUtils_c.cpp | 60 ++-------------------------- src/SpecFile.cpp | 80 ++++++++++++++++++++++++++++++++++++++ src/SpecFile_chn.cpp | 1 - src/SpecFile_lis.cpp | 2 +- src/SpecFile_mca.cpp | 2 +- src/SpecFile_n42.cpp | 32 ++++++++++++++- src/SpecFile_pcf.cpp | 20 +++------- 8 files changed, 190 insertions(+), 76 deletions(-) diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index a7b0c1e..31ea15a 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -626,6 +626,25 @@ class Measurement */ char pcf_tag() const; + /** Returns the source description. + + This is free-form text to describe the source, and may be used in an application specific manor. + For example, GADRAS-DRF will use strings such as: "Am241,10uC", "Am241,10uC{an=26,ad=10}", + "60CO_123456" (where 123456 is the Co60 source serial number), or + "PotassiumInSoil,1.80 Ci{24.9,2.2}+ThoriumInSoil,7.63 Ci{24.9,2.2}+UraniumInSoil,2.76 Ci{24.9,2.2}" + + This field corresponds roughly to the information that would be put into a N42 RadItemInformation element, or a PCF + spectrum source list. + */ + const std::string &source_description() const; + + /** Returns the measurement description. + + This is a free-form text field, primarily meant to correspond to PCF records spectrum description field. + */ + const std::string &measurement_description() const; + + //position_time(): returns the (local, or detector) time of the GPS fix, if // known. Returns time_point_t{} otherwise. const time_point_t position_time() const; @@ -842,6 +861,22 @@ class Measurement /** Sets the application specific "tag" character, used by the PCF file format. */ void set_pcf_tag( const char tag_char ); + /** Sets the source description for this measurement. + + This is a free-form text field, but a convention that may be used is that of GADRAS-DRF, such as + "Am241,10uC", "Am241,10uC{an=26,ad=10}", "60CO_123456" (where 123456 is the Co60 source serial number), etc + + This field corresponds roughly to the information that would be put into a N42 RadItemInformation element, or a PCF + spectrum source list. + */ + void set_source_description( const std::string &description ); + + /** Set the measurements description. + + This is a free-form text field, primarily meant to correspond to PCF records spectrum description field. + */ + void set_measurement_description( const std::string &description ); + /** returns the number of channels in #gamma_counts_. Note: energy calibration could still be invalid and not have channel energies defined, even when this returns a non-zero value. @@ -963,6 +998,21 @@ class Measurement uint32_t derived_data_properties() const; + /** For data from a RPM the detector name provides the location of this detector within the portal; the function returns + the panel number. + + @returns The panel number, as interpreted from the detector name. Will return -1 if the name does not conform to + the N42-2006 convention of e.g., "Aa1", "Bc4", etc. If a valid name, will return a value of 0, 1, 2, or 3. + + This is a convenience function for calling `pcf_det_name_to_dev_pair_index(...)` + */ + int rpm_panel_number() const; + + /** Similar to `rpm_panel_number()`, but returns panel number (-1 on invalid detector name, or otherwise values [0,7]. */ + int rpm_column_number() const; + + /** Similar to `rpm_panel_number()`, but returns mca number (-1 on invalid detector name, or otherwise values [0,7]. */ + int rpm_mca_number() const; //Functions to write this Measurement object out to external formats @@ -1173,7 +1223,24 @@ class Measurement 'T' Calibration from thorium 'K' Calibration from potassium */ - char pcf_tag_ = '\0'; + char pcf_tag_; + + /** Free-form text description of the source, for example "Am241,10uC", "Am241,10uC{an=26,ad=10}", + "60CO_123456" (where 123456 is the Co60 source serial number), etc. + + This field corresponds roughly to the information that would be put into a N42 RadItemInformation element, or a PCF + spectrum source list. + + TODO: Update to use a structure similar to RadItemInformation + */ + std::string source_description_; + + /** Corresponds to a PCF records spectrum description field. + */ + std::string measurement_description_; + + //void set_description(const std::string &description) + // void set_source(const std::string &source) /** The #LocationState indicates the position, speed, and/or orientation of the instrument, detector, or item being measured. At the moment, only one of these quantities are recorded, diff --git a/bindings/c/SpecUtils_c.cpp b/bindings/c/SpecUtils_c.cpp index a6d597c..8edf957 100644 --- a/bindings/c/SpecUtils_c.cpp +++ b/bindings/c/SpecUtils_c.cpp @@ -1516,34 +1516,8 @@ void SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, { auto m = reinterpret_cast( instance ); assert( m ); - if( !m ) - return; - - // We will erase existing description if empty string is passed in. - // Otherwise we will update description. - string description( description_cstr ? description_cstr : "" ); - if( !description.empty() ) - description = "Description: " + description; - - vector remarks = m->remarks(); - - // If there is already a description, over-write it - for( size_t i = 0; i < remarks.size(); ++i ) - { - if( SpecUtils::istarts_with(remarks[i], "Description:") ) - { - if( description.empty() ) - remarks.erase( begin(remarks) + i ); - else - remarks[i] = description; - - m->set_remarks( remarks ); - return; - } - }// - - remarks.push_back( description ); - m->set_remarks( remarks ); + if( m ) + m->set_measurement_description( description_cstr ? description_cstr : "" ); } @@ -1552,34 +1526,8 @@ void SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, { auto m = reinterpret_cast( instance ); assert( m ); - if( !m ) - return; - - // We will erase existing description if empty string is passed in. - // Otherwise we will update description. - string src_string( source_string_cstr ? source_string_cstr : "" ); - if( !src_string.empty() ) - src_string = "Source: " + src_string; - - vector remarks = m->remarks(); - - // If there is already a source string, over-write it - for( size_t i = 0; i < remarks.size(); ++i ) - { - if( SpecUtils::istarts_with(remarks[i], "Source:") ) - { - if( src_string.empty() ) - remarks.erase( begin(remarks) + i ); - else - remarks[i] = src_string; - - m->set_remarks( remarks ); - return; - } - }// - - remarks.push_back( src_string ); - m->set_remarks( remarks ); + if( m ) + m->set_source_description( source_string_cstr ? source_string_cstr : "" ); } diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index 4f921b4..cbc12b8 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -1120,7 +1120,31 @@ uint32_t Measurement::derived_data_properties() const return derived_data_properties_; } + +int Measurement::rpm_panel_number() const +{ + int col, panel, mca; + pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); + return panel; +} + + +int Measurement::rpm_column_number() const +{ + int col, panel, mca; + pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); + return col; +} + + +int Measurement::rpm_mca_number() const +{ + int col, panel, mca; + pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); + return mca; +} + double gamma_integral( const std::shared_ptr &hist, const float minEnergy, const float maxEnergy ) { @@ -1602,6 +1626,8 @@ void Measurement::reset() dose_rate_ = exposure_rate_ = -1.0f; pcf_tag_ = '\0'; + source_description_.clear(); + measurement_description_.clear(); location_.reset(); }//void reset() @@ -1646,6 +1672,30 @@ void Measurement::set_pcf_tag( const char tag_char ) pcf_tag_ = tag_char; } + +void Measurement::set_source_description( const std::string &description ) +{ + source_description_ = description; +} + + +const string &Measurement::source_description() const +{ + return source_description_; +} + + +void Measurement::set_measurement_description( const std::string &description ) +{ + measurement_description_ = description; +} + + +const string &Measurement::measurement_description() const +{ + return measurement_description_; +} + void Measurement::combine_gamma_channels( const size_t ncombine ) { @@ -3578,6 +3628,18 @@ void Measurement::equal_enough( const Measurement &lhs, const Measurement &rhs ) + " while RHS is " + std::to_string(rhs.pcf_tag_) ); } + if( lhs.source_description_ != rhs.source_description_ ) + { + issues.push_back( string("Measurement: The source description of LHS is ") + + lhs.source_description_ + " while RHS is " + rhs.source_description_ ); + } + + if( lhs.measurement_description_ != rhs.measurement_description_ ) + { + issues.push_back( string("Measurement: The measurement description of LHS is ") + + lhs.measurement_description_ + " while RHS is " + rhs.measurement_description_ ); + } + if( (!lhs.location_) != (!rhs.location_) ) { issues.push_back( "Measurement: The " @@ -4433,6 +4495,8 @@ const Measurement &Measurement::operator=( const Measurement &rhs ) exposure_rate_ = rhs.exposure_rate_; pcf_tag_ = rhs.pcf_tag_; + source_description_ = rhs.source_description_; + measurement_description_ = rhs.measurement_description_; location_ = rhs.location_; @@ -7865,6 +7929,22 @@ std::shared_ptr SpecFile::sum_measurements( const std::set &sa if( meas->pcf_tag_ != '\0' ) dataH->pcf_tag_ = meas->pcf_tag_; + string &src_desc = dataH->source_description_; + const string &rhs_src_desc = meas->source_description_; + if( !rhs_src_desc.empty() + && (src_desc.empty() || (src_desc.find(rhs_src_desc) == string::npos)) ) + { + src_desc += (src_desc.empty() ? "" : ",") + rhs_src_desc; + } + + string &meas_desc = dataH->measurement_description_; + const string &rhs_meas_desc = meas->measurement_description_; + if( !rhs_meas_desc.empty() + && (meas_desc.empty() || (meas_desc.find(rhs_meas_desc) == string::npos)) ) + { + meas_desc += (meas_desc.empty() ? "" : ",") + rhs_meas_desc; + } + if( meas->has_gps_info() ) { num_gps += 1; diff --git a/src/SpecFile_chn.cpp b/src/SpecFile_chn.cpp index d0411ca..db5b7a8 100644 --- a/src/SpecFile_chn.cpp +++ b/src/SpecFile_chn.cpp @@ -518,7 +518,6 @@ bool SpecFile::write_integer_chn( ostream &ostr, set sample_nums, ostr.write( "\0", 1 ); - string detdesc = summed->title_; for( const string &remark : remarks_ ) { diff --git a/src/SpecFile_lis.cpp b/src/SpecFile_lis.cpp index 5644324..6ea195d 100644 --- a/src/SpecFile_lis.cpp +++ b/src/SpecFile_lis.cpp @@ -489,7 +489,7 @@ bool SpecFile::load_from_ortec_listmode( std::istream &input ) } if( strlen(txtdcreption) ) - remarks_.push_back( "Description: " + string(txtdcreption) ); + meas->measurement_description_ = txtdcreption; if( strlen(devaddress) ) remarks_.push_back( "Device Address: " + string(devaddress) ); if( strlen(mcb_type) ) diff --git a/src/SpecFile_mca.cpp b/src/SpecFile_mca.cpp index e153a97..d1b52a6 100644 --- a/src/SpecFile_mca.cpp +++ b/src/SpecFile_mca.cpp @@ -121,7 +121,7 @@ bool SpecFile::load_from_amptek_mca( std::istream &input ) lineinfo = getAmptekMcaLineInfo( filedata, "DESCRIPTION - " ); if( !lineinfo.empty() ) - remarks_.push_back( "Description: " + lineinfo ); + meas->measurement_description_ = lineinfo; float energy_gain = 0.0f; lineinfo = getAmptekMcaLineInfo( filedata, "GAIN - " ); diff --git a/src/SpecFile_n42.cpp b/src/SpecFile_n42.cpp index ac49643..b915434 100644 --- a/src/SpecFile_n42.cpp +++ b/src/SpecFile_n42.cpp @@ -2626,7 +2626,19 @@ struct N42DecodeHelper2006 meas.pcf_tag_ = tag_str.empty() ? '\0' : tag_str[0]; continue; } - + + if( SpecUtils::istarts_with( remark, "Source:") ) + { + meas.source_description_ = SpecUtils::trim_copy( remark.substr(7) ); + continue; + } + + if( SpecUtils::istarts_with( remark, "Description:") ) + { + meas.measurement_description_ = SpecUtils::trim_copy( remark.substr(12) ); + continue; + } + meas.remarks_.push_back( remark ); if( meas.sample_number_ < 0 ) @@ -3642,6 +3654,12 @@ struct N42DecodeHelper2012 { const string tag_str = SpecUtils::trim_copy( remark.substr(4) ); meas->pcf_tag_ = tag_str.empty() ? '\0' : tag_str[0]; + }else if( SpecUtils::istarts_with( remark, "Source:") ) + { + meas->source_description_ = SpecUtils::trim_copy( remark.substr(7) ); + }else if( SpecUtils::istarts_with( remark, "Description:") ) + { + meas->measurement_description_ = SpecUtils::trim_copy( remark.substr(12) ); }else if( remark.size() ) { meas->remarks_.emplace_back( std::move(remark) ); @@ -4040,6 +4058,12 @@ struct N42DecodeHelper2012 //See notes in equivalent portion of code for the tag const string tag_str = SpecUtils::trim_copy( remark.substr(4) ); meas->pcf_tag_ = tag_str.empty() ? '\0' : tag_str.front(); + }else if( SpecUtils::istarts_with( remark, "Source:") ) + { + meas->source_description_ = SpecUtils::trim_copy( remark.substr(7) ); + }else if( SpecUtils::istarts_with( remark, "Description:") ) + { + meas->measurement_description_ = SpecUtils::trim_copy( remark.substr(12) ); }else if( !remark.empty() ) { meas->remarks_.push_back( remark ); @@ -9328,6 +9352,12 @@ namespace SpecUtils if( pcf_tag_ != '\0' ) remarks.push_back( string("Tag: ") + pcf_tag_ ); + if( !source_description_.empty() ) + remarks.push_back( "Source: " + source_description_ ); + + if( !measurement_description_.empty() ) + remarks.push_back( "Description: " + measurement_description_ ); + bool wroteSurvey = false, wroteName = false, wroteSpeed = false; for( size_t i = 0; i < remarks_.size(); ++i ) diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index c0f31a6..2ca5c23 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -923,14 +923,8 @@ bool SpecFile::write_pcf( std::ostream &outputstrm ) const trim( spectrum_title ); SpecUtils::ireplace_all( spectrum_title, " ", " " ); - string source_list, spectrum_desc; - for( const string &remark : meas->remarks() ) - { - if( SpecUtils::istarts_with(remark, "Description:") ) - spectrum_desc = remark.substr(12); - else if( SpecUtils::istarts_with(remark, "Source:") ) - source_list = remark.substr(7); - }//for( const string &remark : meas->remarks() ) + string source_list = meas->source_description_; + string spectrum_desc = meas->measurement_description_; SpecUtils::trim( spectrum_title ); SpecUtils::trim( spectrum_desc ); @@ -1703,14 +1697,10 @@ bool SpecFile::load_from_pcf( std::istream &input ) //else meas->source_type_ = SourceType::Unknown meas->title_ = spectrum_title; - - if( !spectrum_desc.empty() ) - meas->remarks_.push_back( "Description: " + spectrum_desc ); - - if( !source_list.empty() ) - meas->remarks_.push_back( "Source: " + source_list ); - + meas->measurement_description_ = spectrum_desc; + meas->source_description_ = source_list; meas->pcf_tag_ = character_tag; + if( character_tag == '-' ) { meas->occupied_ = OccupancyStatus::NotOccupied; From 20c6e557abffbb845812c12e15a04ccaace751a0 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Thu, 10 Oct 2024 12:34:50 -0700 Subject: [PATCH 039/100] Remove PcfExtensions. These additions have been integrated into the primary `SpecFile` and `Measurement` classes. --- CMakeLists.txt | 1 - unit_tests/test_spec_file.cpp | 80 ++++++++++++++++++----------------- 2 files changed, 42 insertions(+), 39 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3516382..0ae3fe7 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -169,7 +169,6 @@ set( headers SpecUtils/Filesystem.h SpecUtils/DateTime.h SpecUtils/ParseUtils.h - SpecUtils/PcfExtensions.h SpecUtils/SpecFile_location.h SpecUtils/RapidXmlUtils.hpp ) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index b957eb7..b026ad7 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -1,16 +1,17 @@ -#include -#include -#include -#include -#include "../SpecUtils/PcfExtensions.h" +#include #include + +#include "SpecUtils/DateTime.h" +#include "SpecUtils/SpecFile.h" +#include "SpecUtils/ParseUtils.h" +#include "SpecUtils/EnergyCalibration.h" + namespace fs = std::filesystem; #undef isnan // Undefine the isnan macro (compile failure in doctest.h on Windows) #define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN #include "doctest.h" -#include void CheckFileExistanceAndDelete(fs::path filePath) { @@ -97,9 +98,9 @@ std::array generateDetectorNames() { } -std::shared_ptr makeMeasurement(int id, std::string detName, char tag) +std::shared_ptr makeMeasurement(int id, std::string detName, char tag) { - auto m = std::make_shared(); + auto m = std::make_shared(); //auto detName = "Aa" + std::to_string(id); m->set_detector_name(detName); @@ -112,10 +113,11 @@ std::shared_ptr makeMeasurement(int id, std::string d m->set_title(title); auto descr = "test_descr " + std::to_string(id); - m->set_description(descr); - + m->set_measurement_description( descr ); + auto source = "source " + std::to_string(id); - m->set_source(source); + m->set_source_description( source ); + SpecUtils::FloatVec ncounts{id + 99.0F}; m->set_neutron_counts(ncounts, 0.0F); @@ -151,7 +153,7 @@ TEST_CASE("Round Trip") SUBCASE("Write PCF File") { - SpecUtils::PcfFile specfile; + SpecUtils::SpecFile specfile; CheckFileExistanceAndDelete(fname); CheckFileExistanceAndDelete(n42Fname); @@ -170,24 +172,24 @@ TEST_CASE("Round Trip") { auto detName = detNames[i]; auto tag = tags[i]; - auto m = makeMeasurement(i + 1, detName, tag); + auto m = makeMeasurement( static_cast(i) + 1, detName, tag); specfile.add_measurement(m); } { - auto &m = *(specfile.get_measurement_at(0)); + auto &m = *(specfile.measurement(size_t(0)) ); - CHECK(m.panel() == 2 - 1); - CHECK(m.column() == 1 - 1); - CHECK(m.mca() == 1 - 1); + CHECK(m.rpm_panel_number() == 2 - 1); + CHECK(m.rpm_column_number() == 1 - 1); + CHECK(m.rpm_mca_number() == 1 - 1); } { - auto &m = *(specfile.get_measurement_at(2)); + auto &m = *(specfile.measurement(size_t(2))); - CHECK(m.panel() == 2 - 1); - CHECK(m.column() == 3 - 1); - CHECK(m.mca() == 3 - 1); + CHECK(m.rpm_panel_number() == 2 - 1); + CHECK(m.rpm_column_number() == 3 - 1); + CHECK(m.rpm_mca_number() == 3 - 1); } specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf); @@ -196,13 +198,14 @@ TEST_CASE("Round Trip") SUBCASE("Read PCF File") { - SpecUtils::PcfFile specfileToRead; - specfileToRead.read(fname); - + SpecUtils::SpecFile specfileToRead; + const bool success_reading = specfileToRead.load_file(fname, SpecUtils::ParserType::Pcf); + REQUIRE( success_reading ); + for (size_t i = 0; i < numMeasurements; i++) { - auto &expectedM = *(specfile.get_measurement_at( static_cast(i) )); - auto &actualM = *(specfileToRead.get_measurement_at( static_cast(i) )); + auto &expectedM = *(specfile.measurement(i)); + auto &actualM = *(specfileToRead.measurement(i)); CHECK(expectedM.title() == actualM.title()); CHECK(actualM.pcf_tag() != '\0'); CHECK(expectedM.pcf_tag() == actualM.pcf_tag()); @@ -231,11 +234,11 @@ TEST_CASE("Round Trip") CHECK(actualM.neutron_counts().at(0) > 0); CHECK(actualM.neutron_counts() == expectedM.neutron_counts()); - CHECK_FALSE(actualM.get_description().empty()); - CHECK(actualM.get_description() == expectedM.get_description()); + CHECK_FALSE(actualM.measurement_description().empty()); + CHECK(actualM.measurement_description() == expectedM.measurement_description()); - CHECK_FALSE(actualM.get_source().empty()); - CHECK(actualM.get_source() == expectedM.get_source()); + CHECK_FALSE(actualM.source_description().empty()); + CHECK(actualM.source_description() == expectedM.source_description()); auto newEcal = *actualM.energy_calibration(); CHECK(newEcal.coefficients() == expectedM.energy_calibration()->coefficients()); @@ -297,18 +300,19 @@ TEST_CASE("Find Source String") "Description: TestDescription", "Source: TestSource"}; - SpecUtils::MeasurementExt m; - m.set_remarks(remarks); - + SpecUtils::Measurement m; + m.set_source_description( "TestSource" ); + m.set_measurement_description( "TestDescription" ); + auto expected = std::string("TestSource"); - auto actual = m.get_source(); + auto actual = m.source_description(); CHECK(actual == expected); SUBCASE("Find Description String") { auto expected = std::string("TestDescription"); - auto actual = m.get_description(); + auto actual = m.measurement_description(); CHECK(actual == expected); } @@ -320,18 +324,18 @@ TEST_CASE("No Description Yields Empty String") "DescriptionZZZZZ: TestDescription", "SourceYYYYY: TestSource"}; - SpecUtils::MeasurementExt m; + SpecUtils::Measurement m; m.set_remarks(remarks); auto expected = std::string(); - auto actual = m.get_description(); + auto actual = m.measurement_description(); CHECK(actual == expected); SUBCASE("No Source Yields Empty String") { auto expected = std::string(); - auto actual = m.get_source(); + auto actual = m.source_description(); CHECK(actual == expected); } From 1b77e69ad622e38dacbb599086d42797901c14a0 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Thu, 10 Oct 2024 12:56:36 -0700 Subject: [PATCH 040/100] Fix compile issue. Not sure if PcfUtils.h is supposed to exist? --- unit_tests/test_string_functions.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/unit_tests/test_string_functions.cpp b/unit_tests/test_string_functions.cpp index 828c9e8..d854e69 100755 --- a/unit_tests/test_string_functions.cpp +++ b/unit_tests/test_string_functions.cpp @@ -39,7 +39,6 @@ #include "SpecUtils/Filesystem.h" #include "SpecUtils/StringAlgo.h" #include "SpecUtils/ParseUtils.h" -#include "SpecUtils/PcfUtils.h" using namespace std; From 882b50332cc968b7f821499b8a36009f90366d45 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Thu, 10 Oct 2024 13:20:05 -0700 Subject: [PATCH 041/100] Fix some function not always returning values in c-interface. --- bindings/c/SpecUtils_c.cpp | 28 +++++++++++++++++++++++++++- bindings/c/SpecUtils_c.h | 2 +- src/SpecFile_template.cpp | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/bindings/c/SpecUtils_c.cpp b/bindings/c/SpecUtils_c.cpp index 8edf957..5407435 100644 --- a/bindings/c/SpecUtils_c.cpp +++ b/bindings/c/SpecUtils_c.cpp @@ -1352,7 +1352,24 @@ bool SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instanc return false; const SpecUtils::SourceType st = SpecUtils::SourceType( static_cast(type) ); + + switch( st ) + { + case SpecUtils::SourceType::IntrinsicActivity: + case SpecUtils::SourceType::Calibration: + case SpecUtils::SourceType::Background: + case SpecUtils::SourceType::Foreground: + case SpecUtils::SourceType::Unknown: + break; + + default: + assert( 0 ); + return false; + }//switch( st ) + specfile->set_source_type( st, m ); + + return true; } @@ -1369,8 +1386,17 @@ bool SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, SpecUtils::time_point_t tp{}; tp += chrono::microseconds( microseconds_since_unix_epoch ); + + try + { + specfile->set_position( longitude, latitude, tp, m ); + }catch( std::exception & ) + { + assert( 0 ); + return false; + } - specfile->set_position( longitude, latitude, tp, m ); + return m->has_gps_info(); } diff --git a/bindings/c/SpecUtils_c.h b/bindings/c/SpecUtils_c.h index c211ecc..2fd38a4 100644 --- a/bindings/c/SpecUtils_c.h +++ b/bindings/c/SpecUtils_c.h @@ -660,7 +660,7 @@ SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, @param microseconds_since_unix_epoch The time of the GPS reading. Use a value of 0 to indicate not relevant. - Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). + Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`), and if values are valid lat/long. */ DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, diff --git a/src/SpecFile_template.cpp b/src/SpecFile_template.cpp index 50c053f..c35be1e 100644 --- a/src/SpecFile_template.cpp +++ b/src/SpecFile_template.cpp @@ -271,7 +271,7 @@ namespace SpecUtils return value1 % value2; }); - srand(time(NULL)); // This is important for the random numbers to work correctly + srand( static_cast(time(NULL)) ); // This is important for the random numbers to work correctly env.add_callback("rand", 2, [](Arguments& args) { int value1 = args.at(0)->get(); From a1e43967ec961d8761098b6c86f7c3104e71e8c6 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Thu, 10 Oct 2024 13:26:08 -0700 Subject: [PATCH 042/100] Fix `SpecUtils_Measurement_set_start_time_str` not returning a value. --- bindings/c/SpecUtils_c.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bindings/c/SpecUtils_c.cpp b/bindings/c/SpecUtils_c.cpp index 5407435..d864777 100644 --- a/bindings/c/SpecUtils_c.cpp +++ b/bindings/c/SpecUtils_c.cpp @@ -1641,6 +1641,8 @@ bool SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, if( m ) m->set_start_time( tp ); + + return m && !SpecUtils::is_special(tp); } char SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ) From 68babc711d6877d367dd77cc09cbedda18d13485 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 15:18:10 -0600 Subject: [PATCH 043/100] update fortran bindings --- bindings/swig/fortran/SpecUtilsFortran.i | 1 - .../swig/fortran/SpecUtilsFortran_wrap.cxx | 431 +++------- bindings/swig/fortran/SpecUtilsWrap.f90 | 748 +++++------------- .../swig/fortran/test_specutils_fortran.f90 | 170 ++-- 4 files changed, 358 insertions(+), 992 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 6943c95..716c979 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -170,4 +170,3 @@ namespace std { %include "SpecUtils/FileSystem.h" -%include "SpecUtils/PcfExtensions.h" diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 4c1c779..c600f40 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -232,9 +232,6 @@ enum AssignmentType { #define SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT #define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_SMARTPTR -#define SWIGPOLICY_SpecUtils_MeasurementExt swig::ASSIGNMENT_SMARTPTR -#define SWIGPOLICY_SpecUtils_EnergyCalibrationExt swig::ASSIGNMENT_SMARTPTR -#define SWIGPOLICY_SpecUtils_PcfFile swig::ASSIGNMENT_DEFAULT #ifdef __cplusplus #include @@ -1763,6 +1760,46 @@ SWIGEXPORT char _wrap_Measurement_pcf_tag(SwigClassWrapper *farg1) { } +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_source_description(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->source_description(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_measurement_description(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->measurement_description(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + SWIGEXPORT SwigClassWrapper _wrap_Measurement_position_time(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2226,6 +2263,34 @@ SWIGEXPORT void _wrap_Measurement_set_pcf_tag(SwigClassWrapper *farg1, char cons } +SWIGEXPORT void _wrap_Measurement_set_source_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_source_description((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_measurement_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_measurement_description((std::string const &)*arg2); +} + + SWIGEXPORT int _wrap_Measurement_num_gamma_channels(SwigClassWrapper *farg1) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2457,6 +2522,48 @@ SWIGEXPORT SwigClassWrapper _wrap_Measurement_derived_data_properties(SwigClassW } +SWIGEXPORT int _wrap_Measurement_rpm_panel_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->rpm_panel_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_rpm_column_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->rpm_column_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_rpm_mca_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->rpm_mca_number(); + fresult = (int)(result); + return fresult; +} + + SWIGEXPORT int _wrap_Measurement_write_2006_N42_xml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -7882,323 +7989,5 @@ SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { } -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementExt() { - SwigClassWrapper fresult ; - SpecUtils::MeasurementExt *result = 0 ; - - result = (SpecUtils::MeasurementExt *)new SpecUtils::MeasurementExt(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::MeasurementExt >(result SWIG_NO_NULL_DELETER_1) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT void _wrap_MeasurementExt_set_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - std::string tempstr2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_description((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_MeasurementExt_set_source(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - std::string tempstr2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_source((std::string const &)*arg2); -} - - -SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_description(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::MeasurementExt const > *smartarg1 ; - std::string result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - result = ((SpecUtils::MeasurementExt const *)arg1)->get_description(); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_MeasurementExt_get_source(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::MeasurementExt const > *smartarg1 ; - std::string result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - result = ((SpecUtils::MeasurementExt const *)arg1)->get_source(); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT int _wrap_MeasurementExt_panel(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - result = (int)(arg1)->panel(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_MeasurementExt_column(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - result = (int)(arg1)->column(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_MeasurementExt_mca(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - result = (int)(arg1)->mca(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_MeasurementExt_set_ecal(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; - (arg1)->set_ecal((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); -} - - -SWIGEXPORT void _wrap_delete_MeasurementExt(SwigClassWrapper *farg1) { - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - (void)arg1; delete smartarg1; -} - - -SWIGEXPORT void _wrap_MeasurementExt_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::MeasurementExt *arg1 = (SpecUtils::MeasurementExt *) 0 ; - SpecUtils::MeasurementExt *arg2 = 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::MeasurementExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::MeasurementExt*)(smartarg1->get()) : NULL; - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_SpecUtils_MeasurementExt>(farg1, *farg2); - -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibrationExt() { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibrationExt *result = 0 ; - - result = (SpecUtils::EnergyCalibrationExt *)new SpecUtils::EnergyCalibrationExt(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::EnergyCalibrationExt >(result SWIG_NO_NULL_DELETER_1) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_dev_pairs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - SpecUtils::DeviationPairs *result = 0 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; - result = (SpecUtils::DeviationPairs *) &(arg1)->get_dev_pairs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_EnergyCalibrationExt_set_dev_pairs(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; - SpecUtils::DeviationPairs *arg2 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::DeviationPairs &", "DeviationPairs", "SpecUtils::EnergyCalibrationExt::set_dev_pairs(SpecUtils::DeviationPairs &)", return ); - arg2 = (SpecUtils::DeviationPairs *)farg2->cptr; - (arg1)->set_dev_pairs(*arg2); -} - - -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibrationExt_get_coeffs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - SpecUtils::FloatVec *result = 0 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; - result = (SpecUtils::FloatVec *) &(arg1)->get_coeffs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_EnergyCalibrationExt(SwigClassWrapper *farg1) { - SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; - (void)arg1; delete smartarg1; -} - - -SWIGEXPORT void _wrap_EnergyCalibrationExt_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::EnergyCalibrationExt *arg1 = (SpecUtils::EnergyCalibrationExt *) 0 ; - SpecUtils::EnergyCalibrationExt *arg2 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibrationExt > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibrationExt >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibrationExt*)(smartarg1->get()) : NULL; - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_SpecUtils_EnergyCalibrationExt>(farg1, *farg2); - -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_PcfFile() { - SwigClassWrapper fresult ; - SpecUtils::PcfFile *result = 0 ; - - result = (SpecUtils::PcfFile *)new SpecUtils::PcfFile(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_PcfFile_read(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::read(std::string const &)", return ); - arg1 = (SpecUtils::PcfFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->read((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_PcfFile_add_measurement_ext(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { - SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; - std::shared_ptr< SpecUtils::MeasurementExt > arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::add_measurement_ext(std::shared_ptr< SpecUtils::MeasurementExt >)", return ); - arg1 = (SpecUtils::PcfFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); - (arg1)->add_measurement_ext(arg2); -} - - -SWIGEXPORT SwigClassWrapper _wrap_PcfFile_get_measurement_at(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::MeasurementExt > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::get_measurement_at(int)", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::PcfFile *)farg1->cptr; - arg2 = (int)(*farg2); - result = (arg1)->get_measurement_at(arg2); - fresult.cptr = result ? (new std::shared_ptr< SpecUtils::MeasurementExt >(static_cast< const std::shared_ptr< SpecUtils::MeasurementExt >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_PcfFile_make_measurement(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; - std::shared_ptr< SpecUtils::Measurement > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::PcfFile *", "PcfFile", "SpecUtils::PcfFile::make_measurement()", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::PcfFile *)farg1->cptr; - result = (arg1)->make_measurement(); - fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT void _wrap_delete_PcfFile(SwigClassWrapper *farg1) { - SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; - - arg1 = (SpecUtils::PcfFile *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_PcfFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::PcfFile *arg1 = (SpecUtils::PcfFile *) 0 ; - SpecUtils::PcfFile *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); - -} - - } // extern diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index a53425f..d361800 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -307,6 +307,8 @@ module specutilswrap procedure :: dose_rate => swigf_Measurement_dose_rate procedure :: exposure_rate => swigf_Measurement_exposure_rate procedure :: pcf_tag => swigf_Measurement_pcf_tag + procedure :: source_description => swigf_Measurement_source_description + procedure :: measurement_description => swigf_Measurement_measurement_description procedure :: position_time => swigf_Measurement_position_time procedure :: detector_name => swigf_Measurement_detector_name procedure :: detector_number => swigf_Measurement_detector_number @@ -339,6 +341,8 @@ module specutilswrap procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_0 procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_1 procedure :: set_pcf_tag => swigf_Measurement_set_pcf_tag + procedure :: set_source_description => swigf_Measurement_set_source_description + procedure :: set_measurement_description => swigf_Measurement_set_measurement_description procedure :: num_gamma_channels => swigf_Measurement_num_gamma_channels procedure :: find_gamma_channel => swigf_Measurement_find_gamma_channel procedure :: gamma_channel_content => swigf_Measurement_gamma_channel_content @@ -353,6 +357,9 @@ module specutilswrap procedure :: gamma_energy_min => swigf_Measurement_gamma_energy_min procedure :: gamma_energy_max => swigf_Measurement_gamma_energy_max procedure :: derived_data_properties => swigf_Measurement_derived_data_properties + procedure :: rpm_panel_number => swigf_Measurement_rpm_panel_number + procedure :: rpm_column_number => swigf_Measurement_rpm_column_number + procedure :: rpm_mca_number => swigf_Measurement_rpm_mca_number procedure :: write_2006_N42_xml => swigf_Measurement_write_2006_N42_xml procedure :: write_csv => swigf_Measurement_write_csv procedure :: write_txt => swigf_Measurement_write_txt @@ -841,42 +848,6 @@ module specutilswrap public :: lexically_normalize_path public :: load_file_data public :: likely_not_spec_file - ! class SpecUtils::MeasurementExt - type, extends(Measurement), public :: MeasurementExt - contains - procedure :: set_description => swigf_MeasurementExt_set_description - procedure :: set_source => swigf_MeasurementExt_set_source - procedure :: get_description => swigf_MeasurementExt_get_description - procedure :: get_source => swigf_MeasurementExt_get_source - procedure :: panel => swigf_MeasurementExt_panel - procedure :: column => swigf_MeasurementExt_column - procedure :: mca => swigf_MeasurementExt_mca - procedure :: set_ecal => swigf_MeasurementExt_set_ecal - procedure :: release => swigf_MeasurementExt_release - procedure, private :: swigf_MeasurementExt_op_assign__ - generic :: assignment(=) => swigf_MeasurementExt_op_assign__ - end type MeasurementExt - ! class SpecUtils::EnergyCalibrationExt - type, extends(EnergyCalibration), public :: EnergyCalibrationExt - contains - procedure :: get_dev_pairs => swigf_EnergyCalibrationExt_get_dev_pairs - procedure :: set_dev_pairs => swigf_EnergyCalibrationExt_set_dev_pairs - procedure :: get_coeffs => swigf_EnergyCalibrationExt_get_coeffs - procedure :: release => swigf_EnergyCalibrationExt_release - procedure, private :: swigf_EnergyCalibrationExt_op_assign__ - generic :: assignment(=) => swigf_EnergyCalibrationExt_op_assign__ - end type EnergyCalibrationExt - ! class SpecUtils::PcfFile - type, extends(SpecFile), public :: PcfFile - contains - procedure :: read => swigf_PcfFile_read - procedure :: add_measurement_ext => swigf_PcfFile_add_measurement_ext - procedure :: get_measurement_at => swigf_PcfFile_get_measurement_at - procedure :: make_measurement => swigf_PcfFile_make_measurement - procedure :: release => swigf_PcfFile_release - procedure, private :: swigf_PcfFile_op_assign__ - generic :: assignment(=) => swigf_PcfFile_op_assign__ - end type PcfFile interface is_candidate_n42_file module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 end interface @@ -918,12 +889,6 @@ module specutilswrap interface EnergyCalibration module procedure swigf_new_EnergyCalibration end interface - interface MeasurementExt - module procedure swigf_new_MeasurementExt - end interface - interface PcfFile - module procedure swigf_new_PcfFile - end interface interface SpecFile module procedure swigf_new_SpecFile__SWIG_0, swigf_new_SpecFile__SWIG_1 end interface @@ -941,9 +906,6 @@ module specutilswrap interface MultimediaData module procedure swigf_new_MultimediaData end interface - interface EnergyCalibrationExt - module procedure swigf_new_EnergyCalibrationExt - end interface ! FUNCTION POINTER DECLARATIONS abstract interface @@ -1685,6 +1647,26 @@ function swigc_Measurement_pcf_tag(farg1) & character(C_CHAR) :: fresult end function +function swigc_Measurement_source_description(farg1) & +bind(C, name="_wrap_Measurement_source_description") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_measurement_description(farg1) & +bind(C, name="_wrap_Measurement_measurement_description") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + function swigc_Measurement_position_time(farg1) & bind(C, name="_wrap_Measurement_position_time") & result(fresult) @@ -1967,6 +1949,24 @@ subroutine swigc_Measurement_set_pcf_tag(farg1, farg2) & character(C_CHAR), intent(in) :: farg2 end subroutine +subroutine swigc_Measurement_set_source_description(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_source_description") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_measurement_description(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_measurement_description") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + function swigc_Measurement_num_gamma_channels(farg1) & bind(C, name="_wrap_Measurement_num_gamma_channels") & result(fresult) @@ -2103,6 +2103,33 @@ function swigc_Measurement_derived_data_properties(farg1) & type(SwigClassWrapper) :: fresult end function +function swigc_Measurement_rpm_panel_number(farg1) & +bind(C, name="_wrap_Measurement_rpm_panel_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_rpm_column_number(farg1) & +bind(C, name="_wrap_Measurement_rpm_column_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_rpm_mca_number(farg1) & +bind(C, name="_wrap_Measurement_rpm_mca_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + function swigc_Measurement_write_2006_N42_xml(farg1, farg2) & bind(C, name="_wrap_Measurement_write_2006_N42_xml") & result(fresult) @@ -5542,210 +5569,6 @@ function swigc_likely_not_spec_file(farg1) & integer(C_INT) :: fresult end function -function swigc_new_MeasurementExt() & -bind(C, name="_wrap_new_MeasurementExt") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_MeasurementExt_set_description(farg1, farg2) & -bind(C, name="_wrap_MeasurementExt_set_description") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_MeasurementExt_set_source(farg1, farg2) & -bind(C, name="_wrap_MeasurementExt_set_source") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_MeasurementExt_get_description(farg1) & -bind(C, name="_wrap_MeasurementExt_get_description") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_MeasurementExt_get_source(farg1) & -bind(C, name="_wrap_MeasurementExt_get_source") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_MeasurementExt_panel(farg1) & -bind(C, name="_wrap_MeasurementExt_panel") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_MeasurementExt_column(farg1) & -bind(C, name="_wrap_MeasurementExt_column") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_MeasurementExt_mca(farg1) & -bind(C, name="_wrap_MeasurementExt_mca") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_MeasurementExt_set_ecal(farg1, farg2) & -bind(C, name="_wrap_MeasurementExt_set_ecal") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_delete_MeasurementExt(farg1) & -bind(C, name="_wrap_delete_MeasurementExt") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_MeasurementExt_op_assign__(farg1, farg2) & -bind(C, name="_wrap_MeasurementExt_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_new_EnergyCalibrationExt() & -bind(C, name="_wrap_new_EnergyCalibrationExt") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -function swigc_EnergyCalibrationExt_get_dev_pairs(farg1) & -bind(C, name="_wrap_EnergyCalibrationExt_get_dev_pairs") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_EnergyCalibrationExt_set_dev_pairs(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibrationExt_set_dev_pairs") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_EnergyCalibrationExt_get_coeffs(farg1) & -bind(C, name="_wrap_EnergyCalibrationExt_get_coeffs") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_delete_EnergyCalibrationExt(farg1) & -bind(C, name="_wrap_delete_EnergyCalibrationExt") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_EnergyCalibrationExt_op_assign__(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibrationExt_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_new_PcfFile() & -bind(C, name="_wrap_new_PcfFile") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_PcfFile_read(farg1, farg2) & -bind(C, name="_wrap_PcfFile_read") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_PcfFile_add_measurement_ext(farg1, farg2) & -bind(C, name="_wrap_PcfFile_add_measurement_ext") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_PcfFile_get_measurement_at(farg1, farg2) & -bind(C, name="_wrap_PcfFile_get_measurement_at") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_PcfFile_make_measurement(farg1) & -bind(C, name="_wrap_PcfFile_make_measurement") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_delete_PcfFile(farg1) & -bind(C, name="_wrap_delete_PcfFile") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_PcfFile_op_assign__(farg1, farg2) & -bind(C, name="_wrap_PcfFile_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - end interface @@ -6882,6 +6705,34 @@ function swigf_Measurement_pcf_tag(self) & swig_result = fresult end function +function swigf_Measurement_source_description(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_source_description(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_measurement_description(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_measurement_description(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + function swigf_Measurement_position_time(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -7298,28 +7149,54 @@ subroutine swigf_Measurement_set_pcf_tag(self, tag_char) call swigc_Measurement_set_pcf_tag(farg1, farg2) end subroutine -function swigf_Measurement_num_gamma_channels(self) & -result(swig_result) +subroutine swigf_Measurement_set_source_description(self, description) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result class(Measurement), intent(in) :: self -integer(C_INT) :: fresult +character(len=*), intent(in) :: description type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 farg1 = self%swigdata -fresult = swigc_Measurement_num_gamma_channels(farg1) -swig_result = fresult -end function +call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) +call swigc_Measurement_set_source_description(farg1, farg2) +end subroutine -function swigf_Measurement_find_gamma_channel(self, energy) & -result(swig_result) +subroutine swigf_Measurement_set_measurement_description(self, description) use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: energy -integer(C_INT) :: fresult +character(len=*), intent(in) :: description type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) +call swigc_Measurement_set_measurement_description(farg1, farg2) +end subroutine + +function swigf_Measurement_num_gamma_channels(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_num_gamma_channels(farg1) +swig_result = fresult +end function + +function swigf_Measurement_find_gamma_channel(self, energy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: energy +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 farg1 = self%swigdata farg2 = energy @@ -7510,6 +7387,45 @@ function swigf_Measurement_derived_data_properties(self) & swig_result%swigdata = fresult end function +function swigf_Measurement_rpm_panel_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_rpm_panel_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_rpm_column_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_rpm_column_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_rpm_mca_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_rpm_mca_number(farg1) +swig_result = fresult +end function + function swigf_Measurement_write_2006_N42_xml(self, ostr) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -12881,313 +12797,5 @@ function likely_not_spec_file(file) & call SWIGTM_fout_bool(fresult, swig_result) end function -function swigf_new_MeasurementExt() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementExt) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_MeasurementExt() -self%swigdata = fresult -end function - -subroutine swigf_MeasurementExt_set_description(self, description) -use, intrinsic :: ISO_C_BINDING -class(MeasurementExt), intent(in) :: self -character(len=*), intent(in) :: description -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) -call swigc_MeasurementExt_set_description(farg1, farg2) -end subroutine - -subroutine swigf_MeasurementExt_set_source(self, source) -use, intrinsic :: ISO_C_BINDING -class(MeasurementExt), intent(in) :: self -character(len=*), intent(in) :: source -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(source, farg2, farg2_temp) -call swigc_MeasurementExt_set_source(farg1, farg2) -end subroutine - -function swigf_MeasurementExt_get_description(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MeasurementExt), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementExt_get_description(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_MeasurementExt_get_source(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MeasurementExt), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementExt_get_source(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_MeasurementExt_panel(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(MeasurementExt), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementExt_panel(farg1) -swig_result = fresult -end function - -function swigf_MeasurementExt_column(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(MeasurementExt), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementExt_column(farg1) -swig_result = fresult -end function - -function swigf_MeasurementExt_mca(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(MeasurementExt), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementExt_mca(farg1) -swig_result = fresult -end function - -subroutine swigf_MeasurementExt_set_ecal(self, cal) -use, intrinsic :: ISO_C_BINDING -class(MeasurementExt), intent(in) :: self -class(EnergyCalibration), intent(in) :: cal -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_MeasurementExt_set_ecal(farg1, farg2) -end subroutine - -subroutine swigf_MeasurementExt_release(self) -use, intrinsic :: ISO_C_BINDING -class(MeasurementExt), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_MeasurementExt(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_MeasurementExt_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(MeasurementExt), intent(inout) :: self -type(MeasurementExt), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_MeasurementExt_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_new_EnergyCalibrationExt() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(EnergyCalibrationExt) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_EnergyCalibrationExt() -self%swigdata = fresult -end function - -function swigf_EnergyCalibrationExt_get_dev_pairs(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DeviationPairs) :: swig_result -class(EnergyCalibrationExt), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibrationExt_get_dev_pairs(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_EnergyCalibrationExt_set_dev_pairs(self, devpairs) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibrationExt), intent(in) :: self -class(DeviationPairs), intent(in) :: devpairs -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = devpairs%swigdata -call swigc_EnergyCalibrationExt_set_dev_pairs(farg1, farg2) -end subroutine - -function swigf_EnergyCalibrationExt_get_coeffs(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(EnergyCalibrationExt), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibrationExt_get_coeffs(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_EnergyCalibrationExt_release(self) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibrationExt), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_EnergyCalibrationExt(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_EnergyCalibrationExt_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibrationExt), intent(inout) :: self -type(EnergyCalibrationExt), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_EnergyCalibrationExt_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_new_PcfFile() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(PcfFile) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_PcfFile() -self%swigdata = fresult -end function - -subroutine swigf_PcfFile_read(self, fname) -use, intrinsic :: ISO_C_BINDING -class(PcfFile), intent(in) :: self -character(len=*), intent(in) :: fname -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(fname, farg2, farg2_temp) -call swigc_PcfFile_read(farg1, farg2) -end subroutine - -subroutine swigf_PcfFile_add_measurement_ext(self, m) -use, intrinsic :: ISO_C_BINDING -class(PcfFile), intent(in) :: self -class(MeasurementExt), intent(in) :: m -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = m%swigdata -call swigc_PcfFile_add_measurement_ext(farg1, farg2) -end subroutine - -function swigf_PcfFile_get_measurement_at(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(MeasurementExt) :: swig_result -class(PcfFile), intent(in) :: self -integer(C_INT), intent(in) :: index -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = index -fresult = swigc_PcfFile_get_measurement_at(farg1, farg2) -swig_result%swigdata = fresult -end function - -function swigf_PcfFile_make_measurement(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(PcfFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_PcfFile_make_measurement(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_PcfFile_release(self) -use, intrinsic :: ISO_C_BINDING -class(PcfFile), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_PcfFile(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_PcfFile_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(PcfFile), intent(inout) :: self -type(PcfFile), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_PcfFile_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - end module diff --git a/bindings/swig/fortran/test_specutils_fortran.f90 b/bindings/swig/fortran/test_specutils_fortran.f90 index 716d130..558b8a5 100644 --- a/bindings/swig/fortran/test_specutils_fortran.f90 +++ b/bindings/swig/fortran/test_specutils_fortran.f90 @@ -8,44 +8,14 @@ program TestSpecUtils integer, parameter :: maxCol = 4 call SpecUtilsRoundTrip() - call DerivationPairMap() + !call DerivationPairMap() print *, "Success!" contains -subroutine mapDevPairsToArray2(specFile, fortranArray) - implicit none - type(PcfFile), intent(in) :: specFile - real :: fortranArray(2, 20, 8, 8, 4) - integer :: numMeasurements, i, devPairIdx - type(MeasurementExt) :: m - integer :: column, panel, mca, numDevPairs - type(DevPair) :: pair - type(DeviationPairs) :: devPairs - - numMeasurements = specFile%num_measurements() - - do i = 1, numMeasurements - m = specFile%get_measurement_at(i-1) - column = m%column() - panel = m%panel() - mca = m%mca() - devPairs = m%deviation_pairs() - devPairIdx = 1 - - numDevPairs = devPairs%size() - do devPairIdx = 1, numDevPairs - pair = devPairs%get(devPairIdx) - fortranArray(1, devPairIdx, mca + 1, panel + 1, column + 1) = pair%get_first() - fortranArray(2, devPairIdx, mca + 1, panel + 1, column + 1) = pair%get_second() - end do - end do -end subroutine - subroutine SpecUtilsRoundTrip() -! use, intrinsic :: ISO_C_BINDING type(error_type), allocatable :: error - type(PcfFile) :: sf - type(MeasurementExt) :: m + type(SpecFile) :: sf + type(Measurement) :: m character(len=:), allocatable :: filePath character(len=:), allocatable :: title integer :: istat, i @@ -64,13 +34,13 @@ subroutine SpecUtilsRoundTrip() call check( error, success ) end if - m = MeasurementExt() + m = Measurement() call m%set_start_time_from_string("14-Nov-1995 12:17:41.43") call m%set_title("SpecUtilsRoundTrip Det=Ba2") call m%set_detector_name("Ba2"); - call m%set_description("TestDescription") - call m%set_source("TestSource") + call m%set_measurement_description("TestDescription") + call m%set_source_description("TestSource") call m%set_neutron_count(99.0) allocate( spectrum(128) ) @@ -100,16 +70,16 @@ subroutine SpecUtilsRoundTrip() call ecalIn%set_full_range_fraction(size(spectrum), coeffsIn, devPairsIn) call m%set_energy_calibration(ecalIn) - sf = PcfFile() + sf = SpecFile() call sf%add_measurement(m) call sf%write_to_file(filePath, SaveSpectrumAsType_Pcf) call SpecUtilsRoundTrip_Read(sf, filePath) - call mapDevPairsToArray2(sf, devPairArray) + ! call mapDevPairsToArray2(sf, devPairArray) - call check( error, devPairArray(1, 1, 2, 2, 1), 11.0 ) - call check( error, devPairArray(2, 1, 2, 2, 1), -1.0 ) + ! call check( error, devPairArray(1, 1, 2, 2, 1), 11.0 ) + ! call check( error, devPairArray(2, 1, 2, 2, 1), -1.0 ) call sf%release() call coeffsIn%release() @@ -120,10 +90,10 @@ subroutine SpecUtilsRoundTrip() end subroutine subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) - type(PcfFile), intent(in) :: expectedSpecFile + type(SpecFile), intent(in) :: expectedSpecFile type(error_type), allocatable :: error - type(PcfFile) :: actualSpecFile - type(MeasurementExt) :: expM, actM + type(SpecFile) :: actualSpecFile + type(Measurement) :: expM, actM character(len=:), allocatable, intent(in) :: filePath character(len=:), allocatable :: title integer :: istat, i, numChannels @@ -134,18 +104,18 @@ subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) type(DeviationPairs) :: devPairsAct, devPairsExp type(DevPair) :: devPairAct, devPairExp - actualSpecFile = PcfFile() + actualSpecFile = SpecFile() success = actualSpecFile%load_file(filePath, ParserType_Auto) call check(error, success) - expM = expectedSpecFile%get_measurement_at(0) - actM = actualSpecFile%get_measurement_at(0) + expM = expectedSpecFile%measurement_at(1) + actM = actualSpecFile%measurement_at(1) call check(error, actM%title(), expM%title() ) - call check(error, actM%get_description() .ne. '' ) - call check(error, actM%get_description(), expM%get_description() ) - call check(error, actM%get_source() .ne. '' ) - call check(error, actM%get_source(), expM%get_source() ) + call check(error, actM%measurement_description() .ne. '' ) + call check(error, actM%measurement_description(), expM%measurement_description() ) + call check(error, actM%source_description() .ne. '' ) + call check(error, actM%source_description(), expM%source_description() ) !call check(error, actM%get_column(), expM%get_column() ) !call check(error, actM%get_panel(), expM%get_panel() ) call check(error, actM%get_start_time_string(), expM%get_start_time_string() ) @@ -248,56 +218,56 @@ subroutine getDetectorName(panel, column, mca, isNeutron, detectorName) end subroutine -subroutine DerivationPairMap() - type(error_type), allocatable :: error - type(PcfFile) :: sf - type(EnergyCalibrationExt) :: ecal - type(MeasurementExt) :: m - type(DeviationPairs) :: devPairs - type(DevPair) :: devPairAct, devPairExp, dp - character(len=20) :: detectorName - real :: devPairArray(2, maxDevPairs, maxMCA, maxPanel, maxCol) - integer :: col_i, panel_j, mca_k, p - real :: first, second - integer :: pairVal - integer :: col, panel, mca, devPair_i - - sf = PcfFile() - pairVal = 0 - do col = 1, maxCol - do panel = 1, maxPanel - do mca = 1, maxMCA - m = MeasurementExt() - devPairs = DeviationPairs() - call getDetectorName(panel,col,mca,.false.,detectorName) - call m%set_detector_name(detectorName) - do devPair_i = 1, maxDevPairs - dp = DevPair() - pairVal = pairVal + 1 - call dp%set_first(real(pairVal)) - pairVal = pairVal + 1 - call dp%set_second(real(pairVal)) - call devPairs%push_back(dp) - end do - ecal = EnergyCalibrationExt() - call ecal%set_dev_pairs(devPairs) - call m%set_ecal(ecal) - call sf%add_measurement(m) - end do - end do - end do - - call mapDevPairsToArray2(sf, devPairArray) - - col =3 - panel = 2 - mca = 7 - devPair_i = 19 - call getExpectedDeviationPair(col, panel, mca, devPair_i, first, second) - - call check( error, devPairArray(1,devPair_i,mca,panel,col), first) - call check( error, devPairArray(2,devPair_i,mca,panel,col), second) +! subroutine DerivationPairMap() +! type(error_type), allocatable :: error +! type(SpecFile) :: sf +! type(EnergyCalibrationExt) :: ecal +! type(Measurement) :: m +! type(DeviationPairs) :: devPairs +! type(DevPair) :: devPairAct, devPairExp, dp +! character(len=20) :: detectorName +! real :: devPairArray(2, maxDevPairs, maxMCA, maxPanel, maxCol) +! integer :: col_i, panel_j, mca_k, p +! real :: first, second +! integer :: pairVal +! integer :: col, panel, mca, devPair_i + +! sf = SpecFile() +! pairVal = 0 +! do col = 1, maxCol +! do panel = 1, maxPanel +! do mca = 1, maxMCA +! m = Measurement() +! devPairs = DeviationPairs() +! call getDetectorName(panel,col,mca,.false.,detectorName) +! call m%set_detector_name(detectorName) +! do devPair_i = 1, maxDevPairs +! dp = DevPair() +! pairVal = pairVal + 1 +! call dp%set_first(real(pairVal)) +! pairVal = pairVal + 1 +! call dp%set_second(real(pairVal)) +! call devPairs%push_back(dp) +! end do +! ecal = EnergyCalibrationExt() +! call ecal%set_dev_pairs(devPairs) +! call m%set_ecal(ecal) +! call sf%add_measurement(m) +! end do +! end do +! end do + +! call mapDevPairsToArray2(sf, devPairArray) + +! col =3 +! panel = 2 +! mca = 7 +! devPair_i = 19 +! call getExpectedDeviationPair(col, panel, mca, devPair_i, first, second) + +! call check( error, devPairArray(1,devPair_i,mca,panel,col), first) +! call check( error, devPairArray(2,devPair_i,mca,panel,col), second) -end subroutine +! end subroutine end program \ No newline at end of file From 6a07a20b3446a384d40f402913b3cc3b01b2311d Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 15:28:59 -0600 Subject: [PATCH 044/100] add ctest args --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ef0b58c..2c55f7b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -70,4 +70,4 @@ jobs: run: cmake --build build --config Debug - name: Run tests - run: ctest --test-dir build -C Release + run: ctest --rerun-failed --output-on-failure --test-dir build -C Release From d6e44d7aa016366fa2df84b10dcc7ead718e59ad Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 16:07:05 -0600 Subject: [PATCH 045/100] rename this, I was getting compiler warning: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit /mnt/c/Projects/code/SpecUtils/unit_tests/test_spec_file.cpp: In function ‘void DOCTEST_ANON_FUNC_14()’: /mnt/c/Projects/code/SpecUtils/unit_tests/test_spec_file.cpp:180:55: warning: ISO C++ says that these are ambiguous, even though the worst conversion for the first is better than the worst conversion for the second: 180 | auto &m = *(specfile.measurement(size_t(0)) ); | ^ In file included from /mnt/c/Projects/code/SpecUtils/unit_tests/test_spec_file.cpp:5: /mnt/c/Projects/code/SpecUtils/SpecUtils/SpecFile.h:1460:38: note: candidate 1: ‘std::shared_ptr SpecUtils::SpecFile::measurement(size_t) const’ 1460 | std::shared_ptr measurement( size_t num ) const; | ^~~~~~~~~~~ /mnt/c/Projects/code/SpecUtils/SpecUtils/SpecFile.h:2447:32: note: candidate 2: ‘std::shared_ptr SpecUtils::SpecFile::measurement(std::shared_ptr)’ 2447 | std::shared_ptr measurement( std::shared_ptr meas ); --- SpecUtils/SpecFile.h | 2 +- src/SpecFile.cpp | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 31ea15a..dd67221 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -2444,7 +2444,7 @@ class SpecFile //measurement(...): converts a const Measurement ptr to a non-const Measurement // ptr, as well as checking that the Measurement actually belong to this // SpecFile object. Returns empty pointer on error. - std::shared_ptr measurement( std::shared_ptr meas ); + std::shared_ptr unconstify_measurement( std::shared_ptr meas ); //find_detector_names(): looks through measurements_ to find all detector // names. diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index cbc12b8..03ae800 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -1914,7 +1914,7 @@ void SpecFile::combine_gamma_channels( const size_t ncombine, { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr m = measurement( meas ); + std::shared_ptr m = unconstify_measurement( meas ); if( !m ) throw runtime_error( "SpecFile::combine_gamma_channels(): measurement" " passed in is not owned by this SpecFile." ); @@ -2108,7 +2108,7 @@ void SpecFile::truncate_gamma_channels( const size_t keep_first_channel, std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr m = measurement( meas ); + std::shared_ptr m = unconstify_measurement( meas ); if( !m ) throw runtime_error( "SpecFile::truncate_gamma_channels(): measurement" " passed in is not owned by this SpecFile." ); @@ -2129,7 +2129,7 @@ void SpecFile::truncate_gamma_channels( const size_t keep_first_channel, -std::shared_ptr SpecFile::measurement( std::shared_ptr meas ) +std::shared_ptr SpecFile::unconstify_measurement( std::shared_ptr meas ) { std::unique_lock scoped_lock( mutex_ ); @@ -2155,7 +2155,7 @@ void SpecFile::set_live_time( const float lt, { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_live_time(...): measurement" " passed in didnt belong to this SpecFile" ); @@ -2171,7 +2171,7 @@ void SpecFile::set_real_time( const float rt, std::shared_ptr { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_real_time(...): measurement" " passed in didnt belong to this SpecFile" ); @@ -2445,7 +2445,7 @@ void SpecFile::set_start_time( const time_point_t ×tamp, const std::shared_ptr meas ) { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_start_time(...): measurement" " passed in didnt belong to this SpecFile" ); @@ -2458,7 +2458,7 @@ void SpecFile::set_remarks( const std::vector &remarks, const std::shared_ptr meas ) { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_remarks(...): measurement" " passed in didnt belong to this SpecFile" ); @@ -2471,7 +2471,7 @@ void SpecFile::set_source_type( const SourceType type, const std::shared_ptr meas ) { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_source_type(...): measurement" " passed in didnt belong to this SpecFile" ); @@ -2486,7 +2486,7 @@ void SpecFile::set_position( double longitude, double latitude, const std::shared_ptr meas ) { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_position(...): measurement" " passed in didnt belong to this SpecFile" ); @@ -2523,7 +2523,7 @@ void SpecFile::set_title( const std::string &title, const std::shared_ptr meas ) { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_title(...): measurement" " passed in didnt belong to this SpecFile" ); @@ -2540,7 +2540,7 @@ void SpecFile::set_contained_neutrons( const bool contained, const float neutron_live_time ) { std::unique_lock scoped_lock( mutex_ ); - std::shared_ptr ptr = measurement( meas ); + std::shared_ptr ptr = unconstify_measurement( meas ); if( !ptr ) throw runtime_error( "SpecFile::set_containtained_neutrons(...): " "measurement passed in didnt belong to this " @@ -7285,7 +7285,7 @@ void SpecFile::set_energy_calibration( const std::shared_ptr meas = measurement(constmeas); + std::shared_ptr meas = unconstify_measurement(constmeas); if( !meas ) throw runtime_error( "set_calibration: invalid passed in measurement" ); From 74d44189524dbbfac2f2cba71133adf86fed8111 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 16:26:54 -0600 Subject: [PATCH 046/100] add debug print for CICD --- bindings/swig/fortran/SpecUtilsFortran.i | 4 +++- bindings/swig/fortran/SpecUtilsFortran_wrap.cxx | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 716c979..6d1dd52 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -7,7 +7,8 @@ #include #include #include -#include +#include + %} @@ -127,6 +128,7 @@ namespace std { /// @param index is 1-based std::shared_ptr measurement_at(int index) { + std::cout << "measurement_at: index: " << index << std::endl; return $self->measurement(static_cast(index-1)); } diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index c600f40..5fb0f8a 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -303,7 +303,8 @@ template T SwigValueInit() { #include #include #include -#include +#include + #include @@ -621,6 +622,7 @@ SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self, } } SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ + std::cout << "measurement_at: index: " << index << std::endl; return self->measurement(static_cast(index-1)); } SWIGINTERN int SpecUtils_SpecFile_get_max_channel_count(SpecUtils::SpecFile *self){ From 13bb81962c8a0c243e2fc710122db5a3853e15a6 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 16:38:42 -0600 Subject: [PATCH 047/100] mas debug --- bindings/swig/fortran/SpecUtilsFortran.i | 8 ++++++-- bindings/swig/fortran/SpecUtilsFortran_wrap.cxx | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index 6d1dd52..b74a6e1 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -128,8 +128,12 @@ namespace std { /// @param index is 1-based std::shared_ptr measurement_at(int index) { - std::cout << "measurement_at: index: " << index << std::endl; - return $self->measurement(static_cast(index-1)); + + auto newIndex = static_cast(index-1); + + std::cout << __func__ << ": newIndex: " << newIndex << std::endl; + std::cout << __func__ << ": num_measurements: " << $self->num_measurements() << std::endl; + return $self->measurement(newIndex); } int get_max_channel_count() diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 5fb0f8a..be7577b 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -622,8 +622,12 @@ SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self, } } SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ - std::cout << "measurement_at: index: " << index << std::endl; - return self->measurement(static_cast(index-1)); + + auto newIndex = static_cast(index-1); + + std::cout << __func__ << ": newIndex: " << newIndex << std::endl; + std::cout << __func__ << ": num_measurements: " << self->num_measurements() << std::endl; + return self->measurement(newIndex); } SWIGINTERN int SpecUtils_SpecFile_get_max_channel_count(SpecUtils::SpecFile *self){ auto maxCount = 0; From 0caf7ca4ceb5a98528a340e612b87c1a14fbf528 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 16:52:43 -0600 Subject: [PATCH 048/100] add index, size to exception message --- src/SpecFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index 03ae800..527b42c 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -499,7 +499,7 @@ std::shared_ptr SpecFile::measurement( const size_t n = measurements_.size(); if( num >= n ) - throw std::runtime_error( "SpecFile::measurement(size_t): invalid index" ); + throw std::runtime_error( "SpecFile::measurement(size_t): invalid index" + std::to_string(num)); return measurements_[num]; } From 3981033d483606b8a4ae9fb3ee428658da71f2b1 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 16:53:05 -0600 Subject: [PATCH 049/100] add size --- src/SpecFile.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index 527b42c..9251cf5 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -499,7 +499,7 @@ std::shared_ptr SpecFile::measurement( const size_t n = measurements_.size(); if( num >= n ) - throw std::runtime_error( "SpecFile::measurement(size_t): invalid index" + std::to_string(num)); + throw std::runtime_error( "SpecFile::measurement(size_t): invalid index: " + std::to_string(num) + "; num_measurements: " + std::to_string(n)); return measurements_[num]; } From cdc7ecd19e540a22faccb319fb7d42e04449f6b9 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 17:30:44 -0600 Subject: [PATCH 050/100] add build script to aid in cicd debug --- bindings/swig/fortran/build-and-test.sh | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 bindings/swig/fortran/build-and-test.sh diff --git a/bindings/swig/fortran/build-and-test.sh b/bindings/swig/fortran/build-and-test.sh new file mode 100644 index 0000000..7d83d52 --- /dev/null +++ b/bindings/swig/fortran/build-and-test.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +pushd /tmp + +rm -rf build + +cmake -S /mnt/c/Projects/code/SpecUtils \ + -B build \ + -DSpecUtils_BUILD_UNIT_TESTS=ON \ + -DSpecUtils_BUILD_REGRESSION_TEST=ON \ + -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON \ + -DPERFORM_DEVELOPER_CHECKS=ON \ + -DSpecUtils_ENABLE_D3_CHART=OFF \ + -DSpecUtils_USING_NO_THREADING=ON \ + -DSpecUtils_D3_SUPPORT_FILE_STATIC=OFF \ + -DSpecUtils_ENABLE_URI_SPECTRA=OFF \ + -DCMAKE_BUILD_TYPE=Release \ + -DSpecUtils_FLT_PARSE_METHOD=FastFloat \ + -DSpecUtils_FETCH_FAST_FLOAT=ON \ + -DSpecUtils_C_BINDINGS=ON \ + -DSpecUtils_FORTRAN_SWIG=ON + + cmake --build build -j 20 --config Release + + ctest --rerun-failed --output-on-failure --test-dir build -C Release + + popd \ No newline at end of file From 0f58916c88459f47dc99b8f8f5b1cc17155098fe Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 17:34:25 -0600 Subject: [PATCH 051/100] up minimum to avoid cmake warning --- regression_test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regression_test/CMakeLists.txt b/regression_test/CMakeLists.txt index 5cdb69e..86bb909 100644 --- a/regression_test/CMakeLists.txt +++ b/regression_test/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_policy(SET CMP0048 NEW) project(SpecUtilsRegressionTest VERSION 1) -cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) +cmake_minimum_required(VERSION 3.5.0 FATAL_ERROR) if( NOT SpecUtils_ENABLE_EQUALITY_CHECKS ) message( FATAL_ERROR "SpecUtils_ENABLE_EQUALITY_CHECKS must be enabled when building regression_test executable" ) From a80f9af54efed5437136eb7d10dd858ff31c1ac6 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 17:34:54 -0600 Subject: [PATCH 052/100] uri spectra causes fortran test to fail --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2c55f7b..b9a17fc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -59,7 +59,7 @@ jobs: - name: Configure CMake on macOS if: runner.os == 'macOS' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON - name: Build macOS and Windows if: runner.os != 'Linux' @@ -67,7 +67,7 @@ jobs: - name: Build Linux if: runner.os == 'Linux' - run: cmake --build build --config Debug + run: cmake --build build --config Release - name: Run tests run: ctest --rerun-failed --output-on-failure --test-dir build -C Release From 074926e8670a757160bf69de73dc6b41a2f765c5 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 10 Oct 2024 17:43:22 -0600 Subject: [PATCH 053/100] wrong line --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b9a17fc..87a9969 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,11 +55,11 @@ jobs: # On linux we will perform developer checks and compile as debug to catch asserts - name: Configure CMake on Linux if: runner.os == 'Linux' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=ON -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON -DSpecUtils_FORTRAN_SWIG=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=ON -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON -DSpecUtils_FORTRAN_SWIG=ON - name: Configure CMake on macOS if: runner.os == 'macOS' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON - name: Build macOS and Windows if: runner.os != 'Linux' @@ -67,7 +67,7 @@ jobs: - name: Build Linux if: runner.os == 'Linux' - run: cmake --build build --config Release + run: cmake --build build --config Release -j $(nproc) - name: Run tests run: ctest --rerun-failed --output-on-failure --test-dir build -C Release From 1047d13d9646212e0827f74119616a4a8c4de249 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 15:23:02 -0700 Subject: [PATCH 054/100] First try at adding an automated release of shared libraries for windows --- .github/workflows/ci.yml | 53 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 93390ab..a8e9555 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,16 +50,16 @@ jobs: - name: Configure CMake on Windows if: runner.os == 'Windows' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix # On linux we will perform developer checks and compile as debug to catch asserts - name: Configure CMake on Linux if: runner.os == 'Linux' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=ON -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=ON -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix - name: Configure CMake on macOS if: runner.os == 'macOS' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix - name: Build macOS and Windows if: runner.os != 'Linux' @@ -71,3 +71,50 @@ jobs: - name: Run tests run: ctest --test-dir build -C Release + + - name: Package Lib + if: runner.os == 'boost' && runner.os == 'Windows' + run: | + cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF + cmake --build build_static_lib_shared_runtime --config Release --target package + # + cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON + cmake --build build_shared_lib_shared_runtime --config Release --target package + # + cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON + cmake --build build_shared_lib_static_runtime --config Release --target package + # + cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF + cmake --build build_static_lib_static_runtime --config Release --target package + +# Update the bleeding-edge tag to be current commit + - name: Run latest-tag + uses: EndBug/latest-tag@v1.6.1 + if: runner.os == 'Windows' + with: + ref: bleeding-edge + description: Latest successful automated build + + - name: Upload windows build to GitHub Artifact + uses: actions/upload-artifact@v4 + if: runner.os == 'Windows' + with: + name: SpecUtils_${{ runner.os }}_latest + path: '.\build_*\*.zip' + + - name: Create Release + uses: ncipollo/release-action@v1.13.0 + if: runner.os == 'Windows' + with: + artifacts: '.\build_*\*.zip' + draft: false + prerelease: true + body: "An automated, and untested build of the latest code pushed to the repository." + allowUpdates: true + generateReleaseNotes: false + name: "Bleeding Edge Build" + removeArtifacts: true + replacesArtifacts: true + tag: 'bleeding-edge' + commit: ${{ github.sha }} + makeLatest: true \ No newline at end of file From 9451d0782ea84df9fe615aa61016216c7eeb56ad Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 15:31:49 -0700 Subject: [PATCH 055/100] Add package command to CMake, and bring out option for Windows runtime, even if not python et al --- CMakeLists.txt | 45 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0ae3fe7..db95a0a 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,14 @@ option( SpecUtils_USE_SIMD "Use SIMD operations; i386/x64 only right now, and ve option( SpecUtils_ENABLE_EQUALITY_CHECKS "Enables the equal_enough(...) functions for comparing two spectrum files." OFF ) #code size is only reason to default to off, I think option( PERFORM_DEVELOPER_CHECKS "Performs additional computationally expensive tests during execution (requires linking to boost)" OFF ) +if( SpecUtils_PYTHON_BINDINGS ) + option( SpecUtils_SHARED_LIB "Whether to compile a shared, or static library" ON ) + list( APPEND sources bindings/python/SpecFile_py.cpp ) +else() + #default to building a static lib + option( SpecUtils_SHARED_LIB "Whether to compile a shared, or static library" OFF ) +endif() + set( SpecUtils_FLT_PARSE_METHOD "default_value" CACHE STRING [[How to parse lists of numbers. Choose one of: FastFloat, FromChars, boost, strtod. Boost is fastest, FromChars requires a C++17 conformant compiler and runtime (note Apple clang does not implement), @@ -75,7 +83,7 @@ endif() # If we are building this on Windows, not as a sub-project, lets enable selecting C++ runtime -if( MSVC AND (SpecUtils_PYTHON_BINDINGS OR SpecUtils_BUILD_UNIT_TESTS) ) +if( MSVC ) get_directory_property(hasParent PARENT_DIRECTORY) if(NOT hasParent) option(${PROJECT_NAME}_USE_MSVC_MultiThreadDLL "Use dynamically-link runtime library." OFF) @@ -89,7 +97,7 @@ if( MSVC AND (SpecUtils_PYTHON_BINDINGS OR SpecUtils_BUILD_UNIT_TESTS) ) endif() message(STATUS "Using CMAKE_MSVC_RUNTIME_LIBRARY ${CMAKE_MSVC_RUNTIME_LIBRARY}") endif(NOT hasParent) -endif( MSVC AND (SpecUtils_PYTHON_BINDINGS OR SpecUtils_BUILD_UNIT_TESTS) ) +endif( MSVC ) if( SpecUtils_BUILD_EXAMPLE ) @@ -248,16 +256,11 @@ if( SpecUtils_ENABLE_URI_SPECTRA ) find_package( ZLIB REQUIRED ) endif( SpecUtils_ENABLE_URI_SPECTRA ) -#default to building a static lib -set( SpecUtils_LIB_TYPE STATIC ) - if( SpecUtils_PYTHON_BINDINGS ) - set( SpecUtils_LIB_TYPE SHARED ) list( APPEND sources bindings/python/SpecFile_py.cpp ) endif( SpecUtils_PYTHON_BINDINGS ) if( SpecUtils_JAVA_SWIG ) - set( SpecUtils_LIB_TYPE SHARED ) list( APPEND sources bindings/swig/SpecUtils.i ) endif( SpecUtils_JAVA_SWIG ) @@ -266,6 +269,12 @@ if( SpecUtils_C_BINDINGS ) list( APPEND sources bindings/c/SpecUtils_c.cpp ) endif( SpecUtils_C_BINDINGS ) +if( SpecUtils_SHARED_LIB ) + set( SpecUtils_LIB_TYPE SHARED ) +else( SpecUtils_SHARED_LIB ) + set( SpecUtils_LIB_TYPE STATIC ) +endif( SpecUtils_SHARED_LIB ) + add_library( SpecUtils ${SpecUtils_LIB_TYPE} ${sources} ${headers} ${OTHER_SUPPORT_FILES} ) set_target_properties( SpecUtils PROPERTIES PREFIX "lib" OUTPUT_NAME "SpecUtils" ) @@ -450,6 +459,7 @@ set_property( TARGET SpecUtils PROPERTY POSITION_INDEPENDENT_CODE ON ) # Specify installation rules include(GNUInstallDirs) + # Install the library install(TARGETS SpecUtils EXPORT SpecUtilsTargets @@ -494,3 +504,24 @@ install(EXPORT SpecUtilsTargets NAMESPACE SpecUtils:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils ) + +set(CPACK_PACKAGE_NAME "SpecUtils") + + +if( SpecUtils_SHARED_LIB ) + set( SpecUtils_PACKAGE_POSTFIX "SharedLib" ) +else( SpecUtils_SHARED_LIB ) + set( SpecUtils_PACKAGE_POSTFIX "StaticLib" ) +endif( SpecUtils_SHARED_LIB ) + +if( DEFINED ${PROJECT_NAME}_USE_MSVC_MultiThreadDLL ) + if( ${PROJECT_NAME}_USE_MSVC_MultiThreadDLL ) + set( SpecUtils_PACKAGE_POSTFIX "${SpecUtils_PACKAGE_POSTFIX}-SharedRuntime" ) + else() + set( SpecUtils_PACKAGE_POSTFIX "${SpecUtils_PACKAGE_POSTFIX}-StaticRuntime" ) + endif() +endif() + +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}-${SpecUtils_PACKAGE_POSTFIX}") +set(CPACK_GENERATOR "ZIP") +include(CPack) From a22e940fc02713d4c6b1fbdc9726b4c73d2d2647 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:01:43 -0700 Subject: [PATCH 056/100] Fix a few things up that I think got messed up during various merges. --- bindings/c/SpecUtils_c.cpp | 32 +++------------------- unit_tests/CMakeLists.txt | 2 +- unit_tests/test_c_interface.cpp | 2 +- unit_tests/test_data/spectra/Example1.pcf | Bin 0 -> 23296 bytes unit_tests/test_spec_file.cpp | 26 ------------------ 5 files changed, 6 insertions(+), 56 deletions(-) create mode 100755 unit_tests/test_data/spectra/Example1.pcf diff --git a/bindings/c/SpecUtils_c.cpp b/bindings/c/SpecUtils_c.cpp index e4ada88..854a901 100644 --- a/bindings/c/SpecUtils_c.cpp +++ b/bindings/c/SpecUtils_c.cpp @@ -1544,20 +1544,8 @@ const char *SpecUtils_Measurement_description( const SpecUtils_Measurement * con if( !m ) return ""; - const vector &remarks = m->remarks(); - - for( size_t i = 0; i < remarks.size(); ++i ) - { - if( SpecUtils::istarts_with(remarks[i], "Description:") ) - { - const char *answer = remarks[i].c_str() + 12; - while( *answer && ((*answer) == ' ') ) - ++answer; - return answer; - } - }// - - return ""; + const std::string &desc = m->measurement_description(); + return desc.c_str(); } @@ -1578,20 +1566,8 @@ const char *SpecUtils_Measurement_source_string( const SpecUtils_Measurement * c if( !m ) return ""; - const vector &remarks = m->remarks(); - - for( size_t i = 0; i < remarks.size(); ++i ) - { - if( SpecUtils::istarts_with(remarks[i], "Source:") ) - { - const char *answer = remarks[i].c_str() + 7; - while( *answer && ((*answer) == ' ') ) - ++answer; - return answer; - } - }// - - return ""; + const std::string &src = m->source_description(); + return src.c_str(); } diff --git a/unit_tests/CMakeLists.txt b/unit_tests/CMakeLists.txt index 296968f..bdf4c79 100644 --- a/unit_tests/CMakeLists.txt +++ b/unit_tests/CMakeLists.txt @@ -36,7 +36,7 @@ set( DATA_DIR_ARGS --indir=${CMAKE_CURRENT_SOURCE_DIR}/test_data ) if( CMAKE_GENERATOR STREQUAL "Xcode" ) list( APPEND COMMON_TEST_ARGS --no-colors=1 ) endif( CMAKE_GENERATOR STREQUAL "Xcode" ) -message( "Args: ${COMMON_TEST_ARGS}") +#message( "Args: ${COMMON_TEST_ARGS}") add_executable( test_spec_file test_spec_file.cpp ) diff --git a/unit_tests/test_c_interface.cpp b/unit_tests/test_c_interface.cpp index 23cf6b7..6c9691b 100644 --- a/unit_tests/test_c_interface.cpp +++ b/unit_tests/test_c_interface.cpp @@ -73,7 +73,7 @@ TEST_CASE( "TestCWrapperOpenFile" ) "../../../unit_tests/test_data" }; - const std::string rel_file_name = "spectra/drf_cal_HPGe_Am241.pcf"; + const std::string rel_file_name = "spectra/Example1.pcf"; for( const std::string dir : potential_input_paths ) { diff --git a/unit_tests/test_data/spectra/Example1.pcf b/unit_tests/test_data/spectra/Example1.pcf new file mode 100755 index 0000000000000000000000000000000000000000..65a2685bb1346f83f0f8f2d619257193e9afe591 GIT binary patch literal 23296 zcmeI4U1*kN7{{;tVt#I> zvUUBQ?X9KaiZz8&vAu0|`;8^N^jmko)M0i6#-HJ)gJI(jx5n|x1T|@b9+RcAg;UY$ zK8tqx*Jx+wBzAmZV)K_KcJK1UHs6rgnwG?>a1MQLSz>kQmFT_KC04m6v2U6a+tQTS zz@o&SX-KTEKC!!ICDu7Pv6f2`Yxp_ZU^UwC*U=h3kJk4|v@Iv29TaGc)j(RLhz z7o$}UMLV-U+TN$5o!`ssBm9;f%-=xzwB3UCTRd#iM7b z9VQ;(?tPpQsn1|%gq@>hvj@wT?krnnEBZdzPX54XE$k*w(ZrOw%ENFQY{LJw)Hc96 z@^>0BGbZ&*7F{^nIwEGu-qf@AJ zuFkUWJFFu8ZHJ{_0l9q%r_dwtKKf(gFcF=;10TRi@*y|_A7yp*-i0@*y+(YS*bjZ^ zqwxGFc8qu!UWMcI*|G04Nt3nguazkk=K}(~eNCnJQ6p`L23hpm$PTu>gJ03jwsF8EN&jE1mD= zxn?>+XY_++D(vcRouT remarks{ - "Description: TestDescription", - "Source: TestSource"}; - SpecUtils::Measurement m; m.set_source_description( "TestSource" ); m.set_measurement_description( "TestDescription" ); @@ -318,25 +314,3 @@ TEST_CASE("Find Source String") } } -TEST_CASE("No Description Yields Empty String") -{ - std::vector remarks{ - "DescriptionZZZZZ: TestDescription", - "SourceYYYYY: TestSource"}; - - SpecUtils::Measurement m; - m.set_remarks(remarks); - - auto expected = std::string(); - auto actual = m.measurement_description(); - - CHECK(actual == expected); - - SUBCASE("No Source Yields Empty String") - { - auto expected = std::string(); - auto actual = m.source_description(); - - CHECK(actual == expected); - } -} From 61f322433cb3579ed8e44268d296577e7fb336b8 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:09:32 -0700 Subject: [PATCH 057/100] Maybe fix compile error on Windows --- unit_tests/test_spec_file.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index bb6136c..cf0c51a 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -1,4 +1,5 @@ #include +#include #include #include "SpecUtils/DateTime.h" From 65621cb7e505fba6ffe095e3db2108fc32c5a51f Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:15:30 -0700 Subject: [PATCH 058/100] Add another missing include --- unit_tests/test_spec_file.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index cf0c51a..642791a 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include "SpecUtils/DateTime.h" From 3018b0d7a9aa9cb9f6fa3a7d7f3d1ccbe5f5bfdb Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:29:55 -0700 Subject: [PATCH 059/100] Add another missing include --- unit_tests/test_spec_file.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 642791a..a0c5024 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -138,7 +139,7 @@ std::shared_ptr makeMeasurement(int id, std::string detN auto devPairs = SpecUtils::DeviationPairs(); for (size_t i = 0; i < 20; i++) { - auto devPair = std::make_pair(id + i + 10.0, id + i * -1.0F); + auto devPair = std::make_pair(id + i + 10.0f, id + i * -1.0F); devPairs.push_back(devPair); } @@ -223,7 +224,7 @@ TEST_CASE("Round Trip") auto &expSpectrum = *expectedM.gamma_counts(); auto &actualSpectrum = *expectedM.gamma_counts(); - auto sum = std::accumulate(actualSpectrum.begin(), actualSpectrum.end(), 0); + auto sum = std::accumulate(actualSpectrum.begin(), actualSpectrum.end(), 0.0); CHECK(sum > 0); CHECK(expSpectrum == actualSpectrum); From 2ce11ec87cd1aa462bffea8941f3dd20009cc35d Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:39:17 -0700 Subject: [PATCH 060/100] Ad UTF-8 BOM to test_utf8_limit_str_size.cpp --- unit_tests/test_utf8_limit_str_size.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/unit_tests/test_utf8_limit_str_size.cpp b/unit_tests/test_utf8_limit_str_size.cpp index 0cd7ab1..1ef74f5 100644 --- a/unit_tests/test_utf8_limit_str_size.cpp +++ b/unit_tests/test_utf8_limit_str_size.cpp @@ -1,4 +1,4 @@ -/* SpecUtils: a library to parse, save, and manipulate gamma spectrum data files. +/* SpecUtils: a library to parse, save, and manipulate gamma spectrum data files. Copyright 2018 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. From dccb2e46a3b9aacf4bd57eb0bf7ac055506c618e Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:48:31 -0700 Subject: [PATCH 061/100] Update ci.yml to upload Windows artifact, maybe --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 87f4ad2..b75ddd4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: run: ctest --rerun-failed --output-on-failure --test-dir build -C Release - name: Package Lib - if: runner.os == 'boost' && runner.os == 'Windows' + if: runner.os == 'FromChars' && runner.os == 'Windows' run: | cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package @@ -90,21 +90,21 @@ jobs: # Update the bleeding-edge tag to be current commit - name: Run latest-tag uses: EndBug/latest-tag@v1.6.1 - if: runner.os == 'Windows' + if: runner.os == 'FromChars' && runner.os == 'Windows' with: ref: bleeding-edge description: Latest successful automated build - name: Upload windows build to GitHub Artifact uses: actions/upload-artifact@v4 - if: runner.os == 'Windows' + if: runner.os == 'FromChars' && runner.os == 'Windows' with: name: SpecUtils_${{ runner.os }}_latest path: '.\build_*\*.zip' - name: Create Release uses: ncipollo/release-action@v1.13.0 - if: runner.os == 'Windows' + if: runner.os == 'FromChars' && runner.os == 'Windows' with: artifacts: '.\build_*\*.zip' draft: false From ee04054c40d811a409a117f1b59f98bcda334d00 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:56:48 -0700 Subject: [PATCH 062/100] Update ci.yml to upload Windows artifact, now a little closer maybe --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b75ddd4..7471388 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: run: ctest --rerun-failed --output-on-failure --test-dir build -C Release - name: Package Lib - if: runner.os == 'FromChars' && runner.os == 'Windows' + if: num-parse-method == 'FromChars' && runner.os == 'Windows' run: | cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package @@ -90,21 +90,21 @@ jobs: # Update the bleeding-edge tag to be current commit - name: Run latest-tag uses: EndBug/latest-tag@v1.6.1 - if: runner.os == 'FromChars' && runner.os == 'Windows' + if: num-parse-method == 'FromChars' && runner.os == 'Windows' with: ref: bleeding-edge description: Latest successful automated build - name: Upload windows build to GitHub Artifact uses: actions/upload-artifact@v4 - if: runner.os == 'FromChars' && runner.os == 'Windows' + if: num-parse-method == 'FromChars' && runner.os == 'Windows' with: name: SpecUtils_${{ runner.os }}_latest path: '.\build_*\*.zip' - name: Create Release uses: ncipollo/release-action@v1.13.0 - if: runner.os == 'FromChars' && runner.os == 'Windows' + if: num-parse-method == 'FromChars' && runner.os == 'Windows' with: artifacts: '.\build_*\*.zip' draft: false From 5e97ccc99094ec1ff19503a6ded45b7d7baef9e9 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 16:58:26 -0700 Subject: [PATCH 063/100] Update ci.yml to upload Windows artifact, try again --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7471388..75ece27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: run: ctest --rerun-failed --output-on-failure --test-dir build -C Release - name: Package Lib - if: num-parse-method == 'FromChars' && runner.os == 'Windows' + if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' run: | cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package @@ -90,21 +90,21 @@ jobs: # Update the bleeding-edge tag to be current commit - name: Run latest-tag uses: EndBug/latest-tag@v1.6.1 - if: num-parse-method == 'FromChars' && runner.os == 'Windows' + if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' with: ref: bleeding-edge description: Latest successful automated build - name: Upload windows build to GitHub Artifact uses: actions/upload-artifact@v4 - if: num-parse-method == 'FromChars' && runner.os == 'Windows' + if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' with: name: SpecUtils_${{ runner.os }}_latest path: '.\build_*\*.zip' - name: Create Release uses: ncipollo/release-action@v1.13.0 - if: num-parse-method == 'FromChars' && runner.os == 'Windows' + if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' with: artifacts: '.\build_*\*.zip' draft: false From 54086303ba80f6682b35dd1229f62d9bddf58192 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 17:00:44 -0700 Subject: [PATCH 064/100] Update ci.yml to upload Windows artifact, try again --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75ece27..7cd9995 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -73,7 +73,7 @@ jobs: run: ctest --rerun-failed --output-on-failure --test-dir build -C Release - name: Package Lib - if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' + if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' run: | cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package @@ -90,21 +90,21 @@ jobs: # Update the bleeding-edge tag to be current commit - name: Run latest-tag uses: EndBug/latest-tag@v1.6.1 - if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' + if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' with: ref: bleeding-edge description: Latest successful automated build - name: Upload windows build to GitHub Artifact uses: actions/upload-artifact@v4 - if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' + if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' with: name: SpecUtils_${{ runner.os }}_latest path: '.\build_*\*.zip' - name: Create Release uses: ncipollo/release-action@v1.13.0 - if: ${{ num-parse-method }} == 'FromChars' && runner.os == 'Windows' + if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' with: artifacts: '.\build_*\*.zip' draft: false From 79d81cb6643137b04d6ee6ed517c5e7530ca648e Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 17:10:07 -0700 Subject: [PATCH 065/100] Update ci.yml to upload Windows artifact, try again --- .github/workflows/ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7cd9995..17039e0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -28,8 +28,8 @@ jobs: num-parse-method: FastFloat - os: windows-latest num-parse-method: FromChars - - os: windows-latest - num-parse-method: strtod +# - os: windows-latest +# num-parse-method: strtod steps: - name: Checkout code @@ -73,7 +73,7 @@ jobs: run: ctest --rerun-failed --output-on-failure --test-dir build -C Release - name: Package Lib - if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' + if: runner.os == 'Windows' run: | cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package @@ -90,21 +90,21 @@ jobs: # Update the bleeding-edge tag to be current commit - name: Run latest-tag uses: EndBug/latest-tag@v1.6.1 - if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' + if: matrix.os == 'Windows' with: ref: bleeding-edge description: Latest successful automated build - name: Upload windows build to GitHub Artifact uses: actions/upload-artifact@v4 - if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' + if: runner.os == 'Windows' with: name: SpecUtils_${{ runner.os }}_latest path: '.\build_*\*.zip' - name: Create Release uses: ncipollo/release-action@v1.13.0 - if: matrix.num-parse-method == 'FromChars' && runner.os == 'Windows' + if: runner.os == 'Windows' with: artifacts: '.\build_*\*.zip' draft: false From ba26b476bf233f8b52e5e62b8c71a8e820a541cf Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 17:18:14 -0700 Subject: [PATCH 066/100] Update ci.yml to upload Windows artifact, try again --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17039e0..a5f6fbb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,16 +75,16 @@ jobs: - name: Package Lib if: runner.os == 'Windows' run: | - cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF + cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package # - cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON + cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_shared_runtime --config Release --target package # - cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON + cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_static_runtime --config Release --target package # - cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=ON -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF + cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_static_runtime --config Release --target package # Update the bleeding-edge tag to be current commit From 03d88891772005f5a08dadd8ff574a7a18de11e2 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Fri, 11 Oct 2024 17:39:54 -0700 Subject: [PATCH 067/100] Minor change --- src/DateTime.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DateTime.cpp b/src/DateTime.cpp index 3423933..a01f709 100644 --- a/src/DateTime.cpp +++ b/src/DateTime.cpp @@ -160,7 +160,7 @@ namespace SpecUtils // We'll round to nearest hundredth; not really sure if rounding, or truncating is the proper thing to do. const int hundreth = static_cast( std::round( microsecs.count() / 10000.0 ) ); //round to nearest hundredth of a second - char buffer[32]; + char buffer[32] = { '\0' }; snprintf( buffer, sizeof(buffer), "%02i-%s-%04i %02i:%02i:%02i.%02i", day, month, year, hour, mins, secs, hundreth ); From 960c637ae146adfb52d31e69108fdf7764f6aac9 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 11:35:59 -0700 Subject: [PATCH 068/100] Fix issue when converting to a VAX string. Before if time rounded to 100 hundreths of a second, that would be printed, instead of incrementing things properly. For example "2014-Sep-19 23:59:59.996" would print "19-Sep-2014 23:59:59.100", when it should print "20-Sep-2014 00:00:00.00" - which it now does. --- SpecUtils/DateTime.h | 2 +- src/DateTime.cpp | 49 ++++++++++++++++++++--------- unit_tests/test_iso_time_string.cpp | 9 +++++- 3 files changed, 43 insertions(+), 17 deletions(-) diff --git a/SpecUtils/DateTime.h b/SpecUtils/DateTime.h index 4511a22..ea13c21 100644 --- a/SpecUtils/DateTime.h +++ b/SpecUtils/DateTime.h @@ -64,7 +64,7 @@ namespace SpecUtils Returns empty string if input is not valid. Ex. "19-Sep-2014 14:12:01.62" */ - std::string to_vax_string( const time_point_t &t ); + std::string to_vax_string( time_point_t t ); /** \brief Describes how to attempt to parse date/times when it is ambigous, and you might have some prior information based on the source. diff --git a/src/DateTime.cpp b/src/DateTime.cpp index a01f709..14b80ee 100644 --- a/src/DateTime.cpp +++ b/src/DateTime.cpp @@ -140,37 +140,56 @@ namespace SpecUtils }//to_common_string - std::string to_vax_string( const SpecUtils::time_point_t &t ) + std::string to_vax_string( SpecUtils::time_point_t t ) { //Ex. "19-Sep-2014 14:12:01.62" if( is_special(t) ) return ""; - const auto t_as_days = date::floor(t); - const date::year_month_day t_ymd = date::year_month_day{t_as_days}; - const date::hh_mm_ss time_of_day = date::make_time(t - t_as_days); + auto t_as_days = date::floor(t); + date::year_month_day t_ymd = date::year_month_day{t_as_days}; + date::hh_mm_ss time_of_day = date::make_time(t - t_as_days); + + auto microsecs = date::round( time_of_day.subseconds() ); + // We'll round to nearest hundredth; not really sure if rounding, or truncating is the proper thing to do. + int hundreth = static_cast( std::round( microsecs.count() / 10000.0 ) ); //round to nearest hundredth of a second + + // If `microsecs` is 999995 or larger, then `hundreth` will round up to 100, which we dont want, + // so we'll add some microseconds, and recompute things, to get the rounding correct + assert( (hundreth <= 100) && (hundreth >= 0) ); + if( hundreth >= 100 ) + { + t += chrono::microseconds(5000); + t_as_days = date::floor(t); + t_ymd = date::year_month_day{t_as_days}; + time_of_day = date::make_time(t - t_as_days); + microsecs = date::round( time_of_day.subseconds() ); + hundreth = static_cast( std::round( microsecs.count() / 10000.0 ) ); + } + assert( (hundreth <= 99) && (hundreth >= 0) ); + const int year = static_cast( t_ymd.year() ); const int day = static_cast( static_cast( t_ymd.day() ) ); - int hour = static_cast( time_of_day.hours().count() ); + const int hour = static_cast( time_of_day.hours().count() ); const int mins = static_cast( time_of_day.minutes().count() ); const int secs = static_cast( time_of_day.seconds().count() ); const char * const month = month_number_to_Str( static_cast(t_ymd.month()) ); - const auto microsecs = date::round( time_of_day.subseconds() ); - // We'll round to nearest hundredth; not really sure if rounding, or truncating is the proper thing to do. - const int hundreth = static_cast( std::round( microsecs.count() / 10000.0 ) ); //round to nearest hundredth of a second char buffer[32] = { '\0' }; snprintf( buffer, sizeof(buffer), "%02i-%s-%04i %02i:%02i:%02i.%02i", day, month, year, hour, mins, secs, hundreth ); - - // For development, check if we can get the same answer using the date library - string answer = date::format("%d-%b-%Y %H:%M:%S", date::floor(t)); - char fractional[32]; - snprintf(fractional, sizeof(fractional), ".%02i", hundreth); - answer += fractional; - assert( answer == buffer ); +#ifndef NDEBUG + {// Begin check if we can get the same answer using the date library + // Note though that `t` has been adjusted if it rounds to 100 hundreths of a seconds + string answer = date::format("%d-%b-%Y %H:%M:%S", date::floor(t)); + char fractional[32]; + snprintf(fractional, sizeof(fractional), ".%02i", hundreth); + answer += fractional; + assert( answer == buffer ); + }// End check if we can get the same answer using the date library +#endif #if(PERFORM_DEVELOPER_CHECKS) if( strlen(buffer) != 23 ) diff --git a/unit_tests/test_iso_time_string.cpp b/unit_tests/test_iso_time_string.cpp index 5e42abc..b09a218 100644 --- a/unit_tests/test_iso_time_string.cpp +++ b/unit_tests/test_iso_time_string.cpp @@ -528,8 +528,15 @@ TEST_CASE( "isoString" ) CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.623") ), "01-Jan-2014 14:12:01.62" ); CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T14:12:01.626") ), "01-Jan-2014 14:12:01.63" ); CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("20140101T00:00:00") ), "01-Jan-2014 00:00:00.00" ); + // Check when we need to round the tenth of the second, because the hundreth of a second rounds to 100 + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.999999") ), "19-Sep-2014 14:12:02.00" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.994") ), "19-Sep-2014 14:12:01.99" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 14:12:01.995") ), "19-Sep-2014 14:12:02.00" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 23:59:59.995") ), "20-Sep-2014 00:00:00.00" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 23:59:59.994") ), "19-Sep-2014 23:59:59.99" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 11:59:59.995") ), "19-Sep-2014 12:00:00.00" ); + CHECK_EQ( SpecUtils::to_vax_string( SpecUtils::time_from_string("2014-Sep-19 11:59:59.994") ), "19-Sep-2014 11:59:59.99" ); - /** Converts the input to string in format d-mmm-YYYY HH:MM:SS AM, where mmm is 3 char month name; d is day number with no leading zeros. Returns "not-a-date-time" if input is not valid. From 6f55a3b0940a14585831cdcf5af0c1c050336ae6 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 11:50:16 -0700 Subject: [PATCH 069/100] Debug windows automated build of shared libraries a bit --- .github/workflows/ci.yml | 23 ++++++++++++++++++++++- CMakeLists.txt | 11 +++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5f6fbb..8312a09 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: # For linux, we will perform developer checks, so we need boost - name: Set up dependencies if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install -y build-essential libboost-all-dev gfortran + run: sudo apt-get update && sudo apt-get install -y build-essential libboost-all-dev gfortran zlib1g-dev - name: Create build directory run: mkdir build @@ -77,15 +77,31 @@ jobs: run: | cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package + echo "Files present after package build_static_lib_shared_runtime" + ls + ls build_static_lib_shared_runtime + ls build_static_lib_shared_runtime/Release # cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_shared_runtime --config Release --target package + echo "Files present after package build_shared_lib_shared_runtime" + ls + ls build_static_lib_shared_runtime + ls build_static_lib_shared_runtime/Release # cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_static_runtime --config Release --target package + echo "Files present after package build_shared_lib_static_runtime" + ls + ls build_static_lib_shared_runtime + ls build_static_lib_shared_runtime/Release # cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_static_runtime --config Release --target package + echo "Files present after package build_static_lib_static_runtime" + ls + ls build_static_lib_shared_runtime + ls build_static_lib_shared_runtime/Release # Update the bleeding-edge tag to be current commit - name: Run latest-tag @@ -118,3 +134,8 @@ jobs: tag: 'bleeding-edge' commit: ${{ github.sha }} makeLatest: true + + - name: "Cleanup and finish" + run: | + Get-ChildItem '.\build_*\*.zip' | foreach { Remove-Item -Path $_.FullName } + echo "Job status is ${{ job.status }}." diff --git a/CMakeLists.txt b/CMakeLists.txt index 5b1acca..e120ef1 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -465,9 +465,9 @@ include(GNUInstallDirs) # Install the library install(TARGETS SpecUtils EXPORT SpecUtilsTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # For shared libraries on UNIX-like systems + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # For static libraries and import libraries on Windows + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # For DLLs INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) @@ -524,6 +524,9 @@ if( DEFINED ${PROJECT_NAME}_USE_MSVC_MultiThreadDLL ) endif() endif() -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}-${SpecUtils_PACKAGE_POSTFIX}") +# Lets just use the MAJOR.MINOR version of the compiler in the name. +string(REGEX MATCH "^[0-9]+\\.[0-9]+" COMPILER_VERSION_SHORT "${CMAKE_CXX_COMPILER_VERSION}") + +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${COMPILER_VERSION_SHORT}-${SpecUtils_PACKAGE_POSTFIX}") set(CPACK_GENERATOR "ZIP") include(CPack) From 4e6c62b67535d5735f0d04b1712ad872648b6525 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 11:52:43 -0700 Subject: [PATCH 070/100] Maybe fix syntax error in ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8312a09..63a518f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -134,7 +134,7 @@ jobs: tag: 'bleeding-edge' commit: ${{ github.sha }} makeLatest: true - + - name: "Cleanup and finish" run: | Get-ChildItem '.\build_*\*.zip' | foreach { Remove-Item -Path $_.FullName } From 6310f650e0a244ba397d600652516c4acd4463ee Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 11:54:06 -0700 Subject: [PATCH 071/100] Maybe fix syntax error in ci.yml --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 63a518f..bd94417 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -134,8 +134,8 @@ jobs: tag: 'bleeding-edge' commit: ${{ github.sha }} makeLatest: true - +# Delete all the zip files we created - name: "Cleanup and finish" - run: | - Get-ChildItem '.\build_*\*.zip' | foreach { Remove-Item -Path $_.FullName } - echo "Job status is ${{ job.status }}." + run: | + Get-ChildItem '.\build_*\*.zip' | foreach { Remove-Item -Path $_.FullName } + echo "Job status is ${{ job.status }}." From caab29316d04ec496594a4bac45197935d42d6da Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 12:04:07 -0700 Subject: [PATCH 072/100] Maybe fix syntax error in ci.yml --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bd94417..8a782a8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -136,6 +136,7 @@ jobs: makeLatest: true # Delete all the zip files we created - name: "Cleanup and finish" + if: runner.os == 'Windows' run: | Get-ChildItem '.\build_*\*.zip' | foreach { Remove-Item -Path $_.FullName } echo "Job status is ${{ job.status }}." From 06fcc6efb0a8155e4d719add34ac4b463e04e27c Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 12:20:15 -0700 Subject: [PATCH 073/100] Try to improve CI install targets --- .github/workflows/ci.yml | 17 +++++++++++------ CMakeLists.txt | 7 +++++++ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8a782a8..19dd867 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,27 +81,32 @@ jobs: ls ls build_static_lib_shared_runtime ls build_static_lib_shared_runtime/Release + ls build_static_lib_shared_runtime/x64/* # cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_shared_runtime --config Release --target package echo "Files present after package build_shared_lib_shared_runtime" ls - ls build_static_lib_shared_runtime - ls build_static_lib_shared_runtime/Release + ls build_shared_lib_shared_runtime + ls build_shared_lib_shared_runtime/Release + ls build_shared_lib_shared_runtime/x64/* # cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_static_runtime --config Release --target package echo "Files present after package build_shared_lib_static_runtime" ls - ls build_static_lib_shared_runtime - ls build_static_lib_shared_runtime/Release + ls build_shared_lib_static_runtime + ls build_shared_lib_static_runtime/Release + ls build_shared_lib_static_runtime/x64/* # cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_static_runtime --config Release --target package echo "Files present after package build_static_lib_static_runtime" ls - ls build_static_lib_shared_runtime - ls build_static_lib_shared_runtime/Release + ls build_static_lib_static_runtime + ls build_static_lib_static_runtime/Release + ls build_static_lib_static_runtime/x64/* + # Update the bleeding-edge tag to be current commit - name: Run latest-tag diff --git a/CMakeLists.txt b/CMakeLists.txt index e120ef1..62519fe 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -512,6 +512,13 @@ set(CPACK_PACKAGE_NAME "SpecUtils") if( SpecUtils_SHARED_LIB ) set( SpecUtils_PACKAGE_POSTFIX "SharedLib" ) + if( WIN32 ) + # Not sure why we manually have to do this + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/Release/libSpecUtils.lib" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/ + ) + endif( WIN32 ) else( SpecUtils_SHARED_LIB ) set( SpecUtils_PACKAGE_POSTFIX "StaticLib" ) endif( SpecUtils_SHARED_LIB ) From 56d8b78c182d006742e3a61e3b6f91c37a47843d Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 12:37:22 -0700 Subject: [PATCH 074/100] Debugging chany ci.yml --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 19dd867..d9bd905 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -81,7 +81,7 @@ jobs: ls ls build_static_lib_shared_runtime ls build_static_lib_shared_runtime/Release - ls build_static_lib_shared_runtime/x64/* + ls build_static_lib_shared_runtime/x64/Release # cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_shared_runtime --config Release --target package @@ -89,7 +89,7 @@ jobs: ls ls build_shared_lib_shared_runtime ls build_shared_lib_shared_runtime/Release - ls build_shared_lib_shared_runtime/x64/* + ls build_shared_lib_shared_runtime/x64/Release # cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_static_runtime --config Release --target package @@ -97,7 +97,7 @@ jobs: ls ls build_shared_lib_static_runtime ls build_shared_lib_static_runtime/Release - ls build_shared_lib_static_runtime/x64/* + ls build_shared_lib_static_runtime/x64/Release # cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_static_runtime --config Release --target package @@ -105,7 +105,7 @@ jobs: ls ls build_static_lib_static_runtime ls build_static_lib_static_runtime/Release - ls build_static_lib_static_runtime/x64/* + ls build_static_lib_static_runtime/x64/Release # Update the bleeding-edge tag to be current commit From 679bf4ee7b48fd6db580fab9975a5a463c7e11dc Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 13:13:57 -0700 Subject: [PATCH 075/100] Remove trying to install export file --- CMakeLists.txt | 7 ------- 1 file changed, 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 62519fe..e120ef1 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -512,13 +512,6 @@ set(CPACK_PACKAGE_NAME "SpecUtils") if( SpecUtils_SHARED_LIB ) set( SpecUtils_PACKAGE_POSTFIX "SharedLib" ) - if( WIN32 ) - # Not sure why we manually have to do this - install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/Release/libSpecUtils.lib" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/ - ) - endif( WIN32 ) else( SpecUtils_SHARED_LIB ) set( SpecUtils_PACKAGE_POSTFIX "StaticLib" ) endif( SpecUtils_SHARED_LIB ) From 53b503986377d0fb1d6ecd3e3e1fe4e85a6973b8 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 13:26:38 -0700 Subject: [PATCH 076/100] Turn building C bindings on for CI build --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9bd905..4743703 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,7 +75,7 @@ jobs: - name: Package Lib if: runner.os == 'Windows' run: | - cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF + cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF -DSpecUtils_C_BINDINGS=ON cmake --build build_static_lib_shared_runtime --config Release --target package echo "Files present after package build_static_lib_shared_runtime" ls @@ -83,7 +83,7 @@ jobs: ls build_static_lib_shared_runtime/Release ls build_static_lib_shared_runtime/x64/Release # - cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON + cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON -DSpecUtils_C_BINDINGS=ON cmake --build build_shared_lib_shared_runtime --config Release --target package echo "Files present after package build_shared_lib_shared_runtime" ls @@ -91,7 +91,7 @@ jobs: ls build_shared_lib_shared_runtime/Release ls build_shared_lib_shared_runtime/x64/Release # - cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON + cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON -DSpecUtils_C_BINDINGS=ON cmake --build build_shared_lib_static_runtime --config Release --target package echo "Files present after package build_shared_lib_static_runtime" ls @@ -99,7 +99,7 @@ jobs: ls build_shared_lib_static_runtime/Release ls build_shared_lib_static_runtime/x64/Release # - cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF + cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF -DSpecUtils_C_BINDINGS=ON cmake --build build_static_lib_static_runtime --config Release --target package echo "Files present after package build_static_lib_static_runtime" ls From 160b5bd2692b903dd9fade0dd0b6243685f3c0d2 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 14:15:25 -0700 Subject: [PATCH 077/100] Add exporting classes/structs/functions for Windows DLLs. --- CMakeLists.txt | 2 + SpecUtils/CubicSpline.h | 6 +- SpecUtils/D3SpectrumExport.h | 4 +- SpecUtils/DateTime.h | 11 + SpecUtils/EnergyCalibration.h | 21 +- SpecUtils/Filesystem.h | 35 ++- SpecUtils/ParseUtils.h | 17 ++ SpecUtils/SerialToDetectorModel.h | 9 +- SpecUtils/SpecFile.h | 10 +- SpecUtils/SpecFile_location.h | 8 +- SpecUtils/SpecUtilsAsync.h | 4 +- SpecUtils/SpecUtils_config.h.in | 18 ++ SpecUtils/StringAlgo.h | 40 ++- SpecUtils/UriSpectrum.h | 28 +- bindings/c/SpecUtils_c.cpp | 467 ++++++++++++++++++------------ bindings/c/SpecUtils_c.h | 336 ++++++++++----------- 16 files changed, 646 insertions(+), 370 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e120ef1..66bfac5 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -280,6 +280,8 @@ endif( SpecUtils_SHARED_LIB ) add_library( SpecUtils ${SpecUtils_LIB_TYPE} ${sources} ${headers} ${OTHER_SUPPORT_FILES} ) set_target_properties( SpecUtils PROPERTIES PREFIX "lib" OUTPUT_NAME "SpecUtils" ) +# Make so on Windows the functions/classes will be exported +target_compile_definitions( SpecUtils PRIVATE SpecUtils_EXPORTS ) set( SpecUtils_USE_FAST_FLOAT OFF ) # Uses https://github.com/fastfloat/fast_float . If fast_float.h isnt found, will be fetched set( SpecUtils_USE_FROM_CHARS OFF ) # Supported by MSVC >= 2019, and gcc >= 12. Not supported by Apple clang. In MSVC, about 50% slower than boost::spirit diff --git a/SpecUtils/CubicSpline.h b/SpecUtils/CubicSpline.h index 5cc2584..7cf684f 100644 --- a/SpecUtils/CubicSpline.h +++ b/SpecUtils/CubicSpline.h @@ -49,7 +49,7 @@ namespace SpecUtils Where x_i and y_i are #CubicSplineNode::x and #CubicSplineNode::y respectively. */ - struct CubicSplineNode + struct SpecUtils_DLLEXPORT CubicSplineNode { /** The starting x-value of the interval. */ double x; @@ -72,6 +72,7 @@ namespace SpecUtils Will throw exception on error. */ + SpecUtils_DLLEXPORT std::vector create_cubic_spline( const std::vector> &data, const DerivativeType left_bc_type, @@ -86,6 +87,7 @@ namespace SpecUtils respectively (this is non-standard behavior for cubic splines, but how non-linear deviation pairs are defined). */ + SpecUtils_DLLEXPORT double eval_cubic_spline( const double x, const std::vector &nodes ); @@ -95,6 +97,7 @@ namespace SpecUtils no duplicate x values (if there are duplicates, the one with the smallest y-value is used). */ + SpecUtils_DLLEXPORT std::vector create_cubic_spline_for_dev_pairs( const std::vector> &dps ); @@ -110,6 +113,7 @@ namespace SpecUtils See #correction_due_to_dev_pairs for a functioned guaranteed to get you within 0.0001 keV of the correct answer. */ + SpecUtils_DLLEXPORT std::vector create_inverse_dev_pairs_cubic_spline( const std::vector> &dps ); diff --git a/SpecUtils/D3SpectrumExport.h b/SpecUtils/D3SpectrumExport.h index 20e4bc2..4521a9c 100644 --- a/SpecUtils/D3SpectrumExport.h +++ b/SpecUtils/D3SpectrumExport.h @@ -124,7 +124,7 @@ namespace D3SpectrumExport /** Specifies the options for a single spectrum displayed on the chart */ - struct D3SpectrumOptions + struct SpecUtils_DLLEXPORT D3SpectrumOptions { D3SpectrumOptions(); //black line, no peaks, scale factor 1.0 @@ -175,7 +175,7 @@ namespace D3SpectrumExport of those state values. */ - struct D3SpectrumChartOptions + struct SpecUtils_DLLEXPORT D3SpectrumChartOptions { D3SpectrumChartOptions(); D3SpectrumChartOptions( std::string title, diff --git a/SpecUtils/DateTime.h b/SpecUtils/DateTime.h index ea13c21..3824b04 100644 --- a/SpecUtils/DateTime.h +++ b/SpecUtils/DateTime.h @@ -38,6 +38,7 @@ namespace SpecUtils This is in analogy with boost::posix_time::ptime, that we upgraded the code from. */ + SpecUtils_DLLEXPORT bool is_special( const time_point_t &t ); //to_iso_string(...) and to_extended_iso_string(...) are implemented here @@ -46,11 +47,13 @@ namespace SpecUtils /** Converts the input time to an iso formatted string. Ex. "20140414T141201.621543" */ + SpecUtils_DLLEXPORT std::string to_iso_string( const time_point_t &t ); /** Converts the input time to an extended iso formatted string. Ex. "2014-04-14T14:12:01.621543" */ + SpecUtils_DLLEXPORT std::string to_extended_iso_string( const time_point_t &t ); /** Converts the input to string in format d-mmm-YYYY HH:MM:SS AM, @@ -58,12 +61,14 @@ namespace SpecUtils Returns "not-a-date-time" if input is not valid. Ex. 24hr format: "9-Sep-2014 15:02:15", AM/PM: "9-Sep-2014 03:02:15 PM" */ + SpecUtils_DLLEXPORT std::string to_common_string( const time_point_t &t, const bool twenty_four_hour ); /** Converts input to the 23 character VAX format "DD-MMM-YYYY HH:MM:SS.SS". Returns empty string if input is not valid. Ex. "19-Sep-2014 14:12:01.62" */ + SpecUtils_DLLEXPORT std::string to_vax_string( time_point_t t ); /** \brief Describes how to attempt to parse date/times when it is ambigous, @@ -109,6 +114,7 @@ namespace SpecUtils Does not throw. */ + SpecUtils_DLLEXPORT time_point_t time_from_string( std::string time_string, const DateParseEndianType endian = DateParseEndianType::MiddleEndianFirst ); @@ -127,11 +133,13 @@ namespace SpecUtils more complete implementation, but hasnt been tested against parsing spectrum files. */ + SpecUtils_DLLEXPORT float time_duration_string_to_seconds( const char *duration_str, const size_t length ); /** Convenience function for getting time duration from a ISO 8601 like std::string. */ + SpecUtils_DLLEXPORT float time_duration_string_to_seconds( const std::string &duration ); /** Converts a string formatted like "[-]h[h][:mm][:ss][.fff]", (ex. "02:15:01.332") to number of @@ -151,6 +159,7 @@ namespace SpecUtils Throws exception if input is invalid. */ + SpecUtils_DLLEXPORT double delimited_duration_string_to_seconds( const std::string &duration ); /** \brief Gives the CPU time in seconds. @@ -160,6 +169,7 @@ namespace SpecUtils \returns The CPU time in seconds, or on error -DBL_MAX. */ + SpecUtils_DLLEXPORT double get_cpu_time(); @@ -172,6 +182,7 @@ namespace SpecUtils Note May have an occasional jump of a few seconds on Windows due to a hardware issue (fixed on newer windows/hardware?) */ + SpecUtils_DLLEXPORT double get_wall_time(); }//namespace SpecUtils diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index b547962..e0958c0 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -99,7 +99,7 @@ namespace SpecUtils \TODO: move find_gamma_channel, gamma_energy_min/max, gamma_channel_width, gamma_channel_lower/upper/center, etc from #SpecUtils::Measurement to #EnergyCalibration */ - struct EnergyCalibration + struct SpecUtils_DLLEXPORT EnergyCalibration { /** @returns the energy calibration type. */ EnergyCalType type() const; @@ -320,6 +320,7 @@ namespace SpecUtils Throws exception if channels to combine is 0. */ + SpecUtils_DLLEXPORT std::shared_ptr energy_cal_combine_channels( const EnergyCalibration &orig_cal, const size_t num_channel_combine ); @@ -340,6 +341,7 @@ namespace SpecUtils Throws exception if an invalid energy calibration (i.e., channel energies not increasing) */ + SpecUtils_DLLEXPORT std::shared_ptr< const std::vector > polynomial_binning( const std::vector &coeffs, const size_t nchannel, @@ -364,6 +366,7 @@ namespace SpecUtils Throws exception if an invalid energy calibration (i.e., channel energies not increasing) */ + SpecUtils_DLLEXPORT std::shared_ptr< const std::vector > fullrangefraction_binning( const std::vector &coeffs, const size_t nchannel, @@ -385,6 +388,7 @@ namespace SpecUtils Doesnt perform a check that the coefficients or deviation pairs are actually valid. Throws exception if deviation pairs are not sorted. */ + SpecUtils_DLLEXPORT double fullrangefraction_energy( const double channel_number, const std::vector &coeffs, const size_t nchannel, @@ -406,6 +410,7 @@ namespace SpecUtils Throws exception if deviation pairs are not sorted. */ + SpecUtils_DLLEXPORT double polynomial_energy( const double channel_number, const std::vector &coeffs, const std::vector> &deviation_pairs ); @@ -442,6 +447,7 @@ namespace SpecUtils be set at 1460 keV - Deviation pairs set to zero would be defined for 239 keV and 2614 keV */ + SpecUtils_DLLEXPORT double deviation_pair_correction( const double polynomial_energy, const std::vector> &dev_pairs ); @@ -461,6 +467,7 @@ namespace SpecUtils future this should be able to be made exactly accuate (within numerical limits anyway). */ + SpecUtils_DLLEXPORT double correction_due_to_dev_pairs( const double true_energy, const std::vector> &dev_pairs ); @@ -480,6 +487,7 @@ namespace SpecUtils Throws exception if resulting energy calibration wont be strictly increasing after applying deviation pair. */ + SpecUtils_DLLEXPORT std::shared_ptr> apply_deviation_pair( const std::vector &binning, const std::vector> &dev_pairs ); @@ -511,6 +519,7 @@ namespace SpecUtils @returns the polynomial coefficients. If input coefficients is empty or number of channels is zero, will return empty vector. */ + SpecUtils_DLLEXPORT std::vector fullrangefraction_coef_to_polynomial( const std::vector &coeffs, const size_t nchannel ); @@ -520,6 +529,7 @@ namespace SpecUtils the energy given by the equation is the middle of the channel (which is non-standard) to standard full range fraction equation coefficients. */ + SpecUtils_DLLEXPORT std::vector mid_channel_polynomial_to_fullrangeFraction( const std::vector &coeffs, const size_t nchannel ); @@ -531,6 +541,7 @@ namespace SpecUtils // right. LowerChannelEdge type is check that each bin is increasing over // previous, and that it has at least as many bins as nbin. // InvalidEquationType always returns false. + SpecUtils_DLLEXPORT bool calibration_is_valid( const EnergyCalType type, const std::vector &eqn, const std::vector< std::pair > &devpairs, @@ -553,6 +564,7 @@ namespace SpecUtils Changes the polynomial calibration coefficients Would probably work for adding channels, but untested. */ + SpecUtils_DLLEXPORT std::vector polynomial_cal_remove_first_channels( const int num_channels_remove, const std::vector &orig_coefs ); @@ -582,6 +594,7 @@ namespace SpecUtils \TODO: Use #correction_due_to_dev_pairs to make it so algabraic approach can always be used. */ + SpecUtils_DLLEXPORT double find_fullrangefraction_channel( const double energy, const std::vector &coeffs, const size_t nchannel, @@ -609,8 +622,9 @@ namespace SpecUtils binary search is performed to find the bin that comes within the specified accuracy. Note: that #correction_due_to_dev_pairs is used to correct for deviation pairs when using the, - algebraic appoach, and currently (20200820) may be correct to only 0.01 keV. + algebraic approach, and currently (20200820) may be correct to only 0.01 keV. */ + SpecUtils_DLLEXPORT double find_polynomial_channel( const double energy, const std::vector &coeffs, const size_t nchannel, @@ -639,6 +653,7 @@ namespace SpecUtils Throw exception if any input has less than four channels. */ + SpecUtils_DLLEXPORT void rebin_by_lower_edge( const std::vector &original_energies, const std::vector &original_counts, const std::vector &new_energies, @@ -675,6 +690,7 @@ namespace SpecUtils #END \endverbatim */ + SpecUtils_DLLEXPORT std::shared_ptr energy_cal_from_CALp_file( std::istream &input, const size_t num_channels, std::string &det_name ); @@ -695,6 +711,7 @@ namespace SpecUtils the original FRF coefficients will be written out after the other content - this is a InterSpec/SpecUtils specific extension of CALp file format. */ + SpecUtils_DLLEXPORT bool write_CALp_file( std::ostream &output, const std::shared_ptr &cal, const std::string &detector_name ); diff --git a/SpecUtils/Filesystem.h b/SpecUtils/Filesystem.h index 82d6c24..7c8ce7d 100644 --- a/SpecUtils/Filesystem.h +++ b/SpecUtils/Filesystem.h @@ -63,11 +63,14 @@ namespace SpecUtils { //The below uses home-spun methods, and hasn't been tested with symbolic links. /** \brief Removes file from the filesystem, returning true if successful. */ + SpecUtils_DLLEXPORT bool remove_file( const std::string &name ); /** \brief Returns if the specified name corresponds to a file that can be - read. */ + read. + */ + SpecUtils_DLLEXPORT bool is_file( const std::string &name ); /** Renames a file from source to destination, returning if operation was @@ -77,10 +80,13 @@ namespace SpecUtils Will fail if destination already exists. Will fail is destination is a directory. */ + SpecUtils_DLLEXPORT bool rename_file( const std::string &source, const std::string &destination ); /** \brief Returns if the specified name is a directory that can be accessed - on the filesystem. */ + on the filesystem. + */ + SpecUtils_DLLEXPORT bool is_directory( const std::string &name ); /** Creates specified directory. @@ -89,6 +95,7 @@ namespace SpecUtils - -1 if directory existed - 1 if directory successfully made. */ + SpecUtils_DLLEXPORT int create_directory( const std::string &name ); /** Checks that path passed in is a directory, and the current process can @@ -100,6 +107,7 @@ namespace SpecUtils \TODO: for windows move to using `AccessCheck(...)` or just remove this function. */ + SpecUtils_DLLEXPORT bool can_rw_in_directory( const std::string &name ); /** \brief Concatenates parts of a filesystem name according to the operating @@ -109,6 +117,7 @@ namespace SpecUtils or "path\to\file.txt" on Windows. On Windows will convert all '/' characters to '\'. */ + SpecUtils_DLLEXPORT std::string append_path( const std::string &base, const std::string &name ); /** \brief Returns just the filename of a path passed in @@ -125,6 +134,7 @@ namespace SpecUtils May throw exception, although very unlikely. */ + SpecUtils_DLLEXPORT std::string filename( const std::string &path_and_name ); /** \brief Returns the parent path of the passed in path @@ -165,6 +175,7 @@ namespace SpecUtils May throw exception if input path has illegal characters (e.g., basename(...) (unix) or _wsplitpath_s (win32) fails. */ + SpecUtils_DLLEXPORT std::string parent_path( const std::string &path ); /** \brief Returns the extension of a filename, if there is one. @@ -178,10 +189,12 @@ namespace SpecUtils May throw exception if input path has illegal characters (e.g., basename(...) (unix) or _wsplitpath_s (win32) fails. */ + SpecUtils_DLLEXPORT std::string file_extension( const std::string &path ); /** \brief Gives the size of the file in bytes. Returns 0 if not a file. */ + SpecUtils_DLLEXPORT size_t file_size( const std::string &path ); /** \brief Returns temporary directory as designated by the operating system @@ -194,19 +207,22 @@ namespace SpecUtils Does not check that the returned path is a directory, or that you have read and/or write permissions on it. */ + SpecUtils_DLLEXPORT std::string temp_dir(); /** Determines is the path passed in is absolute or not. */ + SpecUtils_DLLEXPORT bool is_absolute_path( const std::string &path ); /** Get the current working directory. - Becareful if using multiple threads, and another thread could change the + Be careful if using multiple threads, and another thread could change the current working directory; Returns empty string on error. */ + SpecUtils_DLLEXPORT std::string get_working_path(); /** \brief Gives a unique file name. @@ -227,6 +243,7 @@ namespace SpecUtils Note: this function is home-spun, so dont rely on it being the best. */ + SpecUtils_DLLEXPORT std::string temp_file_name( std::string filebasename, std::string directory ); /** Converts path to a canonical absolute path (no dot, dot-dot or symbolic @@ -244,6 +261,7 @@ namespace SpecUtils arbitrary length, but this would then require dropping support for Windows 7. */ + SpecUtils_DLLEXPORT bool make_canonical_path( std::string &path, const std::string &cwd = "" ); /** Limit of how far down any of the recursive 'ls' functions can recurse down. @@ -276,6 +294,7 @@ namespace SpecUtils \param ending If not empty, only files ending with the specified string will be returned; ending is not case sensitive. */ + SpecUtils_DLLEXPORT std::vector recursive_ls( const std::string &sourcedir, const std::string &ending = "" ); @@ -296,6 +315,7 @@ namespace SpecUtils \param user_data argument passed to match_fcn to help it make the decision. May be null if match_fcn allows for it to be null. */ + SpecUtils_DLLEXPORT std::vector recursive_ls( const std::string &sourcedir, file_match_function_t match_fcn, void *user_data ); @@ -310,6 +330,7 @@ namespace SpecUtils \param ending If not empty, only files ending with the specified string will be returned; ending is not case sensistive. */ + SpecUtils_DLLEXPORT std::vector ls_files_in_directory( const std::string &sourcedir, const std::string &ending = "" ); @@ -323,8 +344,9 @@ namespace SpecUtils \param match_fcn Function that determines if a result should be included. \param match_data Data that will be passed to match_fcn to help decide if a file should be included in the results; this is optional to use - according to requirments of your match_fcn. + according to requirements of your match_fcn. */ + SpecUtils_DLLEXPORT std::vector ls_files_in_directory( const std::string &sourcedir, file_match_function_t match_fcn, void *match_data ); @@ -340,6 +362,7 @@ namespace SpecUtils get back {"src/path/a", "src/path/b", "src/path/c"}. */ + SpecUtils_DLLEXPORT std::vector ls_directories_in_directory( const std::string &src ); @@ -361,6 +384,7 @@ namespace SpecUtils assert( fs_relative( "a", "a/b/c") == "b/c"); assert( fs_relative( "a/b/c/x/y", "a/b/c") == "../.."); */ + SpecUtils_DLLEXPORT std::string fs_relative( std::string from_path, std::string to_path ); /** Removes all "." elements; for absolute paths will resolve/remove all ".." @@ -388,6 +412,7 @@ namespace SpecUtils "/.." --> "/" "./foo/bar/." --> "foo/bar" */ + SpecUtils_DLLEXPORT std::string lexically_normalize_path( const std::string &input ); //ToDo: add in path comparisons (which don't resolve files, just use strings) @@ -410,6 +435,7 @@ namespace SpecUtils Throws exception on failure. */ + SpecUtils_DLLEXPORT void load_file_data( const char * const filename, std::vector &data ); @@ -419,6 +445,7 @@ namespace SpecUtils to not be spectrum files (but may also filter out a small amount of actual spectrum files in practice). */ + SpecUtils_DLLEXPORT bool likely_not_spec_file( const std::string &file ); }//namespace SpecUtils diff --git a/SpecUtils/ParseUtils.h b/SpecUtils/ParseUtils.h index 1dfaef8..fce99ee 100644 --- a/SpecUtils/ParseUtils.h +++ b/SpecUtils/ParseUtils.h @@ -44,12 +44,14 @@ namespace SpecUtils See code for code source. Note that this function is probably very slow, and could be upgraded. */ + SpecUtils_DLLEXPORT std::istream &safe_get_line( std::istream &is, std::string &t ); /** Same as other variant of #safe_get_line, except allows specifying the maximum number of bytes to read; specifying zero means no limit. */ + SpecUtils_DLLEXPORT std::istream &safe_get_line( std::istream &is, std::string &t, const size_t maxlength ); @@ -60,6 +62,7 @@ namespace SpecUtils value. The value following a zero is rounded to nearest integer (no integer check is performed). */ + SpecUtils_DLLEXPORT void expand_counted_zeros( const std::vector &data, std::vector &results ); @@ -67,6 +70,7 @@ namespace SpecUtils /** Performs the counted zero compression. Note that contents less than 10.0f*FLT_MIN are assumed to be zeros. */ + SpecUtils_DLLEXPORT void compress_to_counted_zeros( const std::vector &data, std::vector &results ); @@ -79,6 +83,7 @@ namespace SpecUtils @return Success status of parsing the input string to lat/long */ + SpecUtils_DLLEXPORT bool parse_deg_min_sec_lat_lon( const char *str, const size_t len, double &lat, double &lon ); @@ -88,20 +93,24 @@ namespace SpecUtils @return on success returns parsed value, or on failure returns -999.9 */ + SpecUtils_DLLEXPORT double conventional_lat_or_long_str_to_flt( std::string input ); /** Checks if abs(latitude) is less or equal to 90. */ + SpecUtils_DLLEXPORT bool valid_latitude( const double latitude ); /** Checks if abs(longitude) is less than or equal to 180. */ + SpecUtils_DLLEXPORT bool valid_longitude( const double longitude ); /** Tries to extract sample number from remark in file - mostly from N42-2006 files. */ + SpecUtils_DLLEXPORT int sample_num_from_remark( std::string remark ); //returns -1 on error /** Tries to extract speed from a remark string - mostly from N42-2006, and @@ -114,12 +123,14 @@ namespace SpecUtils Throws exception if not successful. */ + SpecUtils_DLLEXPORT float speed_from_remark( std::string remark ); /** Looks for GADRAS style detector names in remarks, or something from the N42 conventions of 'Aa1', 'Aa2', etc. Returns empty string on failure. */ + SpecUtils_DLLEXPORT std::string detector_name_from_remark( const std::string &remark ); /** Looks for x position information in remark. @@ -130,6 +141,7 @@ namespace SpecUtils Throws exception if not successful. */ + SpecUtils_DLLEXPORT float dx_from_remark( std::string remark ); /** Looks for y position information in remark @@ -140,6 +152,7 @@ namespace SpecUtils Throws exception if not successful. */ + SpecUtils_DLLEXPORT float dy_from_remark( std::string remark ); /** Looks for y position information in remark @@ -148,6 +161,7 @@ namespace SpecUtils TODO: does not currently take into account units (e.g., cm) */ + SpecUtils_DLLEXPORT float dz_from_remark( std::string remark ); /** Currently finds strings similar to "@250 cm" that is common in PCF title fields @@ -160,6 +174,7 @@ namespace SpecUtils TODO: Implement more general function like `float distance_from_remark( const std::string & )` */ + SpecUtils_DLLEXPORT std::string distance_from_pcf_title( const std::string &remark ); @@ -171,6 +186,7 @@ namespace SpecUtils Throws exception on error. */ + SpecUtils_DLLEXPORT float dose_units_usvPerH( const char *str, const size_t str_length ); @@ -178,6 +194,7 @@ namespace SpecUtils E.x., "PortalMonitor" -> "Portal Monitor", or "SpecPortal" -> "Spectroscopic Portal Monitor" */ + SpecUtils_DLLEXPORT const std::string &convert_n42_instrument_type_from_2006_to_2012( const std::string &input ); diff --git a/SpecUtils/SerialToDetectorModel.h b/SpecUtils/SerialToDetectorModel.h index 26d5a8a..d741bd2 100644 --- a/SpecUtils/SerialToDetectorModel.h +++ b/SpecUtils/SerialToDetectorModel.h @@ -95,6 +95,7 @@ namespace SerialToDetectorModel was determined, and the fourth column gives other places where data for this detector may be found. */ + SpecUtils_DLLEXPORT void set_detector_model_input_csv( const std::string &filename ); @@ -144,6 +145,7 @@ namespace SerialToDetectorModel /** return string representation of DetectorModel; exact same as how enum value is defined (e.g., "Unknown", "DetectiveEx100", etc.). */ + SpecUtils_DLLEXPORT const std::string &to_str( const DetectorModel model ); @@ -151,6 +153,7 @@ namespace SerialToDetectorModel /** Returns the #DetectorModel based on serial number match, or #DetectorModel::Unknown if the serial number isnt known. */ + SpecUtils_DLLEXPORT DetectorModel detective_model_from_serial( const std::string &instrument_id ); @@ -166,10 +169,11 @@ namespace SerialToDetectorModel Returns DetectorModel::UnknownSerialNumber if couldnt figure anything out. */ + SpecUtils_DLLEXPORT DetectorModel guess_detective_model_from_serial( const std::string &instrument_id ); - struct DetectorModelInfo + struct SpecUtils_DLLEXPORT DetectorModelInfo { /** So far, all Detective detector serial numbers I've seen either fit into (some only barely) a 32bit int, or are non-ASCII text. For non ASCII @@ -194,8 +198,10 @@ namespace SerialToDetectorModel #if( PERFORM_DEVELOPER_CHECKS ) + SpecUtils_DLLEXPORT void write_csv_file( std::ostream &strm ); + SpecUtils_DLLEXPORT std::shared_ptr> serial_informations(); /** Grabbing the serial numbers from binary Ortec files may result is getting @@ -207,6 +213,7 @@ namespace SerialToDetectorModel Note: This function is always implemented for internal use, but only exposed externally if PERFORM_DEVELOPER_CHECKS is enabled. */ + SpecUtils_DLLEXPORT std::vector candidate_serial_nums_from_str( const std::string &instrument_id ); #endif }//namespace SerialToDetectorModel diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index dd67221..c725313 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -515,7 +515,7 @@ const std::string &detectorTypeToString( const DetectorType type ); using FloatVec = std::vector; using FloatVecPtr = std::shared_ptr; -class Measurement +class SpecUtils_DLLEXPORT Measurement { public: Measurement(); @@ -1375,7 +1375,7 @@ class CountDose ``` */ -class SpecFile +class SpecUtils_DLLEXPORT SpecFile { public: SpecFile(); @@ -2797,7 +2797,7 @@ class SpecFile // MinimumDoseRateValue, BackgroundDoseRateValue, // BackgroundDoseRateUncertaintyValue, TotalDoseValue, // as well as more better recording out SourcePosition. -class DetectorAnalysisResult +class SpecUtils_DLLEXPORT DetectorAnalysisResult { public: std::string remark_; @@ -2844,7 +2844,7 @@ class DetectorAnalysisResult /** A class that aims to eventually be about equivalent of the N42 2012 tag. */ -class DetectorAnalysis +class SpecUtils_DLLEXPORT DetectorAnalysis { public: //Need to make an association of this with the sample/detector number, and @@ -2919,7 +2919,7 @@ class DetectorAnalysis Currently only the subset of fields relevant to InterSpec is implemented; */ -struct MultimediaData +struct SpecUtils_DLLEXPORT MultimediaData { /** Corresponds to the N42.42 element. */ std::string remark_; diff --git a/SpecUtils/SpecFile_location.h b/SpecUtils/SpecFile_location.h index 68c7a14..f2aa36b 100644 --- a/SpecUtils/SpecFile_location.h +++ b/SpecUtils/SpecFile_location.h @@ -44,7 +44,7 @@ namespace SpecUtils For reading from other formats */ -struct GeographicPoint +struct SpecUtils_DLLEXPORT GeographicPoint { GeographicPoint(); @@ -96,7 +96,7 @@ struct GeographicPoint #TODO: conversions between cartesian and polar coordinates totally untested! #TODO: Need to put in an Origin, e.g., or */ -struct RelativeLocation +struct SpecUtils_DLLEXPORT RelativeLocation { RelativeLocation(); @@ -235,7 +235,7 @@ struct RelativeLocation Values are in degrees, not radians. */ -struct Orientation +struct SpecUtils_DLLEXPORT Orientation { Orientation(); @@ -259,7 +259,7 @@ struct Orientation Note: N42-2012, allows a state to provide Choice of {, , or }, but we currently only implement . */ -struct LocationState +struct SpecUtils_DLLEXPORT LocationState { LocationState(); diff --git a/SpecUtils/SpecUtilsAsync.h b/SpecUtils/SpecUtilsAsync.h index c6f105f..2bf236a 100644 --- a/SpecUtils/SpecUtilsAsync.h +++ b/SpecUtils/SpecUtilsAsync.h @@ -56,7 +56,9 @@ namespace SpecUtilsAsync { //num_logical_cpu_cores(): if cpu has hyperthreading this is 2x physical // If SpecUtils_USING_NO_THREADING is true, then returns 1 + SpecUtils_DLLEXPORT int num_logical_cpu_cores(); + SpecUtils_DLLEXPORT int num_physical_cpu_cores(); @@ -80,7 +82,7 @@ namespace SpecUtilsAsync // do_asyncronous_work). - class ThreadPool + class SpecUtils_DLLEXPORT ThreadPool { /* ToDo: diff --git a/SpecUtils/SpecUtils_config.h.in b/SpecUtils/SpecUtils_config.h.in index 53322dd..05c51f0 100644 --- a/SpecUtils/SpecUtils_config.h.in +++ b/SpecUtils/SpecUtils_config.h.in @@ -66,6 +66,24 @@ #define IsNan(x) (std::isnan)(x) #endif +//#ifndef SpecUtils_CALLCONV +// #ifdef _WIN32 +// #define SpecUtils_CALLCONV __cdecl +// #else +// #define SpecUtils_CALLCONV +// #endif +//#endif //SpecUtils_CALLCONV + +#ifdef _WIN32 + #ifdef SpecUtils_EXPORTS + #define SpecUtils_DLLEXPORT __declspec(dllexport) + #else + #define SpecUtils_DLLEXPORT __declspec(dllimport) + #endif +#else + #define SpecUtils_DLLEXPORT +#endif //SpecUtils_DLLEXPORT + #if(PERFORM_DEVELOPER_CHECKS) //log_developer_error(...) is implemented in SpecFile.cpp, but // declared here so can be used everywhere. diff --git a/SpecUtils/StringAlgo.h b/SpecUtils/StringAlgo.h index fe3a21d..587c5e4 100644 --- a/SpecUtils/StringAlgo.h +++ b/SpecUtils/StringAlgo.h @@ -41,30 +41,39 @@ namespace SpecUtils { /** \brief Removes leading and trailing whitespaces (ex, " \f\n\r\t\v") according to std::isspace. */ + SpecUtils_DLLEXPORT void trim( std::string &str ); /** \brief Removes leading and trailing whitespaces (" \f\n\r\t\v"). */ + SpecUtils_DLLEXPORT std::string trim_copy( std::string str ); /** \brief Converts each ascii letter to lower case, not UTF8 safe/aware. */ + SpecUtils_DLLEXPORT void to_lower_ascii( std::string &input ); /** \brief Converts each ascii letter to lower case, not UTF8 safe/aware. */ + SpecUtils_DLLEXPORT std::string to_lower_ascii_copy( std::string input ); /** \brief Converts each ascii letter to upper case, not UTF8 safe/aware. */ + SpecUtils_DLLEXPORT void to_upper_ascii( std::string &input ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT bool iequals_ascii( const char *str, const char *test ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT bool iequals_ascii( const std::string &str, const char *test ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT bool iequals_ascii( const std::string &str, const std::string &test ); /** \brief Returns if the substring is contained within the input string. */ + SpecUtils_DLLEXPORT bool contains( const std::string &input, const char *substr ); /** \brief Returns if the substring is contained within the input string, @@ -73,6 +82,7 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ + SpecUtils_DLLEXPORT bool icontains( const std::string &input, const char *substr ); /** \brief Returns if the substring is contained within the input string, @@ -81,6 +91,7 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ + SpecUtils_DLLEXPORT bool icontains( const std::string &input, const std::string &substr ); /** \brief Returns if the substring is contained within the input string, @@ -89,25 +100,30 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ + SpecUtils_DLLEXPORT bool icontains( const char *input, const size_t input_len, const char *substr, const size_t substr_len ); /** \brief Returns if the input starts with the specified substr. */ + SpecUtils_DLLEXPORT bool starts_with( const std::string &input, const char *substr ); /** \brief Returns if the input starts with the specified substr, case independent; is not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT bool istarts_with( const std::string &line, const char *label ); /** \brief Returns if the input starts with the specified substr, case independent; is not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT bool istarts_with( const std::string &line, const std::string &label ); /** \brief Returns if the input ends with the specified substr, case independent; is not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT bool iends_with( const std::string &line, const std::string &label ); /** \brief Case-insensitively finds the substring in the input. @@ -115,11 +131,13 @@ namespace SpecUtils @returns The index of the first occurrence of `substr` in `input`. If `substr` is not in `input`, then returns `std::string::npos`. */ + SpecUtils_DLLEXPORT size_t ifind_substr_ascii( const std::string &input, const char * const substr ); /** \brief Removes any character in chars_to_remove from line; is not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT void erase_any_character( std::string &line, const char *chars_to_remove ); /** \brief Splits an input string according to specified delimiters. @@ -140,6 +158,7 @@ namespace SpecUtils {",,,hello how are,,", ", "} -> {"hello", "how", "are"} {",,,hello how are,,", ","} -> {"hello how are"} */ + SpecUtils_DLLEXPORT void split( std::vector &results, const std::string &input, const char *delims ); @@ -156,12 +175,14 @@ namespace SpecUtils encountered. '\0' cannot be specified as a delimiter, and an empty string will return 0 results if input is empty, and one result otherwise. */ + SpecUtils_DLLEXPORT void split_no_delim_compress( std::vector &results, const std::string &input, const char *delims ); /** \brief Replaces all (case insensitive) instances of pattern with replacement in input. Not UTF8 or locale aware. */ + SpecUtils_DLLEXPORT void ireplace_all( std::string &input, const char *pattern, const char *replacement ); @@ -191,6 +212,7 @@ namespace SpecUtils (ex: `str + str_size_bytes` will typically point to a '\0' character, but doesnt have to). */ + SpecUtils_DLLEXPORT size_t utf8_str_len( const char * const str, const size_t str_size_bytes ); @@ -199,6 +221,7 @@ namespace SpecUtils \param str input UTF8 encoded string that MUST be null terminated. */ + SpecUtils_DLLEXPORT size_t utf8_str_len( const char * const str ); /** \brief Reduces string size to the specified number of bytes, or the @@ -206,6 +229,7 @@ namespace SpecUtils character. Does not include the null terminating byte (e.g., will take max_bytes+1 bytes to represent in a c-string). */ + SpecUtils_DLLEXPORT void utf8_limit_str_size( std::string &str, const size_t max_bytes ); /** Gives the index to place a null terminating character that is less @@ -221,6 +245,7 @@ namespace SpecUtils \returns The location (index), in bytes, to place the new terminating '\0' character. */ + SpecUtils_DLLEXPORT size_t utf8_str_size_limit( const char * const str, size_t num_in_bytes, const size_t max_bytes ); @@ -244,9 +269,11 @@ namespace SpecUtils \param result The result of parsing. If parsing failed, will be 0.0f. \returns True if was able to parse a number, false otherwise. */ + SpecUtils_DLLEXPORT bool parse_float( const char *input, const size_t length, float &result ); /** Same as #parse_float, but for doubles. */ + SpecUtils_DLLEXPORT bool parse_double( const char *input, const size_t length, double &result ); @@ -262,6 +289,7 @@ namespace SpecUtils \param result The result of parsing. If parsing failed, will be 0. \returns True if was able to parse a number, false otherwise. */ + SpecUtils_DLLEXPORT bool parse_int( const char *input, const size_t length, int &result ); /** \brief Parses a string of ascii floats seperated by user specified @@ -300,6 +328,7 @@ namespace SpecUtils \TODO: change this to be range based, instead of zero-terminated string input */ + SpecUtils_DLLEXPORT bool split_to_floats( const char *input, std::vector &contents, const char * const delims, // = " ,\r\n\t", @@ -335,10 +364,12 @@ namespace SpecUtils - https://github.com/abseil/abseil-cpp/blob/master/absl/strings/charconv.h - https://github.com/simdjson/simdjson/blob/master/src/generic/stage2/numberparsing.h */ + SpecUtils_DLLEXPORT bool split_to_floats( const char *input, const size_t length, std::vector &results ); /* \brief A convenience function. */ + SpecUtils_DLLEXPORT bool split_to_floats( const std::string &input, std::vector &results ); @@ -353,11 +384,13 @@ namespace SpecUtils be interpreted as ints, and the entire string was consumed during parsing (no trailing text besides delimiters). */ + SpecUtils_DLLEXPORT bool split_to_ints( const char *input, const size_t length, std::vector &results ); /** Same as split_to_ints, but for long longs. */ + SpecUtils_DLLEXPORT bool split_to_long_longs( const char *input, const size_t length, std::vector &results ); @@ -369,7 +402,8 @@ namespace SpecUtils If input is improperly encoded, or other error, will return empty string. */ - std::string convert_from_utf16_to_utf8( const std::wstring &wstr ); + SpecUtils_DLLEXPORT + std::string convert_from_utf16_to_utf8( const std::wstring &wstr ); /** Converts from UTF-8 to UTF-16 strings; primarily useful on Windows. @@ -380,6 +414,7 @@ namespace SpecUtils If input is improperly encoded, or other error, will return empty string. */ + SpecUtils_DLLEXPORT std::wstring convert_from_utf8_to_utf16( const std::string &str ); @@ -395,6 +430,7 @@ namespace SpecUtils Note: this function is hand-rolled, and extremely slow, and likely missing some edge cases or something. There is likely a much more elegant and correct implementation for this. */ + SpecUtils_DLLEXPORT std::string printCompact( const double value, const size_t sig_figs ); @@ -404,6 +440,7 @@ namespace SpecUtils For sequences such as {0,1,2,3,4,5,10,99,100,101,102,200}, will return a human readable string similar to "1-5,10,99-102,200" */ + SpecUtils_DLLEXPORT std::string sequencesToBriefString( const std::set &sequence ); //see CompactFileManager::handleUserChangeSampleNum(...) for code that @@ -424,6 +461,7 @@ namespace SpecUtils to return 0. The default value of 128 is arbitrary, but still larger than any of the expected use cases in SpecUtils/InterSpec/Cambio. */ + SpecUtils_DLLEXPORT unsigned int levenshtein_distance( const std::string &source, const std::string &target, const size_t max_str_len = 128 ); diff --git a/SpecUtils/UriSpectrum.h b/SpecUtils/UriSpectrum.h index b5ecbca..088e701 100644 --- a/SpecUtils/UriSpectrum.h +++ b/SpecUtils/UriSpectrum.h @@ -122,7 +122,7 @@ namespace SpecUtils /** Struct that represents information that can be included in a spectrum URL. */ - struct UrlSpectrum + struct SpecUtils_DLLEXPORT UrlSpectrum { SpecUtils::SourceType m_source_type = SpecUtils::SourceType(4); // There is static_assert in .cpp file to make sure SpecUtils::SourceType::Unknown == 4 std::vector m_energy_cal_coeffs; @@ -146,10 +146,12 @@ namespace SpecUtils std::vector m_channel_data; };//struct UrlSpectrum + SpecUtils_DLLEXPORT std::vector to_url_spectra( std::vector> specs, std::string detector_model ); + SpecUtils_DLLEXPORT std::shared_ptr to_spec_file( const std::vector &meas ); /** Encodes the specified measurements into one or more URIs. @@ -170,6 +172,7 @@ namespace SpecUtils Throws exception on error. */ + SpecUtils_DLLEXPORT std::vector url_encode_spectra( const std::vector &measurements, const uint8_t encode_options, const size_t num_parts ); @@ -206,13 +209,14 @@ namespace SpecUtils Throws exception on error. */ + SpecUtils_DLLEXPORT std::vector url_encode_spectrum( const UrlSpectrum &meas, const uint8_t encode_options, const size_t num_parts, const unsigned int skip_encode_options ); - struct EncodedSpectraInfo + struct SpecUtils_DLLEXPORT EncodedSpectraInfo { /** See #EncodeOptions for bit meanings. */ uint8_t m_encode_options = 0; @@ -252,10 +256,13 @@ namespace SpecUtils Throws exception on error. */ + SpecUtils_DLLEXPORT EncodedSpectraInfo get_spectrum_url_info( std::string url ); + SpecUtils_DLLEXPORT std::vector spectrum_decode_first_url( const std::string &url ); + SpecUtils_DLLEXPORT std::vector spectrum_decode_not_first_url( std::string url ); /** Decodes the given urls to a single spectrum (one or more input urls), or @@ -263,6 +270,7 @@ namespace SpecUtils Expects each urls to have already been url-decoded. */ + SpecUtils_DLLEXPORT std::vector decode_spectrum_urls( std::vector urls ); @@ -270,30 +278,37 @@ namespace SpecUtils The resulting string will only contain characters that can be encoded into a Alphanumeric QR code. */ + SpecUtils_DLLEXPORT std::string base45_encode( const std::vector &input ); /** Same as other `base45_encode` function, just takes a string as input. */ + SpecUtils_DLLEXPORT std::string base45_encode( const std::string &input ); /** Performs the reverse of `base45_encode`. */ + SpecUtils_DLLEXPORT std::vector base45_decode( const std::string &input ); /** "base64url" encoding is a URL and filename safe variant of base64 encoding. See: https://datatracker.ietf.org/doc/html/rfc4648#section-5 and: https://en.wikipedia.org/wiki/Base64#Implementations_and_history */ + SpecUtils_DLLEXPORT std::string base64url_encode( const std::string &input, const bool use_padding ); /** Performs "base64url" encoding, same as other function by same name. */ + SpecUtils_DLLEXPORT std::string base64url_encode( const std::vector &input, const bool use_padding ); /** Decodes "base64url" encoded strings. */ + SpecUtils_DLLEXPORT std::vector base64url_decode( const std::string &input ); /** Performs "percent encoding" of the input Converts any non-ascii character, or the characters " $&+,:;=?@'\"<>#%{}|\\^~[]`/" to their percent hex encodings. */ + SpecUtils_DLLEXPORT std::string url_encode( const std::string &url ); /** Decodes "percent encoded" strings. @@ -302,19 +317,25 @@ namespace SpecUtils Non-ascii characters will remain the same. If either of the characters following a '%' is not a hex character, the whole three-character sequence will not change. */ + SpecUtils_DLLEXPORT std::string url_decode( const std::string &url ); /** Similar to `url_encode`, but only encodes non-ascii characters, as well as "%&;=/?#[]", as specified by RFC 6068. */ + SpecUtils_DLLEXPORT std::string email_encode( const std::string &url ); /** Performs DEFLATE (aka, zip) compression */ + SpecUtils_DLLEXPORT void deflate_compress( const void *in_data, size_t in_data_size, std::string &out_data ); /** Performs DEFLATE (aka, zip) compression */ + SpecUtils_DLLEXPORT void deflate_compress( const void *in_data, size_t in_data_size, std::vector &out_data ); /** Performs DEFLATE (aka, zip) de-compression */ + SpecUtils_DLLEXPORT void deflate_decompress( void *in_data, size_t in_data_size, std::string &out_data ); /** Performs DEFLATE (aka, zip) de-compression */ + SpecUtils_DLLEXPORT void deflate_decompress( void *in_data, size_t in_data_size, std::vector &out_data ); @@ -322,12 +343,14 @@ namespace SpecUtils but pre-pended with a uint16_t to give number of integer entries, has a c++ interface, and is way, way slower, but is a safer in terms of buffer overflow. */ + SpecUtils_DLLEXPORT std::vector encode_stream_vbyte( const std::vector &input ); /** Performs the same encoding as `streamvbyte_decode` from https://github.com/lemire/streamvbyte, but assumes data is prepended with uin16_t that gives the number of integer entries, has a c++ interface, is way, way slower, but is a safer in terms of buffer overflow. */ + SpecUtils_DLLEXPORT size_t decode_stream_vbyte( const std::vector &inbuff, std::vector &answer ); /** Calculates the "CRC-16/ARC" (Augmented Reversed with Carry) of input string. @@ -343,6 +366,7 @@ namespace SpecUtils This is the equivalent of `boost::crc_16_type`. */ + SpecUtils_DLLEXPORT uint16_t calc_CRC16_ARC( const std::string &input ); }//namespace QRSpectrum diff --git a/bindings/c/SpecUtils_c.cpp b/bindings/c/SpecUtils_c.cpp index 854a901..1325f53 100644 --- a/bindings/c/SpecUtils_c.cpp +++ b/bindings/c/SpecUtils_c.cpp @@ -413,14 +413,16 @@ namespace // - private functions for this file }//namespace - private functions for this file -SpecUtils_SpecFile *SpecUtils_SpecFile_create() +SpecUtils_SpecFile * SpecUtils_C_CALLCONV +SpecUtils_SpecFile_create() { SpecUtils::SpecFile *ptr = new SpecUtils::SpecFile(); return reinterpret_cast( ptr ); } -SpecUtils_SpecFile *SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const instance ) +SpecUtils_SpecFile * SpecUtils_C_CALLCONV +SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const instance ) { try { @@ -441,7 +443,8 @@ SpecUtils_SpecFile *SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const i } -void SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ) +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ) { assert( instance ); SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -450,7 +453,8 @@ void SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ) } -void SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile *rhs ) +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile *rhs ) { try { @@ -471,7 +475,8 @@ void SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_Spec } -bool SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filename ) +bool SpecUtils_C_CALLCONV +SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filename ) { assert( instance ); if( !instance ) @@ -484,7 +489,8 @@ bool SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filena } -bool SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, +bool SpecUtils_C_CALLCONV +SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, const char * const filename, const SpecUtils_ParserType type ) { @@ -506,7 +512,8 @@ bool SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, -bool SpecUtils_write_to_file( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_write_to_file( SpecUtils_SpecFile *instance, const char *filename, SpecUtils_SaveSpectrumAsType type ) { @@ -531,7 +538,8 @@ bool SpecUtils_write_to_file( SpecUtils_SpecFile *instance, -bool SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -539,7 +547,8 @@ bool SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ) } -uint32_t SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -547,7 +556,8 @@ uint32_t SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * cons } -uint32_t SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -555,7 +565,7 @@ uint32_t SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * co } -const SpecUtils_Measurement * +const SpecUtils_Measurement * SpecUtils_C_CALLCONV SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const instance, const uint32_t index ) { @@ -568,7 +578,7 @@ SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const in } -const SpecUtils_Measurement * +const SpecUtils_Measurement * SpecUtils_C_CALLCONV SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * const instance, const int sample_number, const char * const det_name ) @@ -585,7 +595,7 @@ SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * con } -uint32_t SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -593,7 +603,7 @@ uint32_t SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const i } -const char *SpecUtils_SpecFile_detector_name( const SpecUtils_SpecFile * const instance, +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ) { assert( instance ); @@ -609,7 +619,7 @@ const char *SpecUtils_SpecFile_detector_name( const SpecUtils_SpecFile * const i } -uint32_t SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -617,7 +627,7 @@ uint32_t SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * c } -DLLEXPORT const char * CALLINGCONVENTION +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_gamma_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ) { @@ -634,7 +644,7 @@ SpecUtils_SpecFile_gamma_detector_name( const SpecUtils_SpecFile * const instanc } -uint32_t SpecUtils_SpecFile_number_neutron_detectors( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_neutron_detectors( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -642,7 +652,7 @@ uint32_t SpecUtils_SpecFile_number_neutron_detectors( const SpecUtils_SpecFile * } -const char * SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const instance, +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ) { assert( instance ); @@ -658,20 +668,15 @@ const char * SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile } -uint32_t SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); return ptr ? static_cast(ptr->sample_numbers().size()) : uint32_t(0); } -/** Returns the sample number, for a given index. - - @param instance The `SpecUtils_SpecFile` to access. - @param index Inclusively between 0 and `SpecUtils_SpecFile_number_samples(instance) - 1`. - @returns The sample number for the given index. If index is invalid, returns `INT_MIN` - */ -DLLEXPORT int CALLINGCONVENTION + +int SpecUtils_C_CALLCONV SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, const uint32_t index ) { assert( instance ); @@ -687,7 +692,7 @@ SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, con } -bool SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, +bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, SpecUtils_Measurement *measurement, const bool do_cleanup ) { @@ -703,7 +708,7 @@ bool SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, } -bool SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, +bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, const SpecUtils_Measurement * const measurement, const bool do_cleanup ) { @@ -720,7 +725,7 @@ bool SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, } -bool SpecUtils_SpecFile_remove_measurements( SpecUtils_SpecFile * instance, +bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurements( SpecUtils_SpecFile * instance, const SpecUtils_Measurement ** const measurements, const uint32_t number_to_remove ) { @@ -746,7 +751,7 @@ bool SpecUtils_SpecFile_remove_measurements( SpecUtils_SpecFile * instance, } -void SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ) +void SpecUtils_C_CALLCONV SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); if( specfile ) @@ -754,7 +759,7 @@ void SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ) } -void SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, +void SpecUtils_C_CALLCONV SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, const bool dont_change_sample_numbers, const bool reorder_by_time ) { @@ -774,7 +779,7 @@ void SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, } -bool SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -782,7 +787,7 @@ bool SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ) } -SpecUtils_Measurement * +SpecUtils_Measurement * SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, const int * const sample_numbers, const uint32_t number_sample_numbers, @@ -810,7 +815,7 @@ SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, }// -uint32_t SpecUtils_SpecFile_memmorysize( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_memmorysize( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -818,7 +823,7 @@ uint32_t SpecUtils_SpecFile_memmorysize( const SpecUtils_SpecFile * const instan } -uint32_t SpecUtils_SpecFile_number_remarks( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_remarks( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -826,7 +831,7 @@ uint32_t SpecUtils_SpecFile_number_remarks( const SpecUtils_SpecFile * const ins } -const char *SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, const uint32_t index ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -840,7 +845,7 @@ const char *SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance } -uint32_t SpecUtils_SpecFile_number_parse_warnings( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_parse_warnings( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -848,7 +853,7 @@ uint32_t SpecUtils_SpecFile_number_parse_warnings( const SpecUtils_SpecFile * co } -const char *SpecUtils_SpecFile_parse_warning( const SpecUtils_SpecFile * const instance, +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_parse_warning( const SpecUtils_SpecFile * const instance, const uint32_t index ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -862,7 +867,7 @@ const char *SpecUtils_SpecFile_parse_warning( const SpecUtils_SpecFile * const i } -float SpecUtils_SpecFile_sum_gamma_live_time( const SpecUtils_SpecFile * const instance ) +float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_live_time( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -870,7 +875,7 @@ float SpecUtils_SpecFile_sum_gamma_live_time( const SpecUtils_SpecFile * const i } -float SpecUtils_SpecFile_sum_gamma_real_time( const SpecUtils_SpecFile * const instance ) +float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_real_time( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -878,7 +883,7 @@ float SpecUtils_SpecFile_sum_gamma_real_time( const SpecUtils_SpecFile * const i } -double SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_SpecFile * const instance ) +double SpecUtils_C_CALLCONV SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -886,7 +891,7 @@ double SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_SpecFile * const inst } -double SpecUtils_SpecFile_neutron_counts_sum( const SpecUtils_SpecFile * const instance ) +double SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_counts_sum( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -894,7 +899,7 @@ double SpecUtils_SpecFile_neutron_counts_sum( const SpecUtils_SpecFile * const i } -const char *SpecUtils_SpecFile_filename( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_filename( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -907,7 +912,7 @@ const char *SpecUtils_SpecFile_filename( const SpecUtils_SpecFile * const instan } -const char *SpecUtils_SpecFile_uuid( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_uuid( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -920,7 +925,7 @@ const char *SpecUtils_SpecFile_uuid( const SpecUtils_SpecFile * const instance ) } -const char *SpecUtils_SpecFile_measurement_location_name( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_location_name( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -933,7 +938,7 @@ const char *SpecUtils_SpecFile_measurement_location_name( const SpecUtils_SpecFi } -const char *SpecUtils_SpecFile_measurement_operator( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_operator( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -946,7 +951,7 @@ const char *SpecUtils_SpecFile_measurement_operator( const SpecUtils_SpecFile * } -SpecUtils_DetectorType SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ) +SpecUtils_DetectorType SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -958,7 +963,7 @@ SpecUtils_DetectorType SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFil } -const char *SpecUtils_SpecFile_instrument_type( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_type( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -971,7 +976,7 @@ const char *SpecUtils_SpecFile_instrument_type( const SpecUtils_SpecFile * const } -const char *SpecUtils_SpecFile_manufacturer( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_manufacturer( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -984,7 +989,7 @@ const char *SpecUtils_SpecFile_manufacturer( const SpecUtils_SpecFile * const in } -const char *SpecUtils_SpecFile_instrument_model( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_model( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -997,7 +1002,7 @@ const char *SpecUtils_SpecFile_instrument_model( const SpecUtils_SpecFile * cons } -const char *SpecUtils_SpecFile_instrument_id( const SpecUtils_SpecFile * const instance ) +const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_id( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1010,7 +1015,7 @@ const char *SpecUtils_SpecFile_instrument_id( const SpecUtils_SpecFile * const i } -bool SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1018,7 +1023,8 @@ bool SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecFile * const instance } -double SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instance ) +double SpecUtils_C_CALLCONV +SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1026,7 +1032,8 @@ double SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instan } -double SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const instance ) +double SpecUtils_C_CALLCONV +SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1034,7 +1041,8 @@ double SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const insta } -bool SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1042,7 +1050,8 @@ bool SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const } -bool SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1050,7 +1059,8 @@ bool SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * co } -void SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, const char * const filename ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1060,7 +1070,8 @@ void SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks ) { @@ -1080,7 +1091,8 @@ void SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, const char * const remark ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1090,7 +1102,8 @@ void SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, const char ** const warnings, const uint32_t number_warnings ) { @@ -1110,7 +1123,8 @@ void SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, const char * const file_uuid ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1120,15 +1134,18 @@ void SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_lane_number( SpecUtils_SpecFile *instance, const int num ) +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_lane_number( SpecUtils_SpecFile *instance, const int num ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); if( specfile ) specfile->set_lane_number( num ); } - -void SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *instance, + + +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *instance, const char * const location_name ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1138,7 +1155,8 @@ void SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *insta } -void SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, const char * const inspection_type ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1148,7 +1166,8 @@ void SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, const char * const instrument_type ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1158,7 +1177,8 @@ void SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, const SpecUtils_DetectorType type ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1171,7 +1191,8 @@ void SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, const char * const manufacturer_name ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1181,7 +1202,8 @@ void SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, const char * const model ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1191,7 +1213,8 @@ void SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, } -void SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, +void SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, const char * const serial_number ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1201,7 +1224,8 @@ void SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, } -bool SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, const char * const original_name, const char * const new_name ) { @@ -1226,7 +1250,8 @@ bool SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, } -bool set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, const char * const CALp_filepath ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1258,7 +1283,8 @@ bool set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, } -bool SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, const float live_time, const SpecUtils_Measurement * const measurement ) { @@ -1272,7 +1298,8 @@ bool SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, } -bool SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, const float real_time, const SpecUtils_Measurement * const measurement ) { @@ -1286,7 +1313,8 @@ bool SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, } -bool SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, const int64_t microseconds_since_unix_epoch, const SpecUtils_Measurement * const measurement ) { @@ -1303,7 +1331,8 @@ bool SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance } -bool SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, const char *date_time, const SpecUtils_Measurement * const measurement ) { @@ -1322,7 +1351,8 @@ bool SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *inst } -bool SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks, const SpecUtils_Measurement * const measurement ) @@ -1342,7 +1372,8 @@ bool SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, -bool SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, const SpecUtils_SourceType type, const SpecUtils_Measurement * const measurement ) { @@ -1373,7 +1404,8 @@ bool SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instanc } -bool SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, const double longitude, const double latitude, const int64_t microseconds_since_unix_epoch, @@ -1400,7 +1432,8 @@ bool SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, } -bool SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile *instance, const char * const title, const SpecUtils_Measurement * const measurement ) { @@ -1413,7 +1446,8 @@ bool SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile *instance, } -bool SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *instance, const bool contained, const float counts, const float neutron_live_time, const SpecUtils_Measurement * const measurement ) @@ -1433,7 +1467,8 @@ bool SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile * } -bool SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *instance, SpecUtils_CountedRef_EnergyCal *energy_cal, const SpecUtils_Measurement * const measurement ) { @@ -1460,14 +1495,16 @@ bool SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile * } -SpecUtils_Measurement *SpecUtils_Measurement_create() +SpecUtils_Measurement * SpecUtils_C_CALLCONV +SpecUtils_Measurement_create() { SpecUtils::Measurement *m = new SpecUtils::Measurement(); return reinterpret_cast( m ); } -SpecUtils_Measurement * SpecUtils_Measurement_clone( const SpecUtils_Measurement * const instance ) +SpecUtils_Measurement * SpecUtils_C_CALLCONV +SpecUtils_Measurement_clone( const SpecUtils_Measurement * const instance ) { try { @@ -1490,7 +1527,8 @@ SpecUtils_Measurement * SpecUtils_Measurement_clone( const SpecUtils_Measurement } -void SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ) +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1499,7 +1537,8 @@ void SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ) } -uint32_t SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1507,7 +1546,8 @@ uint32_t SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const } -void SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtils_Measurement *rhs ) +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtils_Measurement *rhs ) { try { @@ -1528,7 +1568,8 @@ void SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtil } -void SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ) +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1537,7 +1578,8 @@ void SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ) } -const char *SpecUtils_Measurement_description( const SpecUtils_Measurement * const instance ) +const char * SpecUtils_C_CALLCONV +SpecUtils_Measurement_description( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1549,7 +1591,8 @@ const char *SpecUtils_Measurement_description( const SpecUtils_Measurement * con } -void SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, const char * const description_cstr ) { auto m = reinterpret_cast( instance ); @@ -1559,7 +1602,8 @@ void SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, } -const char *SpecUtils_Measurement_source_string( const SpecUtils_Measurement * const instance ) +const char * SpecUtils_C_CALLCONV +SpecUtils_Measurement_source_string( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1571,7 +1615,8 @@ const char *SpecUtils_Measurement_source_string( const SpecUtils_Measurement * c } -void SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, const char * const source_string_cstr ) { auto m = reinterpret_cast( instance ); @@ -1581,7 +1626,8 @@ void SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, } -void SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, const float *counts, const uint32_t nchannels, const float live_time, @@ -1600,7 +1646,8 @@ void SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, } -void SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, const float * const counts, const uint32_t num_tubes, const float neutron_live_time ) @@ -1617,7 +1664,8 @@ void SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, }//SpecUtils_Measurement_set_neutron_counts(...) -const char *SpecUtils_Measurement_title( const SpecUtils_Measurement * const instance ) +const char * SpecUtils_C_CALLCONV +SpecUtils_Measurement_title( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1629,7 +1677,8 @@ const char *SpecUtils_Measurement_title( const SpecUtils_Measurement * const ins } -void SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, const char * const title ) { auto m = reinterpret_cast( instance ); @@ -1639,7 +1688,8 @@ void SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, } -int64_t SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance ) +int64_t SpecUtils_C_CALLCONV +SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1657,7 +1707,8 @@ int64_t SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance } -void SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, const int64_t start_time ) { auto m = reinterpret_cast( instance ); @@ -1670,7 +1721,8 @@ void SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance } -bool SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, const char * const start_time_str ) { auto m = reinterpret_cast( instance ); @@ -1686,7 +1738,8 @@ bool SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, return m && !SpecUtils::is_special(tp); } -char SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ) +char SpecUtils_C_CALLCONV +SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1694,7 +1747,8 @@ char SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance } -void SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, const char tag_char ) { auto m = reinterpret_cast( instance ); @@ -1703,7 +1757,8 @@ void SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, m->set_pcf_tag( tag_char ); } -uint32_t SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1711,7 +1766,8 @@ uint32_t SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measuremen } -const float *SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const instance ) +const float * SpecUtils_C_CALLCONV +SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1722,7 +1778,8 @@ const float *SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measure } -const float *SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instance ) +const float * SpecUtils_C_CALLCONV +SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1733,7 +1790,7 @@ const float *SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * return energies ? energies->data() : nullptr; } -const SpecUtils_EnergyCal * +const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1746,7 +1803,7 @@ SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const in } -const SpecUtils_CountedRef_EnergyCal * +const SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_Measurement_energy_calibration_ref( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1763,7 +1820,8 @@ SpecUtils_Measurement_energy_calibration_ref( const SpecUtils_Measurement * cons } -float SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const instance ) +float SpecUtils_C_CALLCONV +SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1771,7 +1829,8 @@ float SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const insta } -float SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const instance ) +float SpecUtils_C_CALLCONV +SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1779,7 +1838,8 @@ float SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const insta } -float SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * const instance ) +float SpecUtils_C_CALLCONV +SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1787,7 +1847,8 @@ float SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * con } -double SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * const instance ) +double SpecUtils_C_CALLCONV +SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1795,7 +1856,8 @@ double SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * cons } -double SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * const instance ) +double SpecUtils_C_CALLCONV +SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1803,7 +1865,8 @@ double SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * co } -bool SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const instance ) +bool SpecUtils_C_CALLCONV +SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1811,7 +1874,8 @@ bool SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const inst } -bool SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * const instance ) +bool SpecUtils_C_CALLCONV +SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1819,14 +1883,16 @@ bool SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * cons } -int SpecUtils_Measurement_sample_number( const SpecUtils_Measurement * const instance ) +int SpecUtils_C_CALLCONV +SpecUtils_Measurement_sample_number( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->sample_number() : -999; } -void SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, const int samplenum ) { auto m = reinterpret_cast( instance ); @@ -1836,7 +1902,8 @@ void SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, } -const char *SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * const instance ) +const char * SpecUtils_C_CALLCONV +SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1847,7 +1914,8 @@ const char *SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * c } -void SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement *instance, const char *name ) { auto m = reinterpret_cast( instance ); @@ -1857,7 +1925,8 @@ void SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement *instance, } -float SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance ) +float SpecUtils_C_CALLCONV +SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1865,7 +1934,7 @@ float SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance } -enum SpecUtils_OccupancyStatus +enum SpecUtils_OccupancyStatus SpecUtils_C_CALLCONV SpecUtils_Measurement_occupancy_status( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1875,7 +1944,8 @@ SpecUtils_Measurement_occupancy_status( const SpecUtils_Measurement * const inst } -void SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance, const SpecUtils_OccupancyStatus status ) { auto m = reinterpret_cast( instance ); @@ -1885,7 +1955,8 @@ void SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance } -bool SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const instance ) +bool SpecUtils_C_CALLCONV +SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1893,21 +1964,26 @@ bool SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const ins } -double SpecUtils_Measurement_latitude( const SpecUtils_Measurement * const instance ) +double SpecUtils_C_CALLCONV +SpecUtils_Measurement_latitude( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->latitude() : -999.9; } -double SpecUtils_Measurement_longitude( const SpecUtils_Measurement * const instance ) + +double SpecUtils_C_CALLCONV +SpecUtils_Measurement_longitude( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->longitude() : -999.9; } -int64_t SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measurement * const instance ) + +int64_t SpecUtils_C_CALLCONV +SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1921,7 +1997,8 @@ int64_t SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measuremen } -void SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, const double longitude, const double latitude, const int64_t position_time_microsec ) @@ -1939,7 +2016,8 @@ void SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, } -float SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const instance ) +float SpecUtils_C_CALLCONV +SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1947,14 +2025,16 @@ float SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const insta } -float SpecUtils_Measurement_exposure_rate( const SpecUtils_Measurement * const instance ) +float SpecUtils_C_CALLCONV +SpecUtils_Measurement_exposure_rate( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->exposure_rate() : 0.0f; } -const char *SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * const instance ) +const char * SpecUtils_C_CALLCONV +SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1962,7 +2042,7 @@ const char *SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * c } -enum SpecUtils_QualityStatus +enum SpecUtils_QualityStatus SpecUtils_C_CALLCONV SpecUtils_Measurement_quality_status( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1972,7 +2052,7 @@ SpecUtils_Measurement_quality_status( const SpecUtils_Measurement * const instan } -enum SpecUtils_SourceType +enum SpecUtils_SourceType SpecUtils_C_CALLCONV SpecUtils_Measurement_source_type( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1982,7 +2062,8 @@ SpecUtils_Measurement_source_type( const SpecUtils_Measurement * const instance } -void SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, const SpecUtils_SourceType type ) { auto m = reinterpret_cast( instance ); @@ -1992,7 +2073,8 @@ void SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, } -uint32_t SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2000,7 +2082,8 @@ uint32_t SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * con } -const char *SpecUtils_Measurement_remark( const SpecUtils_Measurement * const instance, +const char * SpecUtils_C_CALLCONV +SpecUtils_Measurement_remark( const SpecUtils_Measurement * const instance, const uint32_t remark_index ) { auto m = reinterpret_cast( instance ); @@ -2013,7 +2096,8 @@ const char *SpecUtils_Measurement_remark( const SpecUtils_Measurement * const in } -void SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, +void SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, const char **remarks, const uint32_t number_remarks ) { @@ -2029,7 +2113,8 @@ void SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, } -uint32_t SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2037,7 +2122,8 @@ uint32_t SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measuremen } -const char *SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * const instance, +const char * SpecUtils_C_CALLCONV +SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * const instance, const uint32_t index ) { auto m = reinterpret_cast( instance ); @@ -2050,7 +2136,8 @@ const char *SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * c } -double SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const instance, +double SpecUtils_C_CALLCONV +SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const instance, const float lower_energy, const float upper_energy ) { auto m = reinterpret_cast( instance ); @@ -2059,7 +2146,8 @@ double SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const } -double SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * const instance, +double SpecUtils_C_CALLCONV +SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * const instance, const uint32_t startbin, const uint32_t endbin ) { @@ -2069,7 +2157,8 @@ double SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * c } -uint32_t SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2077,7 +2166,8 @@ uint32_t SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurem } -bool SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, const uint32_t nchannel ) { auto m = reinterpret_cast( instance ); @@ -2098,7 +2188,8 @@ bool SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instan } -bool SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal_ptr ) { auto m = reinterpret_cast( instance ); @@ -2122,7 +2213,8 @@ bool SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, } -bool SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, +bool SpecUtils_C_CALLCONV +SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal_ptr ) { auto m = reinterpret_cast( instance ); @@ -2145,14 +2237,16 @@ bool SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instan } -SpecUtils_EnergyCal *SpecUtils_EnergyCal_create() +SpecUtils_EnergyCal * SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_create() { SpecUtils::EnergyCalibration *cal = new SpecUtils::EnergyCalibration(); return reinterpret_cast( cal ); } -void SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ) +void SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ) { auto cal = reinterpret_cast( instance ); assert( cal ); @@ -2161,7 +2255,8 @@ void SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ) } -SpecUtils_CountedRef_EnergyCal *SpecUtils_CountedRef_EnergyCal_create() +SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV +SpecUtils_CountedRef_EnergyCal_create() { auto obj_ptr = new shared_ptr(); *obj_ptr = make_shared(); @@ -2169,7 +2264,8 @@ SpecUtils_CountedRef_EnergyCal *SpecUtils_CountedRef_EnergyCal_create() } -void SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance ) +void SpecUtils_C_CALLCONV +SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance ) { auto ptr = reinterpret_cast *>( instance ); assert( ptr ); @@ -2178,7 +2274,8 @@ void SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *ins } -const SpecUtils_EnergyCal *SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ) +const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ) { shared_ptr *cal = reinterpret_cast *>( instance ); @@ -2187,7 +2284,8 @@ const SpecUtils_EnergyCal *SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRe } -SpecUtils_CountedRef_EnergyCal *SpecUtils_EnergyCal_make_counted_ref( SpecUtils_EnergyCal *instance ) +SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_make_counted_ref( SpecUtils_EnergyCal *instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2200,7 +2298,8 @@ SpecUtils_CountedRef_EnergyCal *SpecUtils_EnergyCal_make_counted_ref( SpecUtils_ -SpecUtils_EnergyCalType SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * const instance ) +SpecUtils_EnergyCalType SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2210,7 +2309,8 @@ SpecUtils_EnergyCalType SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * co return SpecUtils_EnergyCalType( static_cast( ptr->type() ) ); } -bool SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ) +bool SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2218,14 +2318,17 @@ bool SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ) } -uint32_t SpecUtils_EnergyCal_number_coefficients( const SpecUtils_EnergyCal * const instance ) +uint32_t SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_number_coefficients( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); return ptr ? static_cast(ptr->coefficients().size()) : uint32_t(0); } - -const float *SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const instance ) + + +const float * SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2235,7 +2338,9 @@ const float *SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const return coefs.data(); } -uint32_t SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * const instance ) + +uint32_t SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2246,7 +2351,9 @@ uint32_t SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * return static_cast( devs.size() ); } -float SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const instance, + +float SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const instance, const uint32_t index ) { auto ptr = reinterpret_cast( instance ); @@ -2261,7 +2368,9 @@ float SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const in return devs[index].first; } -float SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const instance, + +float SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const instance, const uint32_t index ) { auto ptr = reinterpret_cast( instance ); @@ -2276,14 +2385,18 @@ float SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const in return devs[index].second; } -uint32_t SpecUtils_EnergyCal_number_channels( const SpecUtils_EnergyCal * const instance ) + +uint32_t SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_number_channels( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); return ptr ? static_cast(ptr->num_channels()) : uint32_t(0); } -const float *SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance ) + +const float * SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2294,22 +2407,9 @@ const float *SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * c return channel_energies ? channel_energies->data() : nullptr; } - /** Sets the polynomial coefficients, and non-linear deviation pairs for the energy calibration object. - - @param instance The `SpecUtils_EnergyCal` to modify. - @param num_channels The number of channels this energy calibration is for. - @param coeffs The array of polynomial energy calibration coefficients. - @param number_coeffs The number of entries in the `coeffs` array. Must be at least two coefficients. - @param dev_pairs An array giving deviation pairs where the entries are energy followed by offset, e.g., - for 3 deviations pairs, the entries in this array would be: [energy_0, offset_0, energy_1, offset_1, energy_2, offset_2] - May be `NULL`. - @param number_dev_pairs The number of deviation pairs in the `dev_pairs` array; that is the - `dev_pairs` array must have twice this many entries in it. - @returns If the energy calibration supplied is valid, and hence the `SpecUtils_EnergyCal` instance updated. - Will return false if coefficients or deviation pairs are invalid (e.g., not enough coefficients, NaN of Inf coefficients, - results in non monotonically increasing channel energies, or are otherwise unreasonable). - */ -bool SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, + +bool SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, const uint32_t number_coeffs, @@ -2343,7 +2443,8 @@ bool SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, } -bool SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, +bool SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, const uint32_t num_coeffs, @@ -2376,7 +2477,8 @@ bool SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance } -bool SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, +bool SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const uint32_t num_energies, const float * const channel_energies ) @@ -2400,7 +2502,8 @@ bool SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instanc } -double SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instance, +double SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instance, const double energy ) { auto ptr = reinterpret_cast( instance ); @@ -2409,7 +2512,8 @@ double SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const } -double SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instance, +double SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instance, const double channel ) { auto ptr = reinterpret_cast( instance ); @@ -2417,7 +2521,9 @@ double SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const return ptr ? ptr->energy_for_channel( channel ) : -999.9; } -float SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ) + +float SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2425,7 +2531,8 @@ float SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instan } -float SpecUtils_EnergyCal_upper_energy( const SpecUtils_EnergyCal * const instance ) +float SpecUtils_C_CALLCONV +SpecUtils_EnergyCal_upper_energy( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); diff --git a/bindings/c/SpecUtils_c.h b/bindings/c/SpecUtils_c.h index 27752b6..8eef243 100644 --- a/bindings/c/SpecUtils_c.h +++ b/bindings/c/SpecUtils_c.h @@ -4,21 +4,23 @@ #include #include -#ifndef CALLINGCONVENTION +#ifndef SpecUtils_C_CALLCONV #ifdef _WIN32 - #define CALLINGCONVENTION __cdecl + #define SpecUtils_C_CALLCONV __cdecl #else - #define CALLINGCONVENTION + #define SpecUtils_C_CALLCONV #endif -#endif //CALLINGCONVENTION +#endif //SpecUtils_C_CALLCONV -#ifndef DLLEXPORT #ifdef _WIN32 - #define DLLEXPORT __declspec(dllexport) + #ifdef SpecUtils_EXPORTS + #define SpecUtils_C_DLLEXPORT __declspec(dllexport) + #else + #define SpecUtils_C_DLLEXPORT __declspec(dllimport) + #endif #else - #define DLLEXPORT -#endif -#endif //DLLEXPORT + #define SpecUtils_C_DLLEXPORT +#endif //SpecUtils_C_DLLEXPORT #ifdef __cplusplus extern "C" @@ -41,24 +43,24 @@ typedef struct SpecUtils_CountedRef_EnergyCal SpecUtils_CountedRef_EnergyCal; Note: You must call `SpecUtils_SpecFile_destroy(instance)` to de-allocate this object to avoid a memory leak. */ -DLLEXPORT SpecUtils_SpecFile * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_SpecFile * SpecUtils_C_CALLCONV SpecUtils_SpecFile_create(); /** Creates a copy of passed in `SpecUtils_SpecFile`. Note: You must call `SpecUtils_SpecFile_destroy(instance)` to de-allocate this object to avoid a memory leak. */ -DLLEXPORT SpecUtils_SpecFile * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_SpecFile * SpecUtils_C_CALLCONV SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const instance ); /** De-allocates a `SpecUtils::SpecFile` object created using `SpecUtils_SpecFile_create()`. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ); /** Sets the `lhs` equal to the `rhs`. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile *rhs ); /** Parses the specified spectrum file into the provided `SpecUtils::SpecFile` instance. @@ -77,7 +79,7 @@ SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile `SpecFile_load_file_from_format(instance,filename,SpecUtils_Input_Auto)` */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filename ); @@ -108,7 +110,7 @@ enum SpecUtils_ParserType is somehow not properly detecting the input format (which should not happen), or the filename doesnt hint at the file type, and you dont want to waste the CPU time figuring it out from the file contents. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, const char * const filename, const enum SpecUtils_ParserType type ); @@ -158,7 +160,7 @@ enum SpecUtils_SaveSpectrumAsType are undefined, so on failure you should check if the file specified by `filename` exists, and delete it. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_write_to_file( SpecUtils_SpecFile *instance, const char *filename, enum SpecUtils_SaveSpectrumAsType type ); @@ -167,13 +169,13 @@ SpecUtils_write_to_file( SpecUtils_SpecFile *instance, E.g. a system that measurements at regular intervals, where it would make sense to plot a time-history chart */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ); /** Returns the number of `SpecUtils_Measurement` measurements held by the specified `SpecUtils_SpecFile`. */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instance ); /** Return the maximum number of gamma channels of any `SpecUtils_Measurement` owned by the provided @@ -181,7 +183,7 @@ SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instanc Note: individual measurements may have different numbers of channels. */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const instance ); /** Returns pointer to the measurement at the specified index. @@ -190,7 +192,7 @@ SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const insta @param index The index of the measurement to return, should be from 0 to `SpecUtils_SpecFile_num_gamma_channels(instance) -1`. @returns pointer to specified measurement - or NULL if index is to large. */ -DLLEXPORT const SpecUtils_Measurement* CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const SpecUtils_Measurement* SpecUtils_C_CALLCONV SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const instance, const uint32_t index ); @@ -205,7 +207,7 @@ SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const in \sa */ -DLLEXPORT const SpecUtils_Measurement* CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const SpecUtils_Measurement* SpecUtils_C_CALLCONV SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * const instance, const int sample_number, const char * const det_name ); @@ -215,7 +217,7 @@ SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * con The data for each detector is referenced using the detectors name, and usually defined by the input spectrum file. */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ); /** Returns the detector name, for the specified index. @@ -228,12 +230,12 @@ SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ) \sa SpecUtils_SpecFile_number_detectors */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ); /** Returns the number of detectors who provide any gamma spectra. */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const instance ); /** Returns the gamma detector name, for the specified index. @@ -244,16 +246,16 @@ SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const inst \sa SpecUtils_SpecFile_number_gamma_detectors */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_gamma_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ); /** Same as `SpecUtils_SpecFile_number_gamma_detectors`, but for neutrons */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_neutron_detectors( const SpecUtils_SpecFile * const instance ); /** Same as `SpecUtils_SpecFile_gamma_detector_name`, but for neutrons */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ); @@ -274,7 +276,7 @@ SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const insta (if this is the case, the most common deviation from normal is the neutron detector(s) having a different real time than gamma detectors). */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ); /** Returns the sample number, for a given index. @@ -283,7 +285,7 @@ SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ); @param index Inclusively between 0 and `SpecUtils_SpecFile_number_samples(instance) - 1`. @returns The sample number for the given index. If index is invalid, returns `INT_MIN` */ -DLLEXPORT int CALLINGCONVENTION +SpecUtils_C_DLLEXPORT int SpecUtils_C_CALLCONV SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, const uint32_t index ); /** Adds a measurement to the specified spectrum file. @@ -301,7 +303,7 @@ SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, con After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, SpecUtils_Measurement *measurement, const bool do_cleanup ); @@ -322,7 +324,7 @@ SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, const SpecUtils_Measurement * const measurement, const bool do_cleanup ); @@ -342,14 +344,14 @@ SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurements( SpecUtils_SpecFile * instance, const SpecUtils_Measurement ** const measurements, const uint32_t number_to_remove ); /** Resets the spectrum file to its initially empty state. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ); /** Cleans up the spectrum file, after adding measurements, recalculating sums, assigning sample @@ -363,7 +365,7 @@ SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ); After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, const bool dont_change_sample_numbers, const bool reorder_by_time ); @@ -371,7 +373,7 @@ SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, /** Returns if the spectrum file has been modified since it was loaded, or `SpecUtils_SpecFile_cleanup(...)` last called */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ); /** Sums the spectra and neutron counts of the specified measurements. @@ -387,7 +389,7 @@ SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ); Will return `NULL` if any sample numbers of detector names are invalid, or no valid measurements are specified. */ -DLLEXPORT SpecUtils_Measurement * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_Measurement * SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, const int * const sample_numbers, const uint32_t number_sample_numbers, @@ -395,54 +397,54 @@ SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, const uint32_t number_detector_names ); /** Returns the approximate number of bytes this spectrum file takes up in memory. */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_memmorysize( const SpecUtils_SpecFile * const instance ); /** Returns the number of file-level remarks the spectrum file contained. */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_remarks( const SpecUtils_SpecFile * const instance ); /** Returns null-terminated strings of file-level remarks in the file. Will return `NULL` only in requested index is too large. */ -DLLEXPORT const char * CALLINGCONVENTION -SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, const uint32_t remark_index ); /** Returns number of warnings generated during spectrum file parsing. */ -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_parse_warnings( const SpecUtils_SpecFile * const instance ); /** Returns individual parse warnings. */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_parse_warning( const SpecUtils_SpecFile * const instance, const uint32_t warning_index ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_live_time( const SpecUtils_SpecFile * const instance ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_real_time( const SpecUtils_SpecFile * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_SpecFile * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_counts_sum( const SpecUtils_SpecFile * const instance ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_filename( const SpecUtils_SpecFile * const instance ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_uuid( const SpecUtils_SpecFile * const instance ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_location_name( const SpecUtils_SpecFile * const instance ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_operator( const SpecUtils_SpecFile * const instance ); /** The C equivalent of `SpecUtils::DetectorType`. @@ -476,7 +478,7 @@ enum SpecUtils_DetectorType This may be inferred from spectrum file format or from comments or information within the spectrum file. */ -DLLEXPORT enum SpecUtils_DetectorType CALLINGCONVENTION +SpecUtils_C_DLLEXPORT enum SpecUtils_DetectorType SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ); /** Returns the instrument type as specified, or inferred, from the spectrum file. @@ -484,90 +486,90 @@ SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ); Examples of returned values are: "Spectrometer", "PortalMonitor", "SpecPortal", "RadionuclideIdentifier", "PersonalRadiationDetector", "SurveyMeter", "Other", etc */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_type( const SpecUtils_SpecFile * const instance ); /** The instrument manufacturer specified in, or inferred from, the spectrum file */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_manufacturer( const SpecUtils_SpecFile * const instance ); /** The instrument model specified in, or inferred from, the spectrum file */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_model( const SpecUtils_SpecFile * const instance ); /** The serial number of the instrument that made the spectrum file. */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_id( const SpecUtils_SpecFile * const instance ); /** Returns if mean longitude/latitude are valid gps coords */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecFile * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const instance ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const instance ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * const instance ); // simple setters -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, const char * const filename ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, const char * const remark ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, const char ** const warnings, const uint32_t number_warnings ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, const char * const file_uuid ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_lane_number( SpecUtils_SpecFile *instance, const int num ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *instance, const char * const location_name ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, const char * const inspection_type ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, const char * const instrument_type ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, const enum SpecUtils_DetectorType type ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, const char * const manufacturer_name ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, const char * const model ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, const char * const serial_number ); @@ -575,7 +577,7 @@ SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, @returns if rename was successful. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, const char * const original_name, const char * const new_name ); @@ -584,7 +586,7 @@ SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, @returns if was successful */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, const char * const CALp_filepath ); @@ -595,7 +597,7 @@ set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, const float live_time, const SpecUtils_Measurement * const measurement ); @@ -604,7 +606,7 @@ SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, const float real_time, const SpecUtils_Measurement * const measurement ); @@ -615,7 +617,7 @@ SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, @returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, const int64_t microseconds_since_unix_epoch, const SpecUtils_Measurement * const measurement ); @@ -626,7 +628,7 @@ SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, @returns if successful (valid date/time and measurement is valid). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, const char *date_time, const SpecUtils_Measurement * const measurement ); @@ -635,7 +637,7 @@ SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks, @@ -651,7 +653,7 @@ enum SpecUtils_SourceType }; /** Sets the source-type of a specific measurement. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, const enum SpecUtils_SourceType type, const SpecUtils_Measurement * const measurement ); @@ -662,19 +664,19 @@ SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`), and if values are valid lat/long. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, const double longitude, const double latitude, const int64_t microseconds_since_unix_epoch, const SpecUtils_Measurement * const measurement ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile * instance, const char * const title, const SpecUtils_Measurement * const measurement ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *instance, const bool contained, const float counts, const float neutron_live_time, @@ -682,7 +684,7 @@ SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *insta -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *instance, SpecUtils_CountedRef_EnergyCal *energy_cal, const SpecUtils_Measurement * const measurement ); @@ -696,7 +698,7 @@ SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *insta \sa `SpecUtils_SpecFile_add_measurement` */ -DLLEXPORT SpecUtils_Measurement * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_Measurement * SpecUtils_C_CALLCONV SpecUtils_Measurement_create(); /** Creates a copy of a `SpecUtils::Measurement`. @@ -704,42 +706,42 @@ SpecUtils_Measurement_create(); You must either add the returned pointer to a `SpecUtils_SpecFile`, or call `SpecUtils_Measurement_destroy(instance)` on result to not leak memory. */ -DLLEXPORT SpecUtils_Measurement * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_Measurement * SpecUtils_C_CALLCONV SpecUtils_Measurement_clone( const SpecUtils_Measurement * const instance ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const instance ); /** Sets the `lhs` equal to the `rhs`. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtils_Measurement *rhs ); /** Resets the Measurement to the same state as when initially allocated. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ); /** Returns the measurement description. Zero terminated, and non-null. */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_Measurement_description( const SpecUtils_Measurement * const instance ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, const char * const description ); /** Returns the measurement description. Zero terminated, and non-null. */ -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_Measurement_source_string( const SpecUtils_Measurement * const instance ); /** This is a GADRAS specific function - it actually adds a remark to Measurement that starts with "Source:" */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, const char * const source_string ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, const float *counts, const uint32_t nchannels, @@ -755,16 +757,16 @@ SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, @param neutron_live_time The live time of the neutron measurement. If it is the same as the gamma detector in this measurement, you can provide a negative value, and the gamma real-time will be used. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, const float * const counts, const uint32_t num_tubes, const float neutron_live_time ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_Measurement_title( const SpecUtils_Measurement * const instance ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, const char * const title ); @@ -773,11 +775,11 @@ SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, A returned value of zero indicates no time available. */ -DLLEXPORT int64_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT int64_t SpecUtils_C_CALLCONV SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance ); /** Sets the start time of the measurement, using micro-seconds since the UNIX epoch to define the time. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, const int64_t start_time ); @@ -787,20 +789,20 @@ SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, @returns if successful (valid date/time string). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, const char * const start_time_str ); /** Returns the application-specific "tag" characters used by the PCF file format. */ -DLLEXPORT char CALLINGCONVENTION +SpecUtils_C_DLLEXPORT char SpecUtils_C_CALLCONV SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ); /** Sets the application-specific "tag" characters used by the PCF file format. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, const char tag_char ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ); /** Returns array of gamma channel counts, having `SpecUtils_Measurement_number_gamma_channels(instance)` @@ -808,7 +810,7 @@ SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const May return `NULL` pointer if no counts. */ -DLLEXPORT const float * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const instance ); /** Returns array of lower channel energies. @@ -818,7 +820,7 @@ SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const \sa SpecUtils_Measurement_number_gamma_channels */ -DLLEXPORT const float * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instance ); /** Returns a pointer to the energy calibration for this measurement. @@ -827,7 +829,7 @@ SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instanc Do NOT call `SpecUtils_CountedRef_EnergyCal_destroy(instance)` or `SpecUtils_EnergyCal_make_counted_ref(instance)` on the returned pointer. */ -DLLEXPORT const SpecUtils_EnergyCal * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const instance ); /** Returns a pointer to a `shared_ptr` object. @@ -837,46 +839,46 @@ SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const in Returned pointer will be `NULL` if measurement didnt have energy calibration set. */ -DLLEXPORT const SpecUtils_CountedRef_EnergyCal * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_Measurement_energy_calibration_ref( const SpecUtils_Measurement * const instance ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const instance ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const instance ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * const instance ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const instance ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * const instance ); -DLLEXPORT int CALLINGCONVENTION +SpecUtils_C_DLLEXPORT int SpecUtils_C_CALLCONV SpecUtils_Measurement_sample_number(const SpecUtils_Measurement * const instance); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, const int samplenum ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * const instance ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement * instance, const char *name ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance ); enum SpecUtils_OccupancyStatus @@ -886,37 +888,37 @@ enum SpecUtils_OccupancyStatus SpecUtils_OccupancyStatus_Unknown }; -DLLEXPORT enum SpecUtils_OccupancyStatus CALLINGCONVENTION +SpecUtils_C_DLLEXPORT enum SpecUtils_OccupancyStatus SpecUtils_C_CALLCONV SpecUtils_Measurement_occupancy_status( const SpecUtils_Measurement * const instance ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance, const enum SpecUtils_OccupancyStatus status ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_Measurement_latitude( const SpecUtils_Measurement * const instance ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_Measurement_longitude( const SpecUtils_Measurement * const instance ); -DLLEXPORT int64_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT int64_t SpecUtils_C_CALLCONV SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measurement * const instance ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, const double longitude, const double latitude, const int64_t position_time_microsec ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const instance ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_Measurement_exposure_rate( const SpecUtils_Measurement * const instance ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * const instance ); enum SpecUtils_QualityStatus @@ -927,47 +929,47 @@ enum SpecUtils_QualityStatus SpecUtils_QualityStatus_Missing }; -DLLEXPORT enum SpecUtils_QualityStatus CALLINGCONVENTION +SpecUtils_C_DLLEXPORT enum SpecUtils_QualityStatus SpecUtils_C_CALLCONV SpecUtils_Measurement_quality_status( const SpecUtils_Measurement * const instance ); -DLLEXPORT enum SpecUtils_SourceType CALLINGCONVENTION +SpecUtils_C_DLLEXPORT enum SpecUtils_SourceType SpecUtils_C_CALLCONV SpecUtils_Measurement_source_type( const SpecUtils_Measurement * const instance ); -DLLEXPORT void +SpecUtils_C_DLLEXPORT void SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, const enum SpecUtils_SourceType type ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * const instance ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_Measurement_remark( const SpecUtils_Measurement * const instance, const uint32_t remark_index ); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, const char **remarks, const uint32_t number_remarks ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measurement * const instance ); -DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * const instance, const uint32_t remark_index ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const instance, const float lower_energy, const float upper_energy ); -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * const instance, const uint32_t startbin, const uint32_t endbin ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurement * const instance ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, const uint32_t nchannel ); @@ -976,7 +978,7 @@ SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, Does not change the energy of peaks, but does change the channel numbers of peaks, and counts of the channels, and possibly even the number of channels. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal ); @@ -987,7 +989,7 @@ SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, @returns If the new energy calibration is applied. Change of calibration may not be applied if the input calibration has the wrong number of channels, is invalid, etc */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal ); @@ -999,17 +1001,17 @@ SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, You need to either call `SpecUtils_EnergyCal_destroy(instance)` for the returned result, or call */ -DLLEXPORT SpecUtils_EnergyCal * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_EnergyCal_create(); /** De-allocates a EnergyCalibration. */ -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ); -DLLEXPORT SpecUtils_CountedRef_EnergyCal * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_CountedRef_EnergyCal_create(); -DLLEXPORT void CALLINGCONVENTION +SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance ); /** Returns the `SpecUtils_EnergyCal` pointer owned by a `SpecUtils_CountedRef_EnergyCal` @@ -1017,7 +1019,7 @@ SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance Do NOT call `SpecUtils_EnergyCal_destroy(instance)` on the returned result - its lifetime is managed by the counted ref pointer you passed in */ -DLLEXPORT const SpecUtils_EnergyCal * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ); /** Converts the passed in `SpecUtils_EnergyCal` object to a `SpecUtils_CountedRef_EnergyCal`, @@ -1027,7 +1029,7 @@ SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ); and must not have been passed to this function before. Also you must NOT call `SpecUtils_EnergyCal_destroy(instance)` for the `SpecUtils_EnergyCal` passed in. */ -DLLEXPORT SpecUtils_CountedRef_EnergyCal * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV SpecUtils_EnergyCal_make_counted_ref( SpecUtils_EnergyCal *instance ); @@ -1042,35 +1044,35 @@ enum SpecUtils_EnergyCalType SpecUtils_EnergyCal_InvalidEquationType };//enum SpecUtils_EnergyCalType -DLLEXPORT enum SpecUtils_EnergyCalType CALLINGCONVENTION +SpecUtils_C_DLLEXPORT enum SpecUtils_EnergyCalType SpecUtils_C_CALLCONV SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * const instance ); -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_EnergyCal_number_coefficients( const SpecUtils_EnergyCal * const instance ); -DLLEXPORT const float * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const instance ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * const instance ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const instance, const uint32_t deviation_pair_index ); -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const instance, const uint32_t deviation_pair_index ); -DLLEXPORT uint32_t CALLINGCONVENTION +SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV SpecUtils_EnergyCal_number_channels( const SpecUtils_EnergyCal * const instance ); /** The channel lower energies array. Will have one more entry that the number of channels (the last entry gives last channel upper energy). */ -DLLEXPORT const float * CALLINGCONVENTION +SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance ); /** Sets the polynomial coefficients, and non-linear deviation pairs for the energy calibration object. @@ -1088,7 +1090,7 @@ SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance Will return false if coefficients or deviation pairs are invalid (e.g., not enough coefficients, NaN of Inf coefficients, results in non monotonically increasing channel energies, or are otherwise unreasonable). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, @@ -1112,7 +1114,7 @@ SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, Will return false if coefficients or deviation pairs are invalid (e.g., not enough coefficients, NaN of Inf coefficients, results in non monotonically increasing channel energies, or are otherwise unreasonable). */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, @@ -1131,7 +1133,7 @@ SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, @returns If the energy calibration supplied is valid, and hence the `SpecUtils_EnergyCal` instance updated. Will return false if input energies are invalid, not increasing, or not enough of them for the number of channels. */ -DLLEXPORT bool CALLINGCONVENTION +SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const uint32_t num_energies, @@ -1143,7 +1145,7 @@ SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, \sa SpecUtils_EnergyCal_valid */ -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instance, const double energy ); @@ -1152,7 +1154,7 @@ SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instan If energy calibration coefficients are not set, then will return -999.9. */ -DLLEXPORT double CALLINGCONVENTION +SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instance, const double channel ); @@ -1162,7 +1164,7 @@ SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instan \sa SpecUtils_EnergyCal_valid */ -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ); /** Returns the upper energy (e.g., upper energy of the last channel) this energy calibration is valid for. @@ -1171,7 +1173,7 @@ SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ); \sa SpecUtils_EnergyCal_valid */ -DLLEXPORT float CALLINGCONVENTION +SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV SpecUtils_EnergyCal_upper_energy( const SpecUtils_EnergyCal * const instance ); From 16643d30252f1eb360245ecdffb61d085f4378da Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 14:38:51 -0700 Subject: [PATCH 078/100] Trye having CMake generate export header. --- CMakeLists.txt | 14 +++++- SpecUtils/CubicSpline.h | 10 ++-- SpecUtils/D3SpectrumExport.h | 4 +- SpecUtils/DateTime.h | 22 ++++----- SpecUtils/EnergyCalibration.h | 36 +++++++-------- SpecUtils/Filesystem.h | 50 ++++++++++---------- SpecUtils/ParseUtils.h | 34 +++++++------- SpecUtils/SerialToDetectorModel.h | 16 +++---- SpecUtils/SpecFile.h | 27 ++--------- SpecUtils/SpecFile_location.h | 8 ++-- SpecUtils/SpecUtilsAsync.h | 6 +-- SpecUtils/SpecUtils_config.h.in | 19 +------- SpecUtils/StringAlgo.h | 76 +++++++++++++++---------------- SpecUtils/UriSpectrum.h | 52 ++++++++++----------- src/SpecFile.cpp | 24 ---------- src/SpecFile_pcf.cpp | 63 ++++++++++++++++++++----- 16 files changed, 228 insertions(+), 233 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 66bfac5..8180f07 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,6 +283,18 @@ set_target_properties( SpecUtils PROPERTIES PREFIX "lib" OUTPUT_NAME "SpecUtils" # Make so on Windows the functions/classes will be exported target_compile_definitions( SpecUtils PRIVATE SpecUtils_EXPORTS ) +# Include the GenerateExportHeader module +include(GenerateExportHeader) +generate_export_header(SpecUtils + BASE_NAME SpecUtils + EXPORT_FILE_NAME ${CMAKE_BINARY_DIR}/SpecUtilsExport.h +) + +if( NOT SpecUtils_SHARED_LIB ) + target_compile_definitions( SpecUtils PRIVATE SPECUTILS_STATIC_DEFINE ) +endif() + + set( SpecUtils_USE_FAST_FLOAT OFF ) # Uses https://github.com/fastfloat/fast_float . If fast_float.h isnt found, will be fetched set( SpecUtils_USE_FROM_CHARS OFF ) # Supported by MSVC >= 2019, and gcc >= 12. Not supported by Apple clang. In MSVC, about 50% slower than boost::spirit set( SpecUtils_USE_BOOST_SPIRIT OFF ) # Uses boost::spirit, and fasted method (maybe a hair faster than fastfloat) @@ -480,7 +492,7 @@ configure_file( ) LIST(APPEND headers ${SpecUtils_config_OUT}) # Install the headers -install(FILES ${headers} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SpecUtils) +install(FILES ${headers} ${CMAKE_BINARY_DIR}/SpecUtilsExport.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SpecUtils) # Create and install the CMake package configuration files include(CMakePackageConfigHelpers) diff --git a/SpecUtils/CubicSpline.h b/SpecUtils/CubicSpline.h index 7cf684f..efa1e67 100644 --- a/SpecUtils/CubicSpline.h +++ b/SpecUtils/CubicSpline.h @@ -49,7 +49,7 @@ namespace SpecUtils Where x_i and y_i are #CubicSplineNode::x and #CubicSplineNode::y respectively. */ - struct SpecUtils_DLLEXPORT CubicSplineNode + struct SPECUTILS_EXPORT CubicSplineNode { /** The starting x-value of the interval. */ double x; @@ -72,7 +72,7 @@ namespace SpecUtils Will throw exception on error. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector create_cubic_spline( const std::vector> &data, const DerivativeType left_bc_type, @@ -87,7 +87,7 @@ namespace SpecUtils respectively (this is non-standard behavior for cubic splines, but how non-linear deviation pairs are defined). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double eval_cubic_spline( const double x, const std::vector &nodes ); @@ -97,7 +97,7 @@ namespace SpecUtils no duplicate x values (if there are duplicates, the one with the smallest y-value is used). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector create_cubic_spline_for_dev_pairs( const std::vector> &dps ); @@ -113,7 +113,7 @@ namespace SpecUtils See #correction_due_to_dev_pairs for a functioned guaranteed to get you within 0.0001 keV of the correct answer. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector create_inverse_dev_pairs_cubic_spline( const std::vector> &dps ); diff --git a/SpecUtils/D3SpectrumExport.h b/SpecUtils/D3SpectrumExport.h index 4521a9c..0839248 100644 --- a/SpecUtils/D3SpectrumExport.h +++ b/SpecUtils/D3SpectrumExport.h @@ -124,7 +124,7 @@ namespace D3SpectrumExport /** Specifies the options for a single spectrum displayed on the chart */ - struct SpecUtils_DLLEXPORT D3SpectrumOptions + struct SPECUTILS_EXPORT D3SpectrumOptions { D3SpectrumOptions(); //black line, no peaks, scale factor 1.0 @@ -175,7 +175,7 @@ namespace D3SpectrumExport of those state values. */ - struct SpecUtils_DLLEXPORT D3SpectrumChartOptions + struct SPECUTILS_EXPORT D3SpectrumChartOptions { D3SpectrumChartOptions(); D3SpectrumChartOptions( std::string title, diff --git a/SpecUtils/DateTime.h b/SpecUtils/DateTime.h index 3824b04..993be27 100644 --- a/SpecUtils/DateTime.h +++ b/SpecUtils/DateTime.h @@ -38,7 +38,7 @@ namespace SpecUtils This is in analogy with boost::posix_time::ptime, that we upgraded the code from. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool is_special( const time_point_t &t ); //to_iso_string(...) and to_extended_iso_string(...) are implemented here @@ -47,13 +47,13 @@ namespace SpecUtils /** Converts the input time to an iso formatted string. Ex. "20140414T141201.621543" */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string to_iso_string( const time_point_t &t ); /** Converts the input time to an extended iso formatted string. Ex. "2014-04-14T14:12:01.621543" */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string to_extended_iso_string( const time_point_t &t ); /** Converts the input to string in format d-mmm-YYYY HH:MM:SS AM, @@ -61,14 +61,14 @@ namespace SpecUtils Returns "not-a-date-time" if input is not valid. Ex. 24hr format: "9-Sep-2014 15:02:15", AM/PM: "9-Sep-2014 03:02:15 PM" */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string to_common_string( const time_point_t &t, const bool twenty_four_hour ); /** Converts input to the 23 character VAX format "DD-MMM-YYYY HH:MM:SS.SS". Returns empty string if input is not valid. Ex. "19-Sep-2014 14:12:01.62" */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string to_vax_string( time_point_t t ); /** \brief Describes how to attempt to parse date/times when it is ambigous, @@ -114,7 +114,7 @@ namespace SpecUtils Does not throw. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT time_point_t time_from_string( std::string time_string, const DateParseEndianType endian = DateParseEndianType::MiddleEndianFirst ); @@ -133,13 +133,13 @@ namespace SpecUtils more complete implementation, but hasnt been tested against parsing spectrum files. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT float time_duration_string_to_seconds( const char *duration_str, const size_t length ); /** Convenience function for getting time duration from a ISO 8601 like std::string. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT float time_duration_string_to_seconds( const std::string &duration ); /** Converts a string formatted like "[-]h[h][:mm][:ss][.fff]", (ex. "02:15:01.332") to number of @@ -159,7 +159,7 @@ namespace SpecUtils Throws exception if input is invalid. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double delimited_duration_string_to_seconds( const std::string &duration ); /** \brief Gives the CPU time in seconds. @@ -169,7 +169,7 @@ namespace SpecUtils \returns The CPU time in seconds, or on error -DBL_MAX. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double get_cpu_time(); @@ -182,7 +182,7 @@ namespace SpecUtils Note May have an occasional jump of a few seconds on Windows due to a hardware issue (fixed on newer windows/hardware?) */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double get_wall_time(); }//namespace SpecUtils diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index e0958c0..ff3bac4 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -99,7 +99,7 @@ namespace SpecUtils \TODO: move find_gamma_channel, gamma_energy_min/max, gamma_channel_width, gamma_channel_lower/upper/center, etc from #SpecUtils::Measurement to #EnergyCalibration */ - struct SpecUtils_DLLEXPORT EnergyCalibration + struct SPECUTILS_EXPORT EnergyCalibration { /** @returns the energy calibration type. */ EnergyCalType type() const; @@ -320,7 +320,7 @@ namespace SpecUtils Throws exception if channels to combine is 0. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::shared_ptr energy_cal_combine_channels( const EnergyCalibration &orig_cal, const size_t num_channel_combine ); @@ -341,7 +341,7 @@ namespace SpecUtils Throws exception if an invalid energy calibration (i.e., channel energies not increasing) */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::shared_ptr< const std::vector > polynomial_binning( const std::vector &coeffs, const size_t nchannel, @@ -366,7 +366,7 @@ namespace SpecUtils Throws exception if an invalid energy calibration (i.e., channel energies not increasing) */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::shared_ptr< const std::vector > fullrangefraction_binning( const std::vector &coeffs, const size_t nchannel, @@ -388,7 +388,7 @@ namespace SpecUtils Doesnt perform a check that the coefficients or deviation pairs are actually valid. Throws exception if deviation pairs are not sorted. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double fullrangefraction_energy( const double channel_number, const std::vector &coeffs, const size_t nchannel, @@ -410,7 +410,7 @@ namespace SpecUtils Throws exception if deviation pairs are not sorted. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double polynomial_energy( const double channel_number, const std::vector &coeffs, const std::vector> &deviation_pairs ); @@ -447,7 +447,7 @@ namespace SpecUtils be set at 1460 keV - Deviation pairs set to zero would be defined for 239 keV and 2614 keV */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double deviation_pair_correction( const double polynomial_energy, const std::vector> &dev_pairs ); @@ -467,7 +467,7 @@ namespace SpecUtils future this should be able to be made exactly accuate (within numerical limits anyway). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double correction_due_to_dev_pairs( const double true_energy, const std::vector> &dev_pairs ); @@ -487,7 +487,7 @@ namespace SpecUtils Throws exception if resulting energy calibration wont be strictly increasing after applying deviation pair. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::shared_ptr> apply_deviation_pair( const std::vector &binning, const std::vector> &dev_pairs ); @@ -519,7 +519,7 @@ namespace SpecUtils @returns the polynomial coefficients. If input coefficients is empty or number of channels is zero, will return empty vector. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector fullrangefraction_coef_to_polynomial( const std::vector &coeffs, const size_t nchannel ); @@ -529,7 +529,7 @@ namespace SpecUtils the energy given by the equation is the middle of the channel (which is non-standard) to standard full range fraction equation coefficients. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector mid_channel_polynomial_to_fullrangeFraction( const std::vector &coeffs, const size_t nchannel ); @@ -541,7 +541,7 @@ namespace SpecUtils // right. LowerChannelEdge type is check that each bin is increasing over // previous, and that it has at least as many bins as nbin. // InvalidEquationType always returns false. - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool calibration_is_valid( const EnergyCalType type, const std::vector &eqn, const std::vector< std::pair > &devpairs, @@ -564,7 +564,7 @@ namespace SpecUtils Changes the polynomial calibration coefficients Would probably work for adding channels, but untested. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector polynomial_cal_remove_first_channels( const int num_channels_remove, const std::vector &orig_coefs ); @@ -594,7 +594,7 @@ namespace SpecUtils \TODO: Use #correction_due_to_dev_pairs to make it so algabraic approach can always be used. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double find_fullrangefraction_channel( const double energy, const std::vector &coeffs, const size_t nchannel, @@ -624,7 +624,7 @@ namespace SpecUtils Note: that #correction_due_to_dev_pairs is used to correct for deviation pairs when using the, algebraic approach, and currently (20200820) may be correct to only 0.01 keV. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double find_polynomial_channel( const double energy, const std::vector &coeffs, const size_t nchannel, @@ -653,7 +653,7 @@ namespace SpecUtils Throw exception if any input has less than four channels. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void rebin_by_lower_edge( const std::vector &original_energies, const std::vector &original_counts, const std::vector &new_energies, @@ -690,7 +690,7 @@ namespace SpecUtils #END \endverbatim */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::shared_ptr energy_cal_from_CALp_file( std::istream &input, const size_t num_channels, std::string &det_name ); @@ -711,7 +711,7 @@ namespace SpecUtils the original FRF coefficients will be written out after the other content - this is a InterSpec/SpecUtils specific extension of CALp file format. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool write_CALp_file( std::ostream &output, const std::shared_ptr &cal, const std::string &detector_name ); diff --git a/SpecUtils/Filesystem.h b/SpecUtils/Filesystem.h index 7c8ce7d..9d8d471 100644 --- a/SpecUtils/Filesystem.h +++ b/SpecUtils/Filesystem.h @@ -63,14 +63,14 @@ namespace SpecUtils { //The below uses home-spun methods, and hasn't been tested with symbolic links. /** \brief Removes file from the filesystem, returning true if successful. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool remove_file( const std::string &name ); /** \brief Returns if the specified name corresponds to a file that can be read. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool is_file( const std::string &name ); /** Renames a file from source to destination, returning if operation was @@ -80,13 +80,13 @@ namespace SpecUtils Will fail if destination already exists. Will fail is destination is a directory. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool rename_file( const std::string &source, const std::string &destination ); /** \brief Returns if the specified name is a directory that can be accessed on the filesystem. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool is_directory( const std::string &name ); /** Creates specified directory. @@ -95,7 +95,7 @@ namespace SpecUtils - -1 if directory existed - 1 if directory successfully made. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT int create_directory( const std::string &name ); /** Checks that path passed in is a directory, and the current process can @@ -107,7 +107,7 @@ namespace SpecUtils \TODO: for windows move to using `AccessCheck(...)` or just remove this function. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool can_rw_in_directory( const std::string &name ); /** \brief Concatenates parts of a filesystem name according to the operating @@ -117,7 +117,7 @@ namespace SpecUtils or "path\to\file.txt" on Windows. On Windows will convert all '/' characters to '\'. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string append_path( const std::string &base, const std::string &name ); /** \brief Returns just the filename of a path passed in @@ -134,7 +134,7 @@ namespace SpecUtils May throw exception, although very unlikely. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string filename( const std::string &path_and_name ); /** \brief Returns the parent path of the passed in path @@ -175,7 +175,7 @@ namespace SpecUtils May throw exception if input path has illegal characters (e.g., basename(...) (unix) or _wsplitpath_s (win32) fails. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string parent_path( const std::string &path ); /** \brief Returns the extension of a filename, if there is one. @@ -189,12 +189,12 @@ namespace SpecUtils May throw exception if input path has illegal characters (e.g., basename(...) (unix) or _wsplitpath_s (win32) fails. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string file_extension( const std::string &path ); /** \brief Gives the size of the file in bytes. Returns 0 if not a file. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT size_t file_size( const std::string &path ); /** \brief Returns temporary directory as designated by the operating system @@ -207,12 +207,12 @@ namespace SpecUtils Does not check that the returned path is a directory, or that you have read and/or write permissions on it. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string temp_dir(); /** Determines is the path passed in is absolute or not. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool is_absolute_path( const std::string &path ); /** Get the current working directory. @@ -222,7 +222,7 @@ namespace SpecUtils Returns empty string on error. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string get_working_path(); /** \brief Gives a unique file name. @@ -243,7 +243,7 @@ namespace SpecUtils Note: this function is home-spun, so dont rely on it being the best. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string temp_file_name( std::string filebasename, std::string directory ); /** Converts path to a canonical absolute path (no dot, dot-dot or symbolic @@ -261,7 +261,7 @@ namespace SpecUtils arbitrary length, but this would then require dropping support for Windows 7. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool make_canonical_path( std::string &path, const std::string &cwd = "" ); /** Limit of how far down any of the recursive 'ls' functions can recurse down. @@ -294,7 +294,7 @@ namespace SpecUtils \param ending If not empty, only files ending with the specified string will be returned; ending is not case sensitive. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector recursive_ls( const std::string &sourcedir, const std::string &ending = "" ); @@ -315,7 +315,7 @@ namespace SpecUtils \param user_data argument passed to match_fcn to help it make the decision. May be null if match_fcn allows for it to be null. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector recursive_ls( const std::string &sourcedir, file_match_function_t match_fcn, void *user_data ); @@ -330,7 +330,7 @@ namespace SpecUtils \param ending If not empty, only files ending with the specified string will be returned; ending is not case sensistive. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector ls_files_in_directory( const std::string &sourcedir, const std::string &ending = "" ); @@ -346,7 +346,7 @@ namespace SpecUtils a file should be included in the results; this is optional to use according to requirements of your match_fcn. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector ls_files_in_directory( const std::string &sourcedir, file_match_function_t match_fcn, void *match_data ); @@ -362,7 +362,7 @@ namespace SpecUtils get back {"src/path/a", "src/path/b", "src/path/c"}. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector ls_directories_in_directory( const std::string &src ); @@ -384,7 +384,7 @@ namespace SpecUtils assert( fs_relative( "a", "a/b/c") == "b/c"); assert( fs_relative( "a/b/c/x/y", "a/b/c") == "../.."); */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string fs_relative( std::string from_path, std::string to_path ); /** Removes all "." elements; for absolute paths will resolve/remove all ".." @@ -412,7 +412,7 @@ namespace SpecUtils "/.." --> "/" "./foo/bar/." --> "foo/bar" */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string lexically_normalize_path( const std::string &input ); //ToDo: add in path comparisons (which don't resolve files, just use strings) @@ -435,7 +435,7 @@ namespace SpecUtils Throws exception on failure. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void load_file_data( const char * const filename, std::vector &data ); @@ -445,7 +445,7 @@ namespace SpecUtils to not be spectrum files (but may also filter out a small amount of actual spectrum files in practice). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool likely_not_spec_file( const std::string &file ); }//namespace SpecUtils diff --git a/SpecUtils/ParseUtils.h b/SpecUtils/ParseUtils.h index fce99ee..ab108f8 100644 --- a/SpecUtils/ParseUtils.h +++ b/SpecUtils/ParseUtils.h @@ -44,14 +44,14 @@ namespace SpecUtils See code for code source. Note that this function is probably very slow, and could be upgraded. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::istream &safe_get_line( std::istream &is, std::string &t ); /** Same as other variant of #safe_get_line, except allows specifying the maximum number of bytes to read; specifying zero means no limit. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::istream &safe_get_line( std::istream &is, std::string &t, const size_t maxlength ); @@ -62,7 +62,7 @@ namespace SpecUtils value. The value following a zero is rounded to nearest integer (no integer check is performed). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void expand_counted_zeros( const std::vector &data, std::vector &results ); @@ -70,7 +70,7 @@ namespace SpecUtils /** Performs the counted zero compression. Note that contents less than 10.0f*FLT_MIN are assumed to be zeros. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void compress_to_counted_zeros( const std::vector &data, std::vector &results ); @@ -83,7 +83,7 @@ namespace SpecUtils @return Success status of parsing the input string to lat/long */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool parse_deg_min_sec_lat_lon( const char *str, const size_t len, double &lat, double &lon ); @@ -93,24 +93,24 @@ namespace SpecUtils @return on success returns parsed value, or on failure returns -999.9 */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT double conventional_lat_or_long_str_to_flt( std::string input ); /** Checks if abs(latitude) is less or equal to 90. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool valid_latitude( const double latitude ); /** Checks if abs(longitude) is less than or equal to 180. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool valid_longitude( const double longitude ); /** Tries to extract sample number from remark in file - mostly from N42-2006 files. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT int sample_num_from_remark( std::string remark ); //returns -1 on error /** Tries to extract speed from a remark string - mostly from N42-2006, and @@ -123,14 +123,14 @@ namespace SpecUtils Throws exception if not successful. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT float speed_from_remark( std::string remark ); /** Looks for GADRAS style detector names in remarks, or something from the N42 conventions of 'Aa1', 'Aa2', etc. Returns empty string on failure. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string detector_name_from_remark( const std::string &remark ); /** Looks for x position information in remark. @@ -141,7 +141,7 @@ namespace SpecUtils Throws exception if not successful. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT float dx_from_remark( std::string remark ); /** Looks for y position information in remark @@ -152,7 +152,7 @@ namespace SpecUtils Throws exception if not successful. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT float dy_from_remark( std::string remark ); /** Looks for y position information in remark @@ -161,7 +161,7 @@ namespace SpecUtils TODO: does not currently take into account units (e.g., cm) */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT float dz_from_remark( std::string remark ); /** Currently finds strings similar to "@250 cm" that is common in PCF title fields @@ -174,7 +174,7 @@ namespace SpecUtils TODO: Implement more general function like `float distance_from_remark( const std::string & )` */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string distance_from_pcf_title( const std::string &remark ); @@ -186,7 +186,7 @@ namespace SpecUtils Throws exception on error. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT float dose_units_usvPerH( const char *str, const size_t str_length ); @@ -194,7 +194,7 @@ namespace SpecUtils E.x., "PortalMonitor" -> "Portal Monitor", or "SpecPortal" -> "Spectroscopic Portal Monitor" */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT const std::string &convert_n42_instrument_type_from_2006_to_2012( const std::string &input ); diff --git a/SpecUtils/SerialToDetectorModel.h b/SpecUtils/SerialToDetectorModel.h index d741bd2..c35c38b 100644 --- a/SpecUtils/SerialToDetectorModel.h +++ b/SpecUtils/SerialToDetectorModel.h @@ -95,7 +95,7 @@ namespace SerialToDetectorModel was determined, and the fourth column gives other places where data for this detector may be found. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void set_detector_model_input_csv( const std::string &filename ); @@ -145,7 +145,7 @@ namespace SerialToDetectorModel /** return string representation of DetectorModel; exact same as how enum value is defined (e.g., "Unknown", "DetectiveEx100", etc.). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT const std::string &to_str( const DetectorModel model ); @@ -153,7 +153,7 @@ namespace SerialToDetectorModel /** Returns the #DetectorModel based on serial number match, or #DetectorModel::Unknown if the serial number isnt known. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT DetectorModel detective_model_from_serial( const std::string &instrument_id ); @@ -169,11 +169,11 @@ namespace SerialToDetectorModel Returns DetectorModel::UnknownSerialNumber if couldnt figure anything out. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT DetectorModel guess_detective_model_from_serial( const std::string &instrument_id ); - struct SpecUtils_DLLEXPORT DetectorModelInfo + struct SPECUTILS_EXPORT DetectorModelInfo { /** So far, all Detective detector serial numbers I've seen either fit into (some only barely) a 32bit int, or are non-ASCII text. For non ASCII @@ -198,10 +198,10 @@ namespace SerialToDetectorModel #if( PERFORM_DEVELOPER_CHECKS ) - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void write_csv_file( std::ostream &strm ); - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::shared_ptr> serial_informations(); /** Grabbing the serial numbers from binary Ortec files may result is getting @@ -213,7 +213,7 @@ namespace SerialToDetectorModel Note: This function is always implemented for internal use, but only exposed externally if PERFORM_DEVELOPER_CHECKS is enabled. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector candidate_serial_nums_from_str( const std::string &instrument_id ); #endif }//namespace SerialToDetectorModel diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index c725313..9d23279 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -515,7 +515,7 @@ const std::string &detectorTypeToString( const DetectorType type ); using FloatVec = std::vector; using FloatVecPtr = std::shared_ptr; -class SpecUtils_DLLEXPORT Measurement +class SPECUTILS_EXPORT Measurement { public: Measurement(); @@ -1375,7 +1375,7 @@ class CountDose ``` */ -class SpecUtils_DLLEXPORT SpecFile +class SPECUTILS_EXPORT SpecFile { public: SpecFile(); @@ -2797,7 +2797,7 @@ class SpecUtils_DLLEXPORT SpecFile // MinimumDoseRateValue, BackgroundDoseRateValue, // BackgroundDoseRateUncertaintyValue, TotalDoseValue, // as well as more better recording out SourcePosition. -class SpecUtils_DLLEXPORT DetectorAnalysisResult +class SPECUTILS_EXPORT DetectorAnalysisResult { public: std::string remark_; @@ -2844,7 +2844,7 @@ class SpecUtils_DLLEXPORT DetectorAnalysisResult /** A class that aims to eventually be about equivalent of the N42 2012 tag. */ -class SpecUtils_DLLEXPORT DetectorAnalysis +class SPECUTILS_EXPORT DetectorAnalysis { public: //Need to make an association of this with the sample/detector number, and @@ -2919,7 +2919,7 @@ class SpecUtils_DLLEXPORT DetectorAnalysis Currently only the subset of fields relevant to InterSpec is implemented; */ -struct SpecUtils_DLLEXPORT MultimediaData +struct SPECUTILS_EXPORT MultimediaData { /** Corresponds to the N42.42 element. */ std::string remark_; @@ -2989,22 +2989,5 @@ struct SpecUtils_DLLEXPORT MultimediaData #endif };//struct MultimediaData - /** When passed in a N42-2006 Radiation Portal Monitor (RPM) detector name (e.x., "Aa1", "Ba2", "Ad4", etc), gives the - RPM column, panel, and MCA number corresponding to that name, and returns the starting index for the deviation - pairs in a PCF file. - - @param name The detector name to determine the indexes for. If not a valid N42 name (e.x., valid names are like "Aa1", "Ba2", - "Ad4", etc), then all indexes will be set to -1, and -1 returned. Note that name case does not matter (eg "Aa1" is - equivalent to "aa1"). The name must be either two or three letters long. If the name is only two characters long (e.x., "A1", - "B2"), then the column will be assigned an index of zero. - @param [out] col The RPM column determined from the name. Will be in range of [-1, 3]. - @param [out] panel The RPM panel determined from the name. Will be in [-1, 7]. - @param [out] panel The RPM MCA determined from the name. Will be in [-1, 7]. - - @returns The starting index of deviation pairs in the PCF file deviation pairs array. That is, - `col*(8*8*2*20) + panel*(8*2*20) + mca*(2*20)`. - Will be negative one if an non-RPM detector name is passed in. - */ - int pcf_det_name_to_dev_pair_index( std::string name, int &col, int &panel, int &mca ); }//namespace SpecUtils #endif //SpecUtils_SpecFile_h diff --git a/SpecUtils/SpecFile_location.h b/SpecUtils/SpecFile_location.h index f2aa36b..991cbc6 100644 --- a/SpecUtils/SpecFile_location.h +++ b/SpecUtils/SpecFile_location.h @@ -44,7 +44,7 @@ namespace SpecUtils For reading from other formats */ -struct SpecUtils_DLLEXPORT GeographicPoint +struct SPECUTILS_EXPORT GeographicPoint { GeographicPoint(); @@ -96,7 +96,7 @@ struct SpecUtils_DLLEXPORT GeographicPoint #TODO: conversions between cartesian and polar coordinates totally untested! #TODO: Need to put in an Origin, e.g., or */ -struct SpecUtils_DLLEXPORT RelativeLocation +struct SPECUTILS_EXPORT RelativeLocation { RelativeLocation(); @@ -235,7 +235,7 @@ struct SpecUtils_DLLEXPORT RelativeLocation Values are in degrees, not radians. */ -struct SpecUtils_DLLEXPORT Orientation +struct SPECUTILS_EXPORT Orientation { Orientation(); @@ -259,7 +259,7 @@ struct SpecUtils_DLLEXPORT Orientation Note: N42-2012, allows a state to provide Choice of {, , or }, but we currently only implement . */ -struct SpecUtils_DLLEXPORT LocationState +struct SPECUTILS_EXPORT LocationState { LocationState(); diff --git a/SpecUtils/SpecUtilsAsync.h b/SpecUtils/SpecUtilsAsync.h index 2bf236a..145f8d4 100644 --- a/SpecUtils/SpecUtilsAsync.h +++ b/SpecUtils/SpecUtilsAsync.h @@ -56,9 +56,9 @@ namespace SpecUtilsAsync { //num_logical_cpu_cores(): if cpu has hyperthreading this is 2x physical // If SpecUtils_USING_NO_THREADING is true, then returns 1 - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT int num_logical_cpu_cores(); - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT int num_physical_cpu_cores(); @@ -82,7 +82,7 @@ namespace SpecUtilsAsync // do_asyncronous_work). - class SpecUtils_DLLEXPORT ThreadPool + class SPECUTILS_EXPORT ThreadPool { /* ToDo: diff --git a/SpecUtils/SpecUtils_config.h.in b/SpecUtils/SpecUtils_config.h.in index 05c51f0..fed91b8 100644 --- a/SpecUtils/SpecUtils_config.h.in +++ b/SpecUtils/SpecUtils_config.h.in @@ -66,23 +66,6 @@ #define IsNan(x) (std::isnan)(x) #endif -//#ifndef SpecUtils_CALLCONV -// #ifdef _WIN32 -// #define SpecUtils_CALLCONV __cdecl -// #else -// #define SpecUtils_CALLCONV -// #endif -//#endif //SpecUtils_CALLCONV - -#ifdef _WIN32 - #ifdef SpecUtils_EXPORTS - #define SpecUtils_DLLEXPORT __declspec(dllexport) - #else - #define SpecUtils_DLLEXPORT __declspec(dllimport) - #endif -#else - #define SpecUtils_DLLEXPORT -#endif //SpecUtils_DLLEXPORT #if(PERFORM_DEVELOPER_CHECKS) //log_developer_error(...) is implemented in SpecFile.cpp, but @@ -91,4 +74,6 @@ void log_developer_error( const char *location, const char *error ); #endif +#include "SpecUtilsExport.h" + #endif // InterSpec_config_h diff --git a/SpecUtils/StringAlgo.h b/SpecUtils/StringAlgo.h index 587c5e4..1c0ac34 100644 --- a/SpecUtils/StringAlgo.h +++ b/SpecUtils/StringAlgo.h @@ -41,39 +41,39 @@ namespace SpecUtils { /** \brief Removes leading and trailing whitespaces (ex, " \f\n\r\t\v") according to std::isspace. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void trim( std::string &str ); /** \brief Removes leading and trailing whitespaces (" \f\n\r\t\v"). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string trim_copy( std::string str ); /** \brief Converts each ascii letter to lower case, not UTF8 safe/aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void to_lower_ascii( std::string &input ); /** \brief Converts each ascii letter to lower case, not UTF8 safe/aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string to_lower_ascii_copy( std::string input ); /** \brief Converts each ascii letter to upper case, not UTF8 safe/aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void to_upper_ascii( std::string &input ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool iequals_ascii( const char *str, const char *test ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool iequals_ascii( const std::string &str, const char *test ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool iequals_ascii( const std::string &str, const std::string &test ); /** \brief Returns if the substring is contained within the input string. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool contains( const std::string &input, const char *substr ); /** \brief Returns if the substring is contained within the input string, @@ -82,7 +82,7 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool icontains( const std::string &input, const char *substr ); /** \brief Returns if the substring is contained within the input string, @@ -91,7 +91,7 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool icontains( const std::string &input, const std::string &substr ); /** \brief Returns if the substring is contained within the input string, @@ -100,30 +100,30 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool icontains( const char *input, const size_t input_len, const char *substr, const size_t substr_len ); /** \brief Returns if the input starts with the specified substr. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool starts_with( const std::string &input, const char *substr ); /** \brief Returns if the input starts with the specified substr, case independent; is not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool istarts_with( const std::string &line, const char *label ); /** \brief Returns if the input starts with the specified substr, case independent; is not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool istarts_with( const std::string &line, const std::string &label ); /** \brief Returns if the input ends with the specified substr, case independent; is not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool iends_with( const std::string &line, const std::string &label ); /** \brief Case-insensitively finds the substring in the input. @@ -131,13 +131,13 @@ namespace SpecUtils @returns The index of the first occurrence of `substr` in `input`. If `substr` is not in `input`, then returns `std::string::npos`. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT size_t ifind_substr_ascii( const std::string &input, const char * const substr ); /** \brief Removes any character in chars_to_remove from line; is not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void erase_any_character( std::string &line, const char *chars_to_remove ); /** \brief Splits an input string according to specified delimiters. @@ -158,7 +158,7 @@ namespace SpecUtils {",,,hello how are,,", ", "} -> {"hello", "how", "are"} {",,,hello how are,,", ","} -> {"hello how are"} */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void split( std::vector &results, const std::string &input, const char *delims ); @@ -175,14 +175,14 @@ namespace SpecUtils encountered. '\0' cannot be specified as a delimiter, and an empty string will return 0 results if input is empty, and one result otherwise. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void split_no_delim_compress( std::vector &results, const std::string &input, const char *delims ); /** \brief Replaces all (case insensitive) instances of pattern with replacement in input. Not UTF8 or locale aware. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void ireplace_all( std::string &input, const char *pattern, const char *replacement ); @@ -212,7 +212,7 @@ namespace SpecUtils (ex: `str + str_size_bytes` will typically point to a '\0' character, but doesnt have to). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT size_t utf8_str_len( const char * const str, const size_t str_size_bytes ); @@ -221,7 +221,7 @@ namespace SpecUtils \param str input UTF8 encoded string that MUST be null terminated. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT size_t utf8_str_len( const char * const str ); /** \brief Reduces string size to the specified number of bytes, or the @@ -229,7 +229,7 @@ namespace SpecUtils character. Does not include the null terminating byte (e.g., will take max_bytes+1 bytes to represent in a c-string). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void utf8_limit_str_size( std::string &str, const size_t max_bytes ); /** Gives the index to place a null terminating character that is less @@ -245,7 +245,7 @@ namespace SpecUtils \returns The location (index), in bytes, to place the new terminating '\0' character. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT size_t utf8_str_size_limit( const char * const str, size_t num_in_bytes, const size_t max_bytes ); @@ -269,11 +269,11 @@ namespace SpecUtils \param result The result of parsing. If parsing failed, will be 0.0f. \returns True if was able to parse a number, false otherwise. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool parse_float( const char *input, const size_t length, float &result ); /** Same as #parse_float, but for doubles. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool parse_double( const char *input, const size_t length, double &result ); @@ -289,7 +289,7 @@ namespace SpecUtils \param result The result of parsing. If parsing failed, will be 0. \returns True if was able to parse a number, false otherwise. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool parse_int( const char *input, const size_t length, int &result ); /** \brief Parses a string of ascii floats seperated by user specified @@ -328,7 +328,7 @@ namespace SpecUtils \TODO: change this to be range based, instead of zero-terminated string input */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool split_to_floats( const char *input, std::vector &contents, const char * const delims, // = " ,\r\n\t", @@ -364,12 +364,12 @@ namespace SpecUtils - https://github.com/abseil/abseil-cpp/blob/master/absl/strings/charconv.h - https://github.com/simdjson/simdjson/blob/master/src/generic/stage2/numberparsing.h */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool split_to_floats( const char *input, const size_t length, std::vector &results ); /* \brief A convenience function. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool split_to_floats( const std::string &input, std::vector &results ); @@ -384,13 +384,13 @@ namespace SpecUtils be interpreted as ints, and the entire string was consumed during parsing (no trailing text besides delimiters). */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool split_to_ints( const char *input, const size_t length, std::vector &results ); /** Same as split_to_ints, but for long longs. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT bool split_to_long_longs( const char *input, const size_t length, std::vector &results ); @@ -402,7 +402,7 @@ namespace SpecUtils If input is improperly encoded, or other error, will return empty string. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string convert_from_utf16_to_utf8( const std::wstring &wstr ); /** Converts from UTF-8 to UTF-16 strings; primarily useful on Windows. @@ -414,7 +414,7 @@ namespace SpecUtils If input is improperly encoded, or other error, will return empty string. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::wstring convert_from_utf8_to_utf16( const std::string &str ); @@ -430,7 +430,7 @@ namespace SpecUtils Note: this function is hand-rolled, and extremely slow, and likely missing some edge cases or something. There is likely a much more elegant and correct implementation for this. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string printCompact( const double value, const size_t sig_figs ); @@ -440,7 +440,7 @@ namespace SpecUtils For sequences such as {0,1,2,3,4,5,10,99,100,101,102,200}, will return a human readable string similar to "1-5,10,99-102,200" */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string sequencesToBriefString( const std::set &sequence ); //see CompactFileManager::handleUserChangeSampleNum(...) for code that @@ -461,7 +461,7 @@ namespace SpecUtils to return 0. The default value of 128 is arbitrary, but still larger than any of the expected use cases in SpecUtils/InterSpec/Cambio. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT unsigned int levenshtein_distance( const std::string &source, const std::string &target, const size_t max_str_len = 128 ); diff --git a/SpecUtils/UriSpectrum.h b/SpecUtils/UriSpectrum.h index 088e701..473e509 100644 --- a/SpecUtils/UriSpectrum.h +++ b/SpecUtils/UriSpectrum.h @@ -122,7 +122,7 @@ namespace SpecUtils /** Struct that represents information that can be included in a spectrum URL. */ - struct SpecUtils_DLLEXPORT UrlSpectrum + struct SPECUTILS_EXPORT UrlSpectrum { SpecUtils::SourceType m_source_type = SpecUtils::SourceType(4); // There is static_assert in .cpp file to make sure SpecUtils::SourceType::Unknown == 4 std::vector m_energy_cal_coeffs; @@ -146,12 +146,12 @@ namespace SpecUtils std::vector m_channel_data; };//struct UrlSpectrum - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector to_url_spectra( std::vector> specs, std::string detector_model ); - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::shared_ptr to_spec_file( const std::vector &meas ); /** Encodes the specified measurements into one or more URIs. @@ -172,7 +172,7 @@ namespace SpecUtils Throws exception on error. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector url_encode_spectra( const std::vector &measurements, const uint8_t encode_options, const size_t num_parts ); @@ -209,14 +209,14 @@ namespace SpecUtils Throws exception on error. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector url_encode_spectrum( const UrlSpectrum &meas, const uint8_t encode_options, const size_t num_parts, const unsigned int skip_encode_options ); - struct SpecUtils_DLLEXPORT EncodedSpectraInfo + struct SPECUTILS_EXPORT EncodedSpectraInfo { /** See #EncodeOptions for bit meanings. */ uint8_t m_encode_options = 0; @@ -256,13 +256,13 @@ namespace SpecUtils Throws exception on error. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT EncodedSpectraInfo get_spectrum_url_info( std::string url ); - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector spectrum_decode_first_url( const std::string &url ); - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector spectrum_decode_not_first_url( std::string url ); /** Decodes the given urls to a single spectrum (one or more input urls), or @@ -270,7 +270,7 @@ namespace SpecUtils Expects each urls to have already been url-decoded. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector decode_spectrum_urls( std::vector urls ); @@ -278,37 +278,37 @@ namespace SpecUtils The resulting string will only contain characters that can be encoded into a Alphanumeric QR code. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string base45_encode( const std::vector &input ); /** Same as other `base45_encode` function, just takes a string as input. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string base45_encode( const std::string &input ); /** Performs the reverse of `base45_encode`. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector base45_decode( const std::string &input ); /** "base64url" encoding is a URL and filename safe variant of base64 encoding. See: https://datatracker.ietf.org/doc/html/rfc4648#section-5 and: https://en.wikipedia.org/wiki/Base64#Implementations_and_history */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string base64url_encode( const std::string &input, const bool use_padding ); /** Performs "base64url" encoding, same as other function by same name. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string base64url_encode( const std::vector &input, const bool use_padding ); /** Decodes "base64url" encoded strings. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector base64url_decode( const std::string &input ); /** Performs "percent encoding" of the input Converts any non-ascii character, or the characters " $&+,:;=?@'\"<>#%{}|\\^~[]`/" to their percent hex encodings. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string url_encode( const std::string &url ); /** Decodes "percent encoded" strings. @@ -317,25 +317,25 @@ namespace SpecUtils Non-ascii characters will remain the same. If either of the characters following a '%' is not a hex character, the whole three-character sequence will not change. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string url_decode( const std::string &url ); /** Similar to `url_encode`, but only encodes non-ascii characters, as well as "%&;=/?#[]", as specified by RFC 6068. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::string email_encode( const std::string &url ); /** Performs DEFLATE (aka, zip) compression */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void deflate_compress( const void *in_data, size_t in_data_size, std::string &out_data ); /** Performs DEFLATE (aka, zip) compression */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void deflate_compress( const void *in_data, size_t in_data_size, std::vector &out_data ); /** Performs DEFLATE (aka, zip) de-compression */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void deflate_decompress( void *in_data, size_t in_data_size, std::string &out_data ); /** Performs DEFLATE (aka, zip) de-compression */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT void deflate_decompress( void *in_data, size_t in_data_size, std::vector &out_data ); @@ -343,14 +343,14 @@ namespace SpecUtils but pre-pended with a uint16_t to give number of integer entries, has a c++ interface, and is way, way slower, but is a safer in terms of buffer overflow. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT std::vector encode_stream_vbyte( const std::vector &input ); /** Performs the same encoding as `streamvbyte_decode` from https://github.com/lemire/streamvbyte, but assumes data is prepended with uin16_t that gives the number of integer entries, has a c++ interface, is way, way slower, but is a safer in terms of buffer overflow. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT size_t decode_stream_vbyte( const std::vector &inbuff, std::vector &answer ); /** Calculates the "CRC-16/ARC" (Augmented Reversed with Carry) of input string. @@ -366,7 +366,7 @@ namespace SpecUtils This is the equivalent of `boost::crc_16_type`. */ - SpecUtils_DLLEXPORT + SPECUTILS_EXPORT uint16_t calc_CRC16_ARC( const std::string &input ); }//namespace QRSpectrum diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index 9251cf5..5c1443c 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -1121,30 +1121,6 @@ uint32_t Measurement::derived_data_properties() const } -int Measurement::rpm_panel_number() const -{ - int col, panel, mca; - pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); - return panel; -} - - -int Measurement::rpm_column_number() const -{ - int col, panel, mca; - pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); - return col; -} - - -int Measurement::rpm_mca_number() const -{ - int col, panel, mca; - pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); - return mca; -} - - double gamma_integral( const std::shared_ptr &hist, const float minEnergy, const float maxEnergy ) { diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index 2ca5c23..6927e28 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -93,18 +93,22 @@ namespace - int pcf_det_name_to_dev_pair_index( std::string name ) - { - int col, panel, mca; - return SpecUtils::pcf_det_name_to_dev_pair_index( name, col, panel, mca ); - };//pcf_det_name_to_dev_pair_index lambda - -}//namespace - - -namespace SpecUtils -{ - + /** When passed in a N42-2006 Radiation Portal Monitor (RPM) detector name (e.x., "Aa1", "Ba2", "Ad4", etc), gives the + RPM column, panel, and MCA number corresponding to that name, and returns the starting index for the deviation + pairs in a PCF file. + + @param name The detector name to determine the indexes for. If not a valid N42 name (e.x., valid names are like "Aa1", "Ba2", + "Ad4", etc), then all indexes will be set to -1, and -1 returned. Note that name case does not matter (eg "Aa1" is + equivalent to "aa1"). The name must be either two or three letters long. If the name is only two characters long (e.x., "A1", + "B2"), then the column will be assigned an index of zero. + @param [out] col The RPM column determined from the name. Will be in range of [-1, 3]. + @param [out] panel The RPM panel determined from the name. Will be in [-1, 7]. + @param [out] panel The RPM MCA determined from the name. Will be in [-1, 7]. + + @returns The starting index of deviation pairs in the PCF file deviation pairs array. That is, + `col*(8*8*2*20) + panel*(8*2*20) + mca*(2*20)`. + Will be negative one if an non-RPM detector name is passed in. + */ int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) { col = panel = mca = -1; @@ -142,8 +146,43 @@ namespace SpecUtils return col * (8 * 8 * 2 * 20) + panel * (8 * 2 * 20) + mca * (2 * 20); }//int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) + + + int pcf_det_name_to_dev_pair_index( std::string name ) + { + int col, panel, mca; + return pcf_det_name_to_dev_pair_index( name, col, panel, mca ); + };//pcf_det_name_to_dev_pair_index lambda + +}//namespace + + +namespace SpecUtils +{ + +int Measurement::rpm_panel_number() const +{ + int col, panel, mca; + pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); + return panel; +} +int Measurement::rpm_column_number() const +{ + int col, panel, mca; + pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); + return col; +} + + +int Measurement::rpm_mca_number() const +{ + int col, panel, mca; + pcf_det_name_to_dev_pair_index( detector_name_, col, panel, mca ); + return mca; +} + /** Gives the maximum number of channels any spectrum in the file will need to write to PCF file (rounded up to the nearest multiple of 64 channels), as well as a sets a pointer to the lower channel energies to write to the first record, but only if lower channel energy calibration should be used (if FRF should be used, then pointer will be reset to nulltr). From 13592289193ddb89f007663c994cd3a63cfb0df3 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 14:45:23 -0700 Subject: [PATCH 079/100] Fix missed export --- SpecUtils/EnergyCalibration.h | 1 + 1 file changed, 1 insertion(+) diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index ff3bac4..3ff79a8 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -504,6 +504,7 @@ namespace SpecUtils @returns the full range fraction coefficients. If input coefficients is empty or number of channels is zero, will return empty vector. */ + SPECUTILS_EXPORT std::vector polynomial_coef_to_fullrangefraction( const std::vector &coeffs, const size_t nchannel ); From e3ffee457684ed266e3135ba565b1ac416ba8b62 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 14:47:33 -0700 Subject: [PATCH 080/100] Temporarily re-include `pcf_det_name_to_dev_pair_index` so fortran bindings will build. --- SpecUtils/SpecFile.h | 2 ++ src/SpecFile_pcf.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 9d23279..65740e2 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -2989,5 +2989,7 @@ struct SPECUTILS_EXPORT MultimediaData #endif };//struct MultimediaData + /** Temporary include function for fortran tests to pass. */ + int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca); }//namespace SpecUtils #endif //SpecUtils_SpecFile_h diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index 6927e28..a370f02 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -159,7 +159,11 @@ namespace namespace SpecUtils { - + int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) + { + return pcf_det_name_to_dev_pair_index(name, col, panel, mca); + } + int Measurement::rpm_panel_number() const { int col, panel, mca; From 9adcc44d833f39aad1be82c9cc1a877e590f8345 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Mon, 14 Oct 2024 16:11:52 -0700 Subject: [PATCH 081/100] Fix infinite recursion --- src/SpecFile_pcf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SpecFile_pcf.cpp b/src/SpecFile_pcf.cpp index a370f02..5a43edc 100644 --- a/src/SpecFile_pcf.cpp +++ b/src/SpecFile_pcf.cpp @@ -161,7 +161,7 @@ namespace SpecUtils { int pcf_det_name_to_dev_pair_index(std::string name, int &col, int &panel, int &mca) { - return pcf_det_name_to_dev_pair_index(name, col, panel, mca); + return ::pcf_det_name_to_dev_pair_index(name, col, panel, mca); } int Measurement::rpm_panel_number() const From 902074e62809158e186f64f4bee48fc9f4b9b870 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Tue, 15 Oct 2024 10:27:11 -0600 Subject: [PATCH 082/100] add script --- bindings/swig/fortran/build-and-test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bindings/swig/fortran/build-and-test.sh b/bindings/swig/fortran/build-and-test.sh index 7d83d52..2e2b4f9 100644 --- a/bindings/swig/fortran/build-and-test.sh +++ b/bindings/swig/fortran/build-and-test.sh @@ -13,7 +13,7 @@ cmake -S /mnt/c/Projects/code/SpecUtils \ -DSpecUtils_ENABLE_D3_CHART=OFF \ -DSpecUtils_USING_NO_THREADING=ON \ -DSpecUtils_D3_SUPPORT_FILE_STATIC=OFF \ - -DSpecUtils_ENABLE_URI_SPECTRA=OFF \ + -DSpecUtils_ENABLE_URI_SPECTRA=ON \ -DCMAKE_BUILD_TYPE=Release \ -DSpecUtils_FLT_PARSE_METHOD=FastFloat \ -DSpecUtils_FETCH_FAST_FLOAT=ON \ From f1c5e48f031677d40523c182cb5ddd78ca8bc859 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 15:13:56 -0600 Subject: [PATCH 083/100] add install --- bindings/swig/fortran/CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 5e6e1bc..84cee92 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -12,4 +12,12 @@ if( SpecUtils_BUILD_UNIT_TESTS ) add_executable(test_specutils_fortran test_specutils_fortran.f90 ) target_link_libraries(test_specutils_fortran test_drive specutils_fortran ) add_test(NAME test_specutils_fortran COMMAND test_specutils_fortran) -endif( SpecUtils_BUILD_UNIT_TESTS ) \ No newline at end of file +endif( SpecUtils_BUILD_UNIT_TESTS ) + + + +# Install the library +install(TARGETS specutils_fortran_wrap + EXPORT SpecUtilsTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # For shared libraries on UNIX-like systems +) From bf77e65d3babf769cc9b57aca7afe6d77fc7ef45 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 15:22:48 -0600 Subject: [PATCH 084/100] Turn off c-bindings --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4743703..05fb917 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -50,7 +50,7 @@ jobs: - name: Configure CMake on Windows if: runner.os == 'Windows' - run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=ON -DCMAKE_INSTALL_PREFIX=install_prefix + run: cmake -S ${{ github.workspace }} -B build -DSpecUtils_BUILD_UNIT_TESTS=ON -DSpecUtils_BUILD_REGRESSION_TEST=ON -DSpecUtils_ENABLE_EQUALITY_CHECKS=ON -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DSpecUtils_C_BINDINGS=OFF -DCMAKE_INSTALL_PREFIX=install_prefix # On linux we will perform developer checks and compile as debug to catch asserts - name: Configure CMake on Linux From a93c8c87301a08efa6fe9bb19dc6a46d4a2be1fb Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 17:25:29 -0600 Subject: [PATCH 085/100] add -fPic --- bindings/swig/fortran/CMakeLists.txt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 84cee92..5697d12 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -1,8 +1,9 @@ cmake_minimum_required (VERSION 3.25) project (specutils-swig-fortran Fortran CXX C) -add_library(specutils_fortran_wrap SHARED SpecUtilsFortran_wrap.cxx ) -add_library(specutils_fortran SpecUtilsWrap.f90 ) +add_library(specutils_fortran_wrap SpecUtilsFortran_wrap.cxx ) +set_property(TARGET specutils_fortran_wrap PROPERTY POSITION_INDEPENDENT_CODE ON ) +add_library(specutils_fortran SHARED SpecUtilsWrap.f90 ) target_link_libraries(specutils_fortran_wrap PUBLIC SpecUtils) target_compile_options(specutils_fortran PUBLIC -ffree-line-length-none -ffixed-line-length-150) target_link_libraries(specutils_fortran PRIVATE specutils_fortran_wrap) @@ -12,12 +13,12 @@ if( SpecUtils_BUILD_UNIT_TESTS ) add_executable(test_specutils_fortran test_specutils_fortran.f90 ) target_link_libraries(test_specutils_fortran test_drive specutils_fortran ) add_test(NAME test_specutils_fortran COMMAND test_specutils_fortran) -endif( SpecUtils_BUILD_UNIT_TESTS ) +endif() # Install the library -install(TARGETS specutils_fortran_wrap +install(TARGETS specutils_fortran EXPORT SpecUtilsTargets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # For shared libraries on UNIX-like systems ) From 5b47ea272b8a8253724462584d6fd67caaa77312 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 18:07:15 -0600 Subject: [PATCH 086/100] Revert "Turn building C bindings on for CI build" This reverts commit 53b503986377d0fb1d6ecd3e3e1fe4e85a6973b8. --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 05fb917..fe8468c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,7 +75,7 @@ jobs: - name: Package Lib if: runner.os == 'Windows' run: | - cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF -DSpecUtils_C_BINDINGS=ON + cmake -S ${{ github.workspace }} -B build_static_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_static_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_shared_runtime --config Release --target package echo "Files present after package build_static_lib_shared_runtime" ls @@ -83,7 +83,7 @@ jobs: ls build_static_lib_shared_runtime/Release ls build_static_lib_shared_runtime/x64/Release # - cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON -DSpecUtils_C_BINDINGS=ON + cmake -S ${{ github.workspace }} -B build_shared_lib_shared_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_shared_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=ON -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_shared_runtime --config Release --target package echo "Files present after package build_shared_lib_shared_runtime" ls @@ -91,7 +91,7 @@ jobs: ls build_shared_lib_shared_runtime/Release ls build_shared_lib_shared_runtime/x64/Release # - cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON -DSpecUtils_C_BINDINGS=ON + cmake -S ${{ github.workspace }} -B build_shared_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_shared_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=ON cmake --build build_shared_lib_static_runtime --config Release --target package echo "Files present after package build_shared_lib_static_runtime" ls @@ -99,7 +99,7 @@ jobs: ls build_shared_lib_static_runtime/Release ls build_shared_lib_static_runtime/x64/Release # - cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF -DSpecUtils_C_BINDINGS=ON + cmake -S ${{ github.workspace }} -B build_static_lib_static_runtime -DSpecUtils_BUILD_UNIT_TESTS=OFF -DSpecUtils_BUILD_REGRESSION_TEST=OFF -DSpecUtils_ENABLE_EQUALITY_CHECKS=OFF -DPERFORM_DEVELOPER_CHECKS=OFF -DSpecUtils_ENABLE_D3_CHART=ON -DSpecUtils_D3_SUPPORT_FILE_STATIC=ON -DSpecUtils_ENABLE_URI_SPECTRA=OFF -DCMAKE_BUILD_TYPE=Release -DSpecUtils_FLT_PARSE_METHOD=${{ matrix.num-parse-method }} -DSpecUtils_FETCH_FAST_FLOAT=ON -DCMAKE_INSTALL_PREFIX=install_prefix_build_static_lib_static_runtime -DSpecUtils_USE_MSVC_MultiThreadDLL=OFF -DSpecUtils_SHARED_LIB=OFF cmake --build build_static_lib_static_runtime --config Release --target package echo "Files present after package build_static_lib_static_runtime" ls From 301ee76bf5a2c72d34902249a94354593b16d272 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 18:16:42 -0600 Subject: [PATCH 087/100] Revert "Add exporting classes/structs/functions for Windows DLLs." This reverts commit 160b5bd2692b903dd9fade0dd0b6243685f3c0d2. --- CMakeLists.txt | 2 - SpecUtils/CubicSpline.h | 6 +- SpecUtils/D3SpectrumExport.h | 4 +- SpecUtils/DateTime.h | 11 - SpecUtils/EnergyCalibration.h | 21 +- SpecUtils/Filesystem.h | 35 +-- SpecUtils/ParseUtils.h | 17 -- SpecUtils/SerialToDetectorModel.h | 9 +- SpecUtils/SpecFile.h | 10 +- SpecUtils/SpecFile_location.h | 8 +- SpecUtils/SpecUtilsAsync.h | 4 +- SpecUtils/SpecUtils_config.h.in | 1 - SpecUtils/StringAlgo.h | 40 +-- SpecUtils/UriSpectrum.h | 28 +- bindings/c/SpecUtils_c.cpp | 467 ++++++++++++------------------ bindings/c/SpecUtils_c.h | 336 +++++++++++---------- 16 files changed, 370 insertions(+), 629 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8180f07..224c112 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -280,8 +280,6 @@ endif( SpecUtils_SHARED_LIB ) add_library( SpecUtils ${SpecUtils_LIB_TYPE} ${sources} ${headers} ${OTHER_SUPPORT_FILES} ) set_target_properties( SpecUtils PROPERTIES PREFIX "lib" OUTPUT_NAME "SpecUtils" ) -# Make so on Windows the functions/classes will be exported -target_compile_definitions( SpecUtils PRIVATE SpecUtils_EXPORTS ) # Include the GenerateExportHeader module include(GenerateExportHeader) diff --git a/SpecUtils/CubicSpline.h b/SpecUtils/CubicSpline.h index efa1e67..5cc2584 100644 --- a/SpecUtils/CubicSpline.h +++ b/SpecUtils/CubicSpline.h @@ -49,7 +49,7 @@ namespace SpecUtils Where x_i and y_i are #CubicSplineNode::x and #CubicSplineNode::y respectively. */ - struct SPECUTILS_EXPORT CubicSplineNode + struct CubicSplineNode { /** The starting x-value of the interval. */ double x; @@ -72,7 +72,6 @@ namespace SpecUtils Will throw exception on error. */ - SPECUTILS_EXPORT std::vector create_cubic_spline( const std::vector> &data, const DerivativeType left_bc_type, @@ -87,7 +86,6 @@ namespace SpecUtils respectively (this is non-standard behavior for cubic splines, but how non-linear deviation pairs are defined). */ - SPECUTILS_EXPORT double eval_cubic_spline( const double x, const std::vector &nodes ); @@ -97,7 +95,6 @@ namespace SpecUtils no duplicate x values (if there are duplicates, the one with the smallest y-value is used). */ - SPECUTILS_EXPORT std::vector create_cubic_spline_for_dev_pairs( const std::vector> &dps ); @@ -113,7 +110,6 @@ namespace SpecUtils See #correction_due_to_dev_pairs for a functioned guaranteed to get you within 0.0001 keV of the correct answer. */ - SPECUTILS_EXPORT std::vector create_inverse_dev_pairs_cubic_spline( const std::vector> &dps ); diff --git a/SpecUtils/D3SpectrumExport.h b/SpecUtils/D3SpectrumExport.h index 0839248..20e4bc2 100644 --- a/SpecUtils/D3SpectrumExport.h +++ b/SpecUtils/D3SpectrumExport.h @@ -124,7 +124,7 @@ namespace D3SpectrumExport /** Specifies the options for a single spectrum displayed on the chart */ - struct SPECUTILS_EXPORT D3SpectrumOptions + struct D3SpectrumOptions { D3SpectrumOptions(); //black line, no peaks, scale factor 1.0 @@ -175,7 +175,7 @@ namespace D3SpectrumExport of those state values. */ - struct SPECUTILS_EXPORT D3SpectrumChartOptions + struct D3SpectrumChartOptions { D3SpectrumChartOptions(); D3SpectrumChartOptions( std::string title, diff --git a/SpecUtils/DateTime.h b/SpecUtils/DateTime.h index 993be27..ea13c21 100644 --- a/SpecUtils/DateTime.h +++ b/SpecUtils/DateTime.h @@ -38,7 +38,6 @@ namespace SpecUtils This is in analogy with boost::posix_time::ptime, that we upgraded the code from. */ - SPECUTILS_EXPORT bool is_special( const time_point_t &t ); //to_iso_string(...) and to_extended_iso_string(...) are implemented here @@ -47,13 +46,11 @@ namespace SpecUtils /** Converts the input time to an iso formatted string. Ex. "20140414T141201.621543" */ - SPECUTILS_EXPORT std::string to_iso_string( const time_point_t &t ); /** Converts the input time to an extended iso formatted string. Ex. "2014-04-14T14:12:01.621543" */ - SPECUTILS_EXPORT std::string to_extended_iso_string( const time_point_t &t ); /** Converts the input to string in format d-mmm-YYYY HH:MM:SS AM, @@ -61,14 +58,12 @@ namespace SpecUtils Returns "not-a-date-time" if input is not valid. Ex. 24hr format: "9-Sep-2014 15:02:15", AM/PM: "9-Sep-2014 03:02:15 PM" */ - SPECUTILS_EXPORT std::string to_common_string( const time_point_t &t, const bool twenty_four_hour ); /** Converts input to the 23 character VAX format "DD-MMM-YYYY HH:MM:SS.SS". Returns empty string if input is not valid. Ex. "19-Sep-2014 14:12:01.62" */ - SPECUTILS_EXPORT std::string to_vax_string( time_point_t t ); /** \brief Describes how to attempt to parse date/times when it is ambigous, @@ -114,7 +109,6 @@ namespace SpecUtils Does not throw. */ - SPECUTILS_EXPORT time_point_t time_from_string( std::string time_string, const DateParseEndianType endian = DateParseEndianType::MiddleEndianFirst ); @@ -133,13 +127,11 @@ namespace SpecUtils more complete implementation, but hasnt been tested against parsing spectrum files. */ - SPECUTILS_EXPORT float time_duration_string_to_seconds( const char *duration_str, const size_t length ); /** Convenience function for getting time duration from a ISO 8601 like std::string. */ - SPECUTILS_EXPORT float time_duration_string_to_seconds( const std::string &duration ); /** Converts a string formatted like "[-]h[h][:mm][:ss][.fff]", (ex. "02:15:01.332") to number of @@ -159,7 +151,6 @@ namespace SpecUtils Throws exception if input is invalid. */ - SPECUTILS_EXPORT double delimited_duration_string_to_seconds( const std::string &duration ); /** \brief Gives the CPU time in seconds. @@ -169,7 +160,6 @@ namespace SpecUtils \returns The CPU time in seconds, or on error -DBL_MAX. */ - SPECUTILS_EXPORT double get_cpu_time(); @@ -182,7 +172,6 @@ namespace SpecUtils Note May have an occasional jump of a few seconds on Windows due to a hardware issue (fixed on newer windows/hardware?) */ - SPECUTILS_EXPORT double get_wall_time(); }//namespace SpecUtils diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index 3ff79a8..2b92d6d 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -99,7 +99,7 @@ namespace SpecUtils \TODO: move find_gamma_channel, gamma_energy_min/max, gamma_channel_width, gamma_channel_lower/upper/center, etc from #SpecUtils::Measurement to #EnergyCalibration */ - struct SPECUTILS_EXPORT EnergyCalibration + struct EnergyCalibration { /** @returns the energy calibration type. */ EnergyCalType type() const; @@ -320,7 +320,6 @@ namespace SpecUtils Throws exception if channels to combine is 0. */ - SPECUTILS_EXPORT std::shared_ptr energy_cal_combine_channels( const EnergyCalibration &orig_cal, const size_t num_channel_combine ); @@ -341,7 +340,6 @@ namespace SpecUtils Throws exception if an invalid energy calibration (i.e., channel energies not increasing) */ - SPECUTILS_EXPORT std::shared_ptr< const std::vector > polynomial_binning( const std::vector &coeffs, const size_t nchannel, @@ -366,7 +364,6 @@ namespace SpecUtils Throws exception if an invalid energy calibration (i.e., channel energies not increasing) */ - SPECUTILS_EXPORT std::shared_ptr< const std::vector > fullrangefraction_binning( const std::vector &coeffs, const size_t nchannel, @@ -388,7 +385,6 @@ namespace SpecUtils Doesnt perform a check that the coefficients or deviation pairs are actually valid. Throws exception if deviation pairs are not sorted. */ - SPECUTILS_EXPORT double fullrangefraction_energy( const double channel_number, const std::vector &coeffs, const size_t nchannel, @@ -410,7 +406,6 @@ namespace SpecUtils Throws exception if deviation pairs are not sorted. */ - SPECUTILS_EXPORT double polynomial_energy( const double channel_number, const std::vector &coeffs, const std::vector> &deviation_pairs ); @@ -447,7 +442,6 @@ namespace SpecUtils be set at 1460 keV - Deviation pairs set to zero would be defined for 239 keV and 2614 keV */ - SPECUTILS_EXPORT double deviation_pair_correction( const double polynomial_energy, const std::vector> &dev_pairs ); @@ -467,7 +461,6 @@ namespace SpecUtils future this should be able to be made exactly accuate (within numerical limits anyway). */ - SPECUTILS_EXPORT double correction_due_to_dev_pairs( const double true_energy, const std::vector> &dev_pairs ); @@ -487,7 +480,6 @@ namespace SpecUtils Throws exception if resulting energy calibration wont be strictly increasing after applying deviation pair. */ - SPECUTILS_EXPORT std::shared_ptr> apply_deviation_pair( const std::vector &binning, const std::vector> &dev_pairs ); @@ -520,7 +512,6 @@ namespace SpecUtils @returns the polynomial coefficients. If input coefficients is empty or number of channels is zero, will return empty vector. */ - SPECUTILS_EXPORT std::vector fullrangefraction_coef_to_polynomial( const std::vector &coeffs, const size_t nchannel ); @@ -530,7 +521,6 @@ namespace SpecUtils the energy given by the equation is the middle of the channel (which is non-standard) to standard full range fraction equation coefficients. */ - SPECUTILS_EXPORT std::vector mid_channel_polynomial_to_fullrangeFraction( const std::vector &coeffs, const size_t nchannel ); @@ -542,7 +532,6 @@ namespace SpecUtils // right. LowerChannelEdge type is check that each bin is increasing over // previous, and that it has at least as many bins as nbin. // InvalidEquationType always returns false. - SPECUTILS_EXPORT bool calibration_is_valid( const EnergyCalType type, const std::vector &eqn, const std::vector< std::pair > &devpairs, @@ -565,7 +554,6 @@ namespace SpecUtils Changes the polynomial calibration coefficients Would probably work for adding channels, but untested. */ - SPECUTILS_EXPORT std::vector polynomial_cal_remove_first_channels( const int num_channels_remove, const std::vector &orig_coefs ); @@ -595,7 +583,6 @@ namespace SpecUtils \TODO: Use #correction_due_to_dev_pairs to make it so algabraic approach can always be used. */ - SPECUTILS_EXPORT double find_fullrangefraction_channel( const double energy, const std::vector &coeffs, const size_t nchannel, @@ -623,9 +610,8 @@ namespace SpecUtils binary search is performed to find the bin that comes within the specified accuracy. Note: that #correction_due_to_dev_pairs is used to correct for deviation pairs when using the, - algebraic approach, and currently (20200820) may be correct to only 0.01 keV. + algebraic appoach, and currently (20200820) may be correct to only 0.01 keV. */ - SPECUTILS_EXPORT double find_polynomial_channel( const double energy, const std::vector &coeffs, const size_t nchannel, @@ -654,7 +640,6 @@ namespace SpecUtils Throw exception if any input has less than four channels. */ - SPECUTILS_EXPORT void rebin_by_lower_edge( const std::vector &original_energies, const std::vector &original_counts, const std::vector &new_energies, @@ -691,7 +676,6 @@ namespace SpecUtils #END \endverbatim */ - SPECUTILS_EXPORT std::shared_ptr energy_cal_from_CALp_file( std::istream &input, const size_t num_channels, std::string &det_name ); @@ -712,7 +696,6 @@ namespace SpecUtils the original FRF coefficients will be written out after the other content - this is a InterSpec/SpecUtils specific extension of CALp file format. */ - SPECUTILS_EXPORT bool write_CALp_file( std::ostream &output, const std::shared_ptr &cal, const std::string &detector_name ); diff --git a/SpecUtils/Filesystem.h b/SpecUtils/Filesystem.h index 9d8d471..82d6c24 100644 --- a/SpecUtils/Filesystem.h +++ b/SpecUtils/Filesystem.h @@ -63,14 +63,11 @@ namespace SpecUtils { //The below uses home-spun methods, and hasn't been tested with symbolic links. /** \brief Removes file from the filesystem, returning true if successful. */ - SPECUTILS_EXPORT bool remove_file( const std::string &name ); /** \brief Returns if the specified name corresponds to a file that can be - read. - */ - SPECUTILS_EXPORT + read. */ bool is_file( const std::string &name ); /** Renames a file from source to destination, returning if operation was @@ -80,13 +77,10 @@ namespace SpecUtils Will fail if destination already exists. Will fail is destination is a directory. */ - SPECUTILS_EXPORT bool rename_file( const std::string &source, const std::string &destination ); /** \brief Returns if the specified name is a directory that can be accessed - on the filesystem. - */ - SPECUTILS_EXPORT + on the filesystem. */ bool is_directory( const std::string &name ); /** Creates specified directory. @@ -95,7 +89,6 @@ namespace SpecUtils - -1 if directory existed - 1 if directory successfully made. */ - SPECUTILS_EXPORT int create_directory( const std::string &name ); /** Checks that path passed in is a directory, and the current process can @@ -107,7 +100,6 @@ namespace SpecUtils \TODO: for windows move to using `AccessCheck(...)` or just remove this function. */ - SPECUTILS_EXPORT bool can_rw_in_directory( const std::string &name ); /** \brief Concatenates parts of a filesystem name according to the operating @@ -117,7 +109,6 @@ namespace SpecUtils or "path\to\file.txt" on Windows. On Windows will convert all '/' characters to '\'. */ - SPECUTILS_EXPORT std::string append_path( const std::string &base, const std::string &name ); /** \brief Returns just the filename of a path passed in @@ -134,7 +125,6 @@ namespace SpecUtils May throw exception, although very unlikely. */ - SPECUTILS_EXPORT std::string filename( const std::string &path_and_name ); /** \brief Returns the parent path of the passed in path @@ -175,7 +165,6 @@ namespace SpecUtils May throw exception if input path has illegal characters (e.g., basename(...) (unix) or _wsplitpath_s (win32) fails. */ - SPECUTILS_EXPORT std::string parent_path( const std::string &path ); /** \brief Returns the extension of a filename, if there is one. @@ -189,12 +178,10 @@ namespace SpecUtils May throw exception if input path has illegal characters (e.g., basename(...) (unix) or _wsplitpath_s (win32) fails. */ - SPECUTILS_EXPORT std::string file_extension( const std::string &path ); /** \brief Gives the size of the file in bytes. Returns 0 if not a file. */ - SPECUTILS_EXPORT size_t file_size( const std::string &path ); /** \brief Returns temporary directory as designated by the operating system @@ -207,22 +194,19 @@ namespace SpecUtils Does not check that the returned path is a directory, or that you have read and/or write permissions on it. */ - SPECUTILS_EXPORT std::string temp_dir(); /** Determines is the path passed in is absolute or not. */ - SPECUTILS_EXPORT bool is_absolute_path( const std::string &path ); /** Get the current working directory. - Be careful if using multiple threads, and another thread could change the + Becareful if using multiple threads, and another thread could change the current working directory; Returns empty string on error. */ - SPECUTILS_EXPORT std::string get_working_path(); /** \brief Gives a unique file name. @@ -243,7 +227,6 @@ namespace SpecUtils Note: this function is home-spun, so dont rely on it being the best. */ - SPECUTILS_EXPORT std::string temp_file_name( std::string filebasename, std::string directory ); /** Converts path to a canonical absolute path (no dot, dot-dot or symbolic @@ -261,7 +244,6 @@ namespace SpecUtils arbitrary length, but this would then require dropping support for Windows 7. */ - SPECUTILS_EXPORT bool make_canonical_path( std::string &path, const std::string &cwd = "" ); /** Limit of how far down any of the recursive 'ls' functions can recurse down. @@ -294,7 +276,6 @@ namespace SpecUtils \param ending If not empty, only files ending with the specified string will be returned; ending is not case sensitive. */ - SPECUTILS_EXPORT std::vector recursive_ls( const std::string &sourcedir, const std::string &ending = "" ); @@ -315,7 +296,6 @@ namespace SpecUtils \param user_data argument passed to match_fcn to help it make the decision. May be null if match_fcn allows for it to be null. */ - SPECUTILS_EXPORT std::vector recursive_ls( const std::string &sourcedir, file_match_function_t match_fcn, void *user_data ); @@ -330,7 +310,6 @@ namespace SpecUtils \param ending If not empty, only files ending with the specified string will be returned; ending is not case sensistive. */ - SPECUTILS_EXPORT std::vector ls_files_in_directory( const std::string &sourcedir, const std::string &ending = "" ); @@ -344,9 +323,8 @@ namespace SpecUtils \param match_fcn Function that determines if a result should be included. \param match_data Data that will be passed to match_fcn to help decide if a file should be included in the results; this is optional to use - according to requirements of your match_fcn. + according to requirments of your match_fcn. */ - SPECUTILS_EXPORT std::vector ls_files_in_directory( const std::string &sourcedir, file_match_function_t match_fcn, void *match_data ); @@ -362,7 +340,6 @@ namespace SpecUtils get back {"src/path/a", "src/path/b", "src/path/c"}. */ - SPECUTILS_EXPORT std::vector ls_directories_in_directory( const std::string &src ); @@ -384,7 +361,6 @@ namespace SpecUtils assert( fs_relative( "a", "a/b/c") == "b/c"); assert( fs_relative( "a/b/c/x/y", "a/b/c") == "../.."); */ - SPECUTILS_EXPORT std::string fs_relative( std::string from_path, std::string to_path ); /** Removes all "." elements; for absolute paths will resolve/remove all ".." @@ -412,7 +388,6 @@ namespace SpecUtils "/.." --> "/" "./foo/bar/." --> "foo/bar" */ - SPECUTILS_EXPORT std::string lexically_normalize_path( const std::string &input ); //ToDo: add in path comparisons (which don't resolve files, just use strings) @@ -435,7 +410,6 @@ namespace SpecUtils Throws exception on failure. */ - SPECUTILS_EXPORT void load_file_data( const char * const filename, std::vector &data ); @@ -445,7 +419,6 @@ namespace SpecUtils to not be spectrum files (but may also filter out a small amount of actual spectrum files in practice). */ - SPECUTILS_EXPORT bool likely_not_spec_file( const std::string &file ); }//namespace SpecUtils diff --git a/SpecUtils/ParseUtils.h b/SpecUtils/ParseUtils.h index ab108f8..1dfaef8 100644 --- a/SpecUtils/ParseUtils.h +++ b/SpecUtils/ParseUtils.h @@ -44,14 +44,12 @@ namespace SpecUtils See code for code source. Note that this function is probably very slow, and could be upgraded. */ - SPECUTILS_EXPORT std::istream &safe_get_line( std::istream &is, std::string &t ); /** Same as other variant of #safe_get_line, except allows specifying the maximum number of bytes to read; specifying zero means no limit. */ - SPECUTILS_EXPORT std::istream &safe_get_line( std::istream &is, std::string &t, const size_t maxlength ); @@ -62,7 +60,6 @@ namespace SpecUtils value. The value following a zero is rounded to nearest integer (no integer check is performed). */ - SPECUTILS_EXPORT void expand_counted_zeros( const std::vector &data, std::vector &results ); @@ -70,7 +67,6 @@ namespace SpecUtils /** Performs the counted zero compression. Note that contents less than 10.0f*FLT_MIN are assumed to be zeros. */ - SPECUTILS_EXPORT void compress_to_counted_zeros( const std::vector &data, std::vector &results ); @@ -83,7 +79,6 @@ namespace SpecUtils @return Success status of parsing the input string to lat/long */ - SPECUTILS_EXPORT bool parse_deg_min_sec_lat_lon( const char *str, const size_t len, double &lat, double &lon ); @@ -93,24 +88,20 @@ namespace SpecUtils @return on success returns parsed value, or on failure returns -999.9 */ - SPECUTILS_EXPORT double conventional_lat_or_long_str_to_flt( std::string input ); /** Checks if abs(latitude) is less or equal to 90. */ - SPECUTILS_EXPORT bool valid_latitude( const double latitude ); /** Checks if abs(longitude) is less than or equal to 180. */ - SPECUTILS_EXPORT bool valid_longitude( const double longitude ); /** Tries to extract sample number from remark in file - mostly from N42-2006 files. */ - SPECUTILS_EXPORT int sample_num_from_remark( std::string remark ); //returns -1 on error /** Tries to extract speed from a remark string - mostly from N42-2006, and @@ -123,14 +114,12 @@ namespace SpecUtils Throws exception if not successful. */ - SPECUTILS_EXPORT float speed_from_remark( std::string remark ); /** Looks for GADRAS style detector names in remarks, or something from the N42 conventions of 'Aa1', 'Aa2', etc. Returns empty string on failure. */ - SPECUTILS_EXPORT std::string detector_name_from_remark( const std::string &remark ); /** Looks for x position information in remark. @@ -141,7 +130,6 @@ namespace SpecUtils Throws exception if not successful. */ - SPECUTILS_EXPORT float dx_from_remark( std::string remark ); /** Looks for y position information in remark @@ -152,7 +140,6 @@ namespace SpecUtils Throws exception if not successful. */ - SPECUTILS_EXPORT float dy_from_remark( std::string remark ); /** Looks for y position information in remark @@ -161,7 +148,6 @@ namespace SpecUtils TODO: does not currently take into account units (e.g., cm) */ - SPECUTILS_EXPORT float dz_from_remark( std::string remark ); /** Currently finds strings similar to "@250 cm" that is common in PCF title fields @@ -174,7 +160,6 @@ namespace SpecUtils TODO: Implement more general function like `float distance_from_remark( const std::string & )` */ - SPECUTILS_EXPORT std::string distance_from_pcf_title( const std::string &remark ); @@ -186,7 +171,6 @@ namespace SpecUtils Throws exception on error. */ - SPECUTILS_EXPORT float dose_units_usvPerH( const char *str, const size_t str_length ); @@ -194,7 +178,6 @@ namespace SpecUtils E.x., "PortalMonitor" -> "Portal Monitor", or "SpecPortal" -> "Spectroscopic Portal Monitor" */ - SPECUTILS_EXPORT const std::string &convert_n42_instrument_type_from_2006_to_2012( const std::string &input ); diff --git a/SpecUtils/SerialToDetectorModel.h b/SpecUtils/SerialToDetectorModel.h index c35c38b..26d5a8a 100644 --- a/SpecUtils/SerialToDetectorModel.h +++ b/SpecUtils/SerialToDetectorModel.h @@ -95,7 +95,6 @@ namespace SerialToDetectorModel was determined, and the fourth column gives other places where data for this detector may be found. */ - SPECUTILS_EXPORT void set_detector_model_input_csv( const std::string &filename ); @@ -145,7 +144,6 @@ namespace SerialToDetectorModel /** return string representation of DetectorModel; exact same as how enum value is defined (e.g., "Unknown", "DetectiveEx100", etc.). */ - SPECUTILS_EXPORT const std::string &to_str( const DetectorModel model ); @@ -153,7 +151,6 @@ namespace SerialToDetectorModel /** Returns the #DetectorModel based on serial number match, or #DetectorModel::Unknown if the serial number isnt known. */ - SPECUTILS_EXPORT DetectorModel detective_model_from_serial( const std::string &instrument_id ); @@ -169,11 +166,10 @@ namespace SerialToDetectorModel Returns DetectorModel::UnknownSerialNumber if couldnt figure anything out. */ - SPECUTILS_EXPORT DetectorModel guess_detective_model_from_serial( const std::string &instrument_id ); - struct SPECUTILS_EXPORT DetectorModelInfo + struct DetectorModelInfo { /** So far, all Detective detector serial numbers I've seen either fit into (some only barely) a 32bit int, or are non-ASCII text. For non ASCII @@ -198,10 +194,8 @@ namespace SerialToDetectorModel #if( PERFORM_DEVELOPER_CHECKS ) - SPECUTILS_EXPORT void write_csv_file( std::ostream &strm ); - SPECUTILS_EXPORT std::shared_ptr> serial_informations(); /** Grabbing the serial numbers from binary Ortec files may result is getting @@ -213,7 +207,6 @@ namespace SerialToDetectorModel Note: This function is always implemented for internal use, but only exposed externally if PERFORM_DEVELOPER_CHECKS is enabled. */ - SPECUTILS_EXPORT std::vector candidate_serial_nums_from_str( const std::string &instrument_id ); #endif }//namespace SerialToDetectorModel diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 65740e2..620dd3f 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -515,7 +515,7 @@ const std::string &detectorTypeToString( const DetectorType type ); using FloatVec = std::vector; using FloatVecPtr = std::shared_ptr; -class SPECUTILS_EXPORT Measurement +class Measurement { public: Measurement(); @@ -1375,7 +1375,7 @@ class CountDose ``` */ -class SPECUTILS_EXPORT SpecFile +class SpecFile { public: SpecFile(); @@ -2797,7 +2797,7 @@ class SPECUTILS_EXPORT SpecFile // MinimumDoseRateValue, BackgroundDoseRateValue, // BackgroundDoseRateUncertaintyValue, TotalDoseValue, // as well as more better recording out SourcePosition. -class SPECUTILS_EXPORT DetectorAnalysisResult +class DetectorAnalysisResult { public: std::string remark_; @@ -2844,7 +2844,7 @@ class SPECUTILS_EXPORT DetectorAnalysisResult /** A class that aims to eventually be about equivalent of the N42 2012 tag. */ -class SPECUTILS_EXPORT DetectorAnalysis +class DetectorAnalysis { public: //Need to make an association of this with the sample/detector number, and @@ -2919,7 +2919,7 @@ class SPECUTILS_EXPORT DetectorAnalysis Currently only the subset of fields relevant to InterSpec is implemented; */ -struct SPECUTILS_EXPORT MultimediaData +struct MultimediaData { /** Corresponds to the N42.42 element. */ std::string remark_; diff --git a/SpecUtils/SpecFile_location.h b/SpecUtils/SpecFile_location.h index 991cbc6..68c7a14 100644 --- a/SpecUtils/SpecFile_location.h +++ b/SpecUtils/SpecFile_location.h @@ -44,7 +44,7 @@ namespace SpecUtils For reading from other formats */ -struct SPECUTILS_EXPORT GeographicPoint +struct GeographicPoint { GeographicPoint(); @@ -96,7 +96,7 @@ struct SPECUTILS_EXPORT GeographicPoint #TODO: conversions between cartesian and polar coordinates totally untested! #TODO: Need to put in an Origin, e.g., or */ -struct SPECUTILS_EXPORT RelativeLocation +struct RelativeLocation { RelativeLocation(); @@ -235,7 +235,7 @@ struct SPECUTILS_EXPORT RelativeLocation Values are in degrees, not radians. */ -struct SPECUTILS_EXPORT Orientation +struct Orientation { Orientation(); @@ -259,7 +259,7 @@ struct SPECUTILS_EXPORT Orientation Note: N42-2012, allows a state to provide Choice of {, , or }, but we currently only implement . */ -struct SPECUTILS_EXPORT LocationState +struct LocationState { LocationState(); diff --git a/SpecUtils/SpecUtilsAsync.h b/SpecUtils/SpecUtilsAsync.h index 145f8d4..c6f105f 100644 --- a/SpecUtils/SpecUtilsAsync.h +++ b/SpecUtils/SpecUtilsAsync.h @@ -56,9 +56,7 @@ namespace SpecUtilsAsync { //num_logical_cpu_cores(): if cpu has hyperthreading this is 2x physical // If SpecUtils_USING_NO_THREADING is true, then returns 1 - SPECUTILS_EXPORT int num_logical_cpu_cores(); - SPECUTILS_EXPORT int num_physical_cpu_cores(); @@ -82,7 +80,7 @@ namespace SpecUtilsAsync // do_asyncronous_work). - class SPECUTILS_EXPORT ThreadPool + class ThreadPool { /* ToDo: diff --git a/SpecUtils/SpecUtils_config.h.in b/SpecUtils/SpecUtils_config.h.in index fed91b8..d8e5d9a 100644 --- a/SpecUtils/SpecUtils_config.h.in +++ b/SpecUtils/SpecUtils_config.h.in @@ -66,7 +66,6 @@ #define IsNan(x) (std::isnan)(x) #endif - #if(PERFORM_DEVELOPER_CHECKS) //log_developer_error(...) is implemented in SpecFile.cpp, but // declared here so can be used everywhere. diff --git a/SpecUtils/StringAlgo.h b/SpecUtils/StringAlgo.h index 1c0ac34..fe3a21d 100644 --- a/SpecUtils/StringAlgo.h +++ b/SpecUtils/StringAlgo.h @@ -41,39 +41,30 @@ namespace SpecUtils { /** \brief Removes leading and trailing whitespaces (ex, " \f\n\r\t\v") according to std::isspace. */ - SPECUTILS_EXPORT void trim( std::string &str ); /** \brief Removes leading and trailing whitespaces (" \f\n\r\t\v"). */ - SPECUTILS_EXPORT std::string trim_copy( std::string str ); /** \brief Converts each ascii letter to lower case, not UTF8 safe/aware. */ - SPECUTILS_EXPORT void to_lower_ascii( std::string &input ); /** \brief Converts each ascii letter to lower case, not UTF8 safe/aware. */ - SPECUTILS_EXPORT std::string to_lower_ascii_copy( std::string input ); /** \brief Converts each ascii letter to upper case, not UTF8 safe/aware. */ - SPECUTILS_EXPORT void to_upper_ascii( std::string &input ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ - SPECUTILS_EXPORT bool iequals_ascii( const char *str, const char *test ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ - SPECUTILS_EXPORT bool iequals_ascii( const std::string &str, const char *test ); /** \brief Case independent string comparison. Not UTF8 or locale aware. */ - SPECUTILS_EXPORT bool iequals_ascii( const std::string &str, const std::string &test ); /** \brief Returns if the substring is contained within the input string. */ - SPECUTILS_EXPORT bool contains( const std::string &input, const char *substr ); /** \brief Returns if the substring is contained within the input string, @@ -82,7 +73,6 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ - SPECUTILS_EXPORT bool icontains( const std::string &input, const char *substr ); /** \brief Returns if the substring is contained within the input string, @@ -91,7 +81,6 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ - SPECUTILS_EXPORT bool icontains( const std::string &input, const std::string &substr ); /** \brief Returns if the substring is contained within the input string, @@ -100,30 +89,25 @@ namespace SpecUtils if `substr` is empty, will return false, which may be different than behavior of `boost::algorithm::icontains(...)`. */ - SPECUTILS_EXPORT bool icontains( const char *input, const size_t input_len, const char *substr, const size_t substr_len ); /** \brief Returns if the input starts with the specified substr. */ - SPECUTILS_EXPORT bool starts_with( const std::string &input, const char *substr ); /** \brief Returns if the input starts with the specified substr, case independent; is not UTF8 or locale aware. */ - SPECUTILS_EXPORT bool istarts_with( const std::string &line, const char *label ); /** \brief Returns if the input starts with the specified substr, case independent; is not UTF8 or locale aware. */ - SPECUTILS_EXPORT bool istarts_with( const std::string &line, const std::string &label ); /** \brief Returns if the input ends with the specified substr, case independent; is not UTF8 or locale aware. */ - SPECUTILS_EXPORT bool iends_with( const std::string &line, const std::string &label ); /** \brief Case-insensitively finds the substring in the input. @@ -131,13 +115,11 @@ namespace SpecUtils @returns The index of the first occurrence of `substr` in `input`. If `substr` is not in `input`, then returns `std::string::npos`. */ - SPECUTILS_EXPORT size_t ifind_substr_ascii( const std::string &input, const char * const substr ); /** \brief Removes any character in chars_to_remove from line; is not UTF8 or locale aware. */ - SPECUTILS_EXPORT void erase_any_character( std::string &line, const char *chars_to_remove ); /** \brief Splits an input string according to specified delimiters. @@ -158,7 +140,6 @@ namespace SpecUtils {",,,hello how are,,", ", "} -> {"hello", "how", "are"} {",,,hello how are,,", ","} -> {"hello how are"} */ - SPECUTILS_EXPORT void split( std::vector &results, const std::string &input, const char *delims ); @@ -175,14 +156,12 @@ namespace SpecUtils encountered. '\0' cannot be specified as a delimiter, and an empty string will return 0 results if input is empty, and one result otherwise. */ - SPECUTILS_EXPORT void split_no_delim_compress( std::vector &results, const std::string &input, const char *delims ); /** \brief Replaces all (case insensitive) instances of pattern with replacement in input. Not UTF8 or locale aware. */ - SPECUTILS_EXPORT void ireplace_all( std::string &input, const char *pattern, const char *replacement ); @@ -212,7 +191,6 @@ namespace SpecUtils (ex: `str + str_size_bytes` will typically point to a '\0' character, but doesnt have to). */ - SPECUTILS_EXPORT size_t utf8_str_len( const char * const str, const size_t str_size_bytes ); @@ -221,7 +199,6 @@ namespace SpecUtils \param str input UTF8 encoded string that MUST be null terminated. */ - SPECUTILS_EXPORT size_t utf8_str_len( const char * const str ); /** \brief Reduces string size to the specified number of bytes, or the @@ -229,7 +206,6 @@ namespace SpecUtils character. Does not include the null terminating byte (e.g., will take max_bytes+1 bytes to represent in a c-string). */ - SPECUTILS_EXPORT void utf8_limit_str_size( std::string &str, const size_t max_bytes ); /** Gives the index to place a null terminating character that is less @@ -245,7 +221,6 @@ namespace SpecUtils \returns The location (index), in bytes, to place the new terminating '\0' character. */ - SPECUTILS_EXPORT size_t utf8_str_size_limit( const char * const str, size_t num_in_bytes, const size_t max_bytes ); @@ -269,11 +244,9 @@ namespace SpecUtils \param result The result of parsing. If parsing failed, will be 0.0f. \returns True if was able to parse a number, false otherwise. */ - SPECUTILS_EXPORT bool parse_float( const char *input, const size_t length, float &result ); /** Same as #parse_float, but for doubles. */ - SPECUTILS_EXPORT bool parse_double( const char *input, const size_t length, double &result ); @@ -289,7 +262,6 @@ namespace SpecUtils \param result The result of parsing. If parsing failed, will be 0. \returns True if was able to parse a number, false otherwise. */ - SPECUTILS_EXPORT bool parse_int( const char *input, const size_t length, int &result ); /** \brief Parses a string of ascii floats seperated by user specified @@ -328,7 +300,6 @@ namespace SpecUtils \TODO: change this to be range based, instead of zero-terminated string input */ - SPECUTILS_EXPORT bool split_to_floats( const char *input, std::vector &contents, const char * const delims, // = " ,\r\n\t", @@ -364,12 +335,10 @@ namespace SpecUtils - https://github.com/abseil/abseil-cpp/blob/master/absl/strings/charconv.h - https://github.com/simdjson/simdjson/blob/master/src/generic/stage2/numberparsing.h */ - SPECUTILS_EXPORT bool split_to_floats( const char *input, const size_t length, std::vector &results ); /* \brief A convenience function. */ - SPECUTILS_EXPORT bool split_to_floats( const std::string &input, std::vector &results ); @@ -384,13 +353,11 @@ namespace SpecUtils be interpreted as ints, and the entire string was consumed during parsing (no trailing text besides delimiters). */ - SPECUTILS_EXPORT bool split_to_ints( const char *input, const size_t length, std::vector &results ); /** Same as split_to_ints, but for long longs. */ - SPECUTILS_EXPORT bool split_to_long_longs( const char *input, const size_t length, std::vector &results ); @@ -402,8 +369,7 @@ namespace SpecUtils If input is improperly encoded, or other error, will return empty string. */ - SPECUTILS_EXPORT - std::string convert_from_utf16_to_utf8( const std::wstring &wstr ); + std::string convert_from_utf16_to_utf8( const std::wstring &wstr ); /** Converts from UTF-8 to UTF-16 strings; primarily useful on Windows. @@ -414,7 +380,6 @@ namespace SpecUtils If input is improperly encoded, or other error, will return empty string. */ - SPECUTILS_EXPORT std::wstring convert_from_utf8_to_utf16( const std::string &str ); @@ -430,7 +395,6 @@ namespace SpecUtils Note: this function is hand-rolled, and extremely slow, and likely missing some edge cases or something. There is likely a much more elegant and correct implementation for this. */ - SPECUTILS_EXPORT std::string printCompact( const double value, const size_t sig_figs ); @@ -440,7 +404,6 @@ namespace SpecUtils For sequences such as {0,1,2,3,4,5,10,99,100,101,102,200}, will return a human readable string similar to "1-5,10,99-102,200" */ - SPECUTILS_EXPORT std::string sequencesToBriefString( const std::set &sequence ); //see CompactFileManager::handleUserChangeSampleNum(...) for code that @@ -461,7 +424,6 @@ namespace SpecUtils to return 0. The default value of 128 is arbitrary, but still larger than any of the expected use cases in SpecUtils/InterSpec/Cambio. */ - SPECUTILS_EXPORT unsigned int levenshtein_distance( const std::string &source, const std::string &target, const size_t max_str_len = 128 ); diff --git a/SpecUtils/UriSpectrum.h b/SpecUtils/UriSpectrum.h index 473e509..b5ecbca 100644 --- a/SpecUtils/UriSpectrum.h +++ b/SpecUtils/UriSpectrum.h @@ -122,7 +122,7 @@ namespace SpecUtils /** Struct that represents information that can be included in a spectrum URL. */ - struct SPECUTILS_EXPORT UrlSpectrum + struct UrlSpectrum { SpecUtils::SourceType m_source_type = SpecUtils::SourceType(4); // There is static_assert in .cpp file to make sure SpecUtils::SourceType::Unknown == 4 std::vector m_energy_cal_coeffs; @@ -146,12 +146,10 @@ namespace SpecUtils std::vector m_channel_data; };//struct UrlSpectrum - SPECUTILS_EXPORT std::vector to_url_spectra( std::vector> specs, std::string detector_model ); - SPECUTILS_EXPORT std::shared_ptr to_spec_file( const std::vector &meas ); /** Encodes the specified measurements into one or more URIs. @@ -172,7 +170,6 @@ namespace SpecUtils Throws exception on error. */ - SPECUTILS_EXPORT std::vector url_encode_spectra( const std::vector &measurements, const uint8_t encode_options, const size_t num_parts ); @@ -209,14 +206,13 @@ namespace SpecUtils Throws exception on error. */ - SPECUTILS_EXPORT std::vector url_encode_spectrum( const UrlSpectrum &meas, const uint8_t encode_options, const size_t num_parts, const unsigned int skip_encode_options ); - struct SPECUTILS_EXPORT EncodedSpectraInfo + struct EncodedSpectraInfo { /** See #EncodeOptions for bit meanings. */ uint8_t m_encode_options = 0; @@ -256,13 +252,10 @@ namespace SpecUtils Throws exception on error. */ - SPECUTILS_EXPORT EncodedSpectraInfo get_spectrum_url_info( std::string url ); - SPECUTILS_EXPORT std::vector spectrum_decode_first_url( const std::string &url ); - SPECUTILS_EXPORT std::vector spectrum_decode_not_first_url( std::string url ); /** Decodes the given urls to a single spectrum (one or more input urls), or @@ -270,7 +263,6 @@ namespace SpecUtils Expects each urls to have already been url-decoded. */ - SPECUTILS_EXPORT std::vector decode_spectrum_urls( std::vector urls ); @@ -278,37 +270,30 @@ namespace SpecUtils The resulting string will only contain characters that can be encoded into a Alphanumeric QR code. */ - SPECUTILS_EXPORT std::string base45_encode( const std::vector &input ); /** Same as other `base45_encode` function, just takes a string as input. */ - SPECUTILS_EXPORT std::string base45_encode( const std::string &input ); /** Performs the reverse of `base45_encode`. */ - SPECUTILS_EXPORT std::vector base45_decode( const std::string &input ); /** "base64url" encoding is a URL and filename safe variant of base64 encoding. See: https://datatracker.ietf.org/doc/html/rfc4648#section-5 and: https://en.wikipedia.org/wiki/Base64#Implementations_and_history */ - SPECUTILS_EXPORT std::string base64url_encode( const std::string &input, const bool use_padding ); /** Performs "base64url" encoding, same as other function by same name. */ - SPECUTILS_EXPORT std::string base64url_encode( const std::vector &input, const bool use_padding ); /** Decodes "base64url" encoded strings. */ - SPECUTILS_EXPORT std::vector base64url_decode( const std::string &input ); /** Performs "percent encoding" of the input Converts any non-ascii character, or the characters " $&+,:;=?@'\"<>#%{}|\\^~[]`/" to their percent hex encodings. */ - SPECUTILS_EXPORT std::string url_encode( const std::string &url ); /** Decodes "percent encoded" strings. @@ -317,25 +302,19 @@ namespace SpecUtils Non-ascii characters will remain the same. If either of the characters following a '%' is not a hex character, the whole three-character sequence will not change. */ - SPECUTILS_EXPORT std::string url_decode( const std::string &url ); /** Similar to `url_encode`, but only encodes non-ascii characters, as well as "%&;=/?#[]", as specified by RFC 6068. */ - SPECUTILS_EXPORT std::string email_encode( const std::string &url ); /** Performs DEFLATE (aka, zip) compression */ - SPECUTILS_EXPORT void deflate_compress( const void *in_data, size_t in_data_size, std::string &out_data ); /** Performs DEFLATE (aka, zip) compression */ - SPECUTILS_EXPORT void deflate_compress( const void *in_data, size_t in_data_size, std::vector &out_data ); /** Performs DEFLATE (aka, zip) de-compression */ - SPECUTILS_EXPORT void deflate_decompress( void *in_data, size_t in_data_size, std::string &out_data ); /** Performs DEFLATE (aka, zip) de-compression */ - SPECUTILS_EXPORT void deflate_decompress( void *in_data, size_t in_data_size, std::vector &out_data ); @@ -343,14 +322,12 @@ namespace SpecUtils but pre-pended with a uint16_t to give number of integer entries, has a c++ interface, and is way, way slower, but is a safer in terms of buffer overflow. */ - SPECUTILS_EXPORT std::vector encode_stream_vbyte( const std::vector &input ); /** Performs the same encoding as `streamvbyte_decode` from https://github.com/lemire/streamvbyte, but assumes data is prepended with uin16_t that gives the number of integer entries, has a c++ interface, is way, way slower, but is a safer in terms of buffer overflow. */ - SPECUTILS_EXPORT size_t decode_stream_vbyte( const std::vector &inbuff, std::vector &answer ); /** Calculates the "CRC-16/ARC" (Augmented Reversed with Carry) of input string. @@ -366,7 +343,6 @@ namespace SpecUtils This is the equivalent of `boost::crc_16_type`. */ - SPECUTILS_EXPORT uint16_t calc_CRC16_ARC( const std::string &input ); }//namespace QRSpectrum diff --git a/bindings/c/SpecUtils_c.cpp b/bindings/c/SpecUtils_c.cpp index 1325f53..854a901 100644 --- a/bindings/c/SpecUtils_c.cpp +++ b/bindings/c/SpecUtils_c.cpp @@ -413,16 +413,14 @@ namespace // - private functions for this file }//namespace - private functions for this file -SpecUtils_SpecFile * SpecUtils_C_CALLCONV -SpecUtils_SpecFile_create() +SpecUtils_SpecFile *SpecUtils_SpecFile_create() { SpecUtils::SpecFile *ptr = new SpecUtils::SpecFile(); return reinterpret_cast( ptr ); } -SpecUtils_SpecFile * SpecUtils_C_CALLCONV -SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const instance ) +SpecUtils_SpecFile *SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const instance ) { try { @@ -443,8 +441,7 @@ SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const instance ) } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ) +void SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ) { assert( instance ); SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -453,8 +450,7 @@ SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ) } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile *rhs ) +void SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile *rhs ) { try { @@ -475,8 +471,7 @@ SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile } -bool SpecUtils_C_CALLCONV -SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filename ) +bool SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filename ) { assert( instance ); if( !instance ) @@ -489,8 +484,7 @@ SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filename ) } -bool SpecUtils_C_CALLCONV -SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, +bool SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, const char * const filename, const SpecUtils_ParserType type ) { @@ -512,8 +506,7 @@ SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, -bool SpecUtils_C_CALLCONV -SpecUtils_write_to_file( SpecUtils_SpecFile *instance, +bool SpecUtils_write_to_file( SpecUtils_SpecFile *instance, const char *filename, SpecUtils_SaveSpectrumAsType type ) { @@ -538,8 +531,7 @@ SpecUtils_write_to_file( SpecUtils_SpecFile *instance, -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -547,8 +539,7 @@ SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ) } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -556,8 +547,7 @@ SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instanc } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -565,7 +555,7 @@ SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const insta } -const SpecUtils_Measurement * SpecUtils_C_CALLCONV +const SpecUtils_Measurement * SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const instance, const uint32_t index ) { @@ -578,7 +568,7 @@ SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const in } -const SpecUtils_Measurement * SpecUtils_C_CALLCONV +const SpecUtils_Measurement * SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * const instance, const int sample_number, const char * const det_name ) @@ -595,7 +585,7 @@ SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * con } -uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -603,7 +593,7 @@ uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_detectors( const SpecUti } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_name( const SpecUtils_SpecFile * const instance, +const char *SpecUtils_SpecFile_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ) { assert( instance ); @@ -619,7 +609,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_name( const SpecUt } -uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -627,7 +617,7 @@ uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_gamma_detectors( const S } -const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_gamma_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ) { @@ -644,7 +634,7 @@ SpecUtils_SpecFile_gamma_detector_name( const SpecUtils_SpecFile * const instanc } -uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_neutron_detectors( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_neutron_detectors( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); @@ -652,7 +642,7 @@ uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_neutron_detectors( const } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const instance, +const char * SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ) { assert( instance ); @@ -668,15 +658,20 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_detector_name( cons } -uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ) { assert( instance ); const SpecUtils::SpecFile *ptr = reinterpret_cast( instance ); return ptr ? static_cast(ptr->sample_numbers().size()) : uint32_t(0); } - -int SpecUtils_C_CALLCONV +/** Returns the sample number, for a given index. + + @param instance The `SpecUtils_SpecFile` to access. + @param index Inclusively between 0 and `SpecUtils_SpecFile_number_samples(instance) - 1`. + @returns The sample number for the given index. If index is invalid, returns `INT_MIN` + */ +DLLEXPORT int CALLINGCONVENTION SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, const uint32_t index ) { assert( instance ); @@ -692,7 +687,7 @@ SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, con } -bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, +bool SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, SpecUtils_Measurement *measurement, const bool do_cleanup ) { @@ -708,7 +703,7 @@ bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile } -bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, +bool SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, const SpecUtils_Measurement * const measurement, const bool do_cleanup ) { @@ -725,7 +720,7 @@ bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecF } -bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurements( SpecUtils_SpecFile * instance, +bool SpecUtils_SpecFile_remove_measurements( SpecUtils_SpecFile * instance, const SpecUtils_Measurement ** const measurements, const uint32_t number_to_remove ) { @@ -751,7 +746,7 @@ bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_remove_measurements( SpecUtils_Spec } -void SpecUtils_C_CALLCONV SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ) +void SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); if( specfile ) @@ -759,7 +754,7 @@ void SpecUtils_C_CALLCONV SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instanc } -void SpecUtils_C_CALLCONV SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, +void SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, const bool dont_change_sample_numbers, const bool reorder_by_time ) { @@ -779,7 +774,7 @@ void SpecUtils_C_CALLCONV SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * insta } -bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -787,7 +782,7 @@ bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_modified( const SpecUtils_SpecFile } -SpecUtils_Measurement * SpecUtils_C_CALLCONV +SpecUtils_Measurement * SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, const int * const sample_numbers, const uint32_t number_sample_numbers, @@ -815,7 +810,7 @@ SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, }// -uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_memmorysize( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_memmorysize( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -823,7 +818,7 @@ uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_memmorysize( const SpecUtils_Sp } -uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_remarks( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_remarks( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -831,7 +826,7 @@ uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_remarks( const SpecUtils } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, +const char *SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, const uint32_t index ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -845,7 +840,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_remark( const SpecUtils_Spe } -uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_parse_warnings( const SpecUtils_SpecFile * const instance ) +uint32_t SpecUtils_SpecFile_number_parse_warnings( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -853,7 +848,7 @@ uint32_t SpecUtils_C_CALLCONV SpecUtils_SpecFile_number_parse_warnings( const Sp } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_parse_warning( const SpecUtils_SpecFile * const instance, +const char *SpecUtils_SpecFile_parse_warning( const SpecUtils_SpecFile * const instance, const uint32_t index ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -867,7 +862,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_parse_warning( const SpecUt } -float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_live_time( const SpecUtils_SpecFile * const instance ) +float SpecUtils_SpecFile_sum_gamma_live_time( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -875,7 +870,7 @@ float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_live_time( const SpecUti } -float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_real_time( const SpecUtils_SpecFile * const instance ) +float SpecUtils_SpecFile_sum_gamma_real_time( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -883,7 +878,7 @@ float SpecUtils_C_CALLCONV SpecUtils_SpecFile_sum_gamma_real_time( const SpecUti } -double SpecUtils_C_CALLCONV SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_SpecFile * const instance ) +double SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -891,7 +886,7 @@ double SpecUtils_C_CALLCONV SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_ } -double SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_counts_sum( const SpecUtils_SpecFile * const instance ) +double SpecUtils_SpecFile_neutron_counts_sum( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -899,7 +894,7 @@ double SpecUtils_C_CALLCONV SpecUtils_SpecFile_neutron_counts_sum( const SpecUti } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_filename( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_filename( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -912,7 +907,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_filename( const SpecUtils_S } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_uuid( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_uuid( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -925,7 +920,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_uuid( const SpecUtils_SpecF } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_location_name( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_measurement_location_name( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -938,7 +933,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_location_name( } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_operator( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_measurement_operator( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -951,7 +946,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_measurement_operator( const } -SpecUtils_DetectorType SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ) +SpecUtils_DetectorType SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -963,7 +958,7 @@ SpecUtils_DetectorType SpecUtils_C_CALLCONV SpecUtils_SpecFile_detector_type( co } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_type( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_instrument_type( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -976,7 +971,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_type( const Spec } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_manufacturer( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_manufacturer( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -989,7 +984,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_manufacturer( const SpecUti } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_model( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_instrument_model( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1002,7 +997,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_model( const Spe } -const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_id( const SpecUtils_SpecFile * const instance ) +const char *SpecUtils_SpecFile_instrument_id( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1015,7 +1010,7 @@ const char * SpecUtils_C_CALLCONV SpecUtils_SpecFile_instrument_id( const SpecUt } -bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1023,8 +1018,7 @@ bool SpecUtils_C_CALLCONV SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecF } -double SpecUtils_C_CALLCONV -SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instance ) +double SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1032,8 +1026,7 @@ SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instance ) } -double SpecUtils_C_CALLCONV -SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const instance ) +double SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1041,8 +1034,7 @@ SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const instance ) } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1050,8 +1042,7 @@ SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const insta } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * const instance ) +bool SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * const instance ) { const SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); @@ -1059,8 +1050,7 @@ SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * const i } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, const char * const filename ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1070,8 +1060,7 @@ SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks ) { @@ -1091,8 +1080,7 @@ SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, const char * const remark ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1102,8 +1090,7 @@ SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, const char ** const warnings, const uint32_t number_warnings ) { @@ -1123,8 +1110,7 @@ SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, const char * const file_uuid ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1134,18 +1120,15 @@ SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_lane_number( SpecUtils_SpecFile *instance, const int num ) +void SpecUtils_SpecFile_set_lane_number( SpecUtils_SpecFile *instance, const int num ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); assert( specfile ); if( specfile ) specfile->set_lane_number( num ); } - - -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *instance, + +void SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *instance, const char * const location_name ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1155,8 +1138,7 @@ SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, const char * const inspection_type ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1166,8 +1148,7 @@ SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, const char * const instrument_type ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1177,8 +1158,7 @@ SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, const SpecUtils_DetectorType type ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1191,8 +1171,7 @@ SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, const char * const manufacturer_name ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1202,8 +1181,7 @@ SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, const char * const model ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1213,8 +1191,7 @@ SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, +void SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, const char * const serial_number ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1224,8 +1201,7 @@ SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, const char * const original_name, const char * const new_name ) { @@ -1250,8 +1226,7 @@ SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, +bool set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, const char * const CALp_filepath ) { SpecUtils::SpecFile *specfile = reinterpret_cast( instance ); @@ -1283,8 +1258,7 @@ set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, const float live_time, const SpecUtils_Measurement * const measurement ) { @@ -1298,8 +1272,7 @@ SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, const float real_time, const SpecUtils_Measurement * const measurement ) { @@ -1313,8 +1286,7 @@ SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, const int64_t microseconds_since_unix_epoch, const SpecUtils_Measurement * const measurement ) { @@ -1331,8 +1303,7 @@ SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, const char *date_time, const SpecUtils_Measurement * const measurement ) { @@ -1351,8 +1322,7 @@ SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks, const SpecUtils_Measurement * const measurement ) @@ -1372,8 +1342,7 @@ SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, const SpecUtils_SourceType type, const SpecUtils_Measurement * const measurement ) { @@ -1404,8 +1373,7 @@ SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, const double longitude, const double latitude, const int64_t microseconds_since_unix_epoch, @@ -1432,8 +1400,7 @@ SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile *instance, const char * const title, const SpecUtils_Measurement * const measurement ) { @@ -1446,8 +1413,7 @@ SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *instance, const bool contained, const float counts, const float neutron_live_time, const SpecUtils_Measurement * const measurement ) @@ -1467,8 +1433,7 @@ SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *insta } -bool SpecUtils_C_CALLCONV -SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *instance, +bool SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *instance, SpecUtils_CountedRef_EnergyCal *energy_cal, const SpecUtils_Measurement * const measurement ) { @@ -1495,16 +1460,14 @@ SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *insta } -SpecUtils_Measurement * SpecUtils_C_CALLCONV -SpecUtils_Measurement_create() +SpecUtils_Measurement *SpecUtils_Measurement_create() { SpecUtils::Measurement *m = new SpecUtils::Measurement(); return reinterpret_cast( m ); } -SpecUtils_Measurement * SpecUtils_C_CALLCONV -SpecUtils_Measurement_clone( const SpecUtils_Measurement * const instance ) +SpecUtils_Measurement * SpecUtils_Measurement_clone( const SpecUtils_Measurement * const instance ) { try { @@ -1527,8 +1490,7 @@ SpecUtils_Measurement_clone( const SpecUtils_Measurement * const instance ) } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ) +void SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1537,8 +1499,7 @@ SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ) } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1546,8 +1507,7 @@ SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const instance } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtils_Measurement *rhs ) +void SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtils_Measurement *rhs ) { try { @@ -1568,8 +1528,7 @@ SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtils_Mea } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ) +void SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1578,8 +1537,7 @@ SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ) } -const char * SpecUtils_C_CALLCONV -SpecUtils_Measurement_description( const SpecUtils_Measurement * const instance ) +const char *SpecUtils_Measurement_description( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1591,8 +1549,7 @@ SpecUtils_Measurement_description( const SpecUtils_Measurement * const instance } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, const char * const description_cstr ) { auto m = reinterpret_cast( instance ); @@ -1602,8 +1559,7 @@ SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, } -const char * SpecUtils_C_CALLCONV -SpecUtils_Measurement_source_string( const SpecUtils_Measurement * const instance ) +const char *SpecUtils_Measurement_source_string( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1615,8 +1571,7 @@ SpecUtils_Measurement_source_string( const SpecUtils_Measurement * const instanc } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, const char * const source_string_cstr ) { auto m = reinterpret_cast( instance ); @@ -1626,8 +1581,7 @@ SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, const float *counts, const uint32_t nchannels, const float live_time, @@ -1646,8 +1600,7 @@ SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, const float * const counts, const uint32_t num_tubes, const float neutron_live_time ) @@ -1664,8 +1617,7 @@ SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, }//SpecUtils_Measurement_set_neutron_counts(...) -const char * SpecUtils_C_CALLCONV -SpecUtils_Measurement_title( const SpecUtils_Measurement * const instance ) +const char *SpecUtils_Measurement_title( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1677,8 +1629,7 @@ SpecUtils_Measurement_title( const SpecUtils_Measurement * const instance ) } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, const char * const title ) { auto m = reinterpret_cast( instance ); @@ -1688,8 +1639,7 @@ SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, } -int64_t SpecUtils_C_CALLCONV -SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance ) +int64_t SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1707,8 +1657,7 @@ SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance ) } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, const int64_t start_time ) { auto m = reinterpret_cast( instance ); @@ -1721,8 +1670,7 @@ SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, +bool SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, const char * const start_time_str ) { auto m = reinterpret_cast( instance ); @@ -1738,8 +1686,7 @@ SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, return m && !SpecUtils::is_special(tp); } -char SpecUtils_C_CALLCONV -SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ) +char SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1747,8 +1694,7 @@ SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ) } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, const char tag_char ) { auto m = reinterpret_cast( instance ); @@ -1757,8 +1703,7 @@ SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, m->set_pcf_tag( tag_char ); } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1766,8 +1711,7 @@ SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const } -const float * SpecUtils_C_CALLCONV -SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const instance ) +const float *SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1778,8 +1722,7 @@ SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const } -const float * SpecUtils_C_CALLCONV -SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instance ) +const float *SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1790,7 +1733,7 @@ SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instanc return energies ? energies->data() : nullptr; } -const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV +const SpecUtils_EnergyCal * SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1803,7 +1746,7 @@ SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const in } -const SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV +const SpecUtils_CountedRef_EnergyCal * SpecUtils_Measurement_energy_calibration_ref( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1820,8 +1763,7 @@ SpecUtils_Measurement_energy_calibration_ref( const SpecUtils_Measurement * cons } -float SpecUtils_C_CALLCONV -SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const instance ) +float SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1829,8 +1771,7 @@ SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const instance ) } -float SpecUtils_C_CALLCONV -SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const instance ) +float SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1838,8 +1779,7 @@ SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const instance ) } -float SpecUtils_C_CALLCONV -SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * const instance ) +float SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1847,8 +1787,7 @@ SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * const ins } -double SpecUtils_C_CALLCONV -SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * const instance ) +double SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1856,8 +1795,7 @@ SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * const insta } -double SpecUtils_C_CALLCONV -SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * const instance ) +double SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1865,8 +1803,7 @@ SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * const ins } -bool SpecUtils_C_CALLCONV -SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const instance ) +bool SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1874,8 +1811,7 @@ SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const instance } -bool SpecUtils_C_CALLCONV -SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * const instance ) +bool SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1883,16 +1819,14 @@ SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * const ins } -int SpecUtils_C_CALLCONV -SpecUtils_Measurement_sample_number( const SpecUtils_Measurement * const instance ) +int SpecUtils_Measurement_sample_number( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->sample_number() : -999; } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, const int samplenum ) { auto m = reinterpret_cast( instance ); @@ -1902,8 +1836,7 @@ SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, } -const char * SpecUtils_C_CALLCONV -SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * const instance ) +const char *SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1914,8 +1847,7 @@ SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * const instanc } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement *instance, const char *name ) { auto m = reinterpret_cast( instance ); @@ -1925,8 +1857,7 @@ SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement *instance, } -float SpecUtils_C_CALLCONV -SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance ) +float SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1934,7 +1865,7 @@ SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance ) } -enum SpecUtils_OccupancyStatus SpecUtils_C_CALLCONV +enum SpecUtils_OccupancyStatus SpecUtils_Measurement_occupancy_status( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -1944,8 +1875,7 @@ SpecUtils_Measurement_occupancy_status( const SpecUtils_Measurement * const inst } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance, const SpecUtils_OccupancyStatus status ) { auto m = reinterpret_cast( instance ); @@ -1955,8 +1885,7 @@ SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const instance ) +bool SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1964,26 +1893,21 @@ SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const instance } -double SpecUtils_C_CALLCONV -SpecUtils_Measurement_latitude( const SpecUtils_Measurement * const instance ) +double SpecUtils_Measurement_latitude( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->latitude() : -999.9; } - -double SpecUtils_C_CALLCONV -SpecUtils_Measurement_longitude( const SpecUtils_Measurement * const instance ) +double SpecUtils_Measurement_longitude( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->longitude() : -999.9; } - -int64_t SpecUtils_C_CALLCONV -SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measurement * const instance ) +int64_t SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -1997,8 +1921,7 @@ SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measurement * cons } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, const double longitude, const double latitude, const int64_t position_time_microsec ) @@ -2016,8 +1939,7 @@ SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, } -float SpecUtils_C_CALLCONV -SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const instance ) +float SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2025,16 +1947,14 @@ SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const instance ) } -float SpecUtils_C_CALLCONV -SpecUtils_Measurement_exposure_rate( const SpecUtils_Measurement * const instance ) +float SpecUtils_Measurement_exposure_rate( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); return m ? m->exposure_rate() : 0.0f; } -const char * SpecUtils_C_CALLCONV -SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * const instance ) +const char *SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2042,7 +1962,7 @@ SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * const instanc } -enum SpecUtils_QualityStatus SpecUtils_C_CALLCONV +enum SpecUtils_QualityStatus SpecUtils_Measurement_quality_status( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -2052,7 +1972,7 @@ SpecUtils_Measurement_quality_status( const SpecUtils_Measurement * const instan } -enum SpecUtils_SourceType SpecUtils_C_CALLCONV +enum SpecUtils_SourceType SpecUtils_Measurement_source_type( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); @@ -2062,8 +1982,7 @@ SpecUtils_Measurement_source_type( const SpecUtils_Measurement * const instance } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, const SpecUtils_SourceType type ) { auto m = reinterpret_cast( instance ); @@ -2073,8 +1992,7 @@ SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2082,8 +2000,7 @@ SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * const instan } -const char * SpecUtils_C_CALLCONV -SpecUtils_Measurement_remark( const SpecUtils_Measurement * const instance, +const char *SpecUtils_Measurement_remark( const SpecUtils_Measurement * const instance, const uint32_t remark_index ) { auto m = reinterpret_cast( instance ); @@ -2096,8 +2013,7 @@ SpecUtils_Measurement_remark( const SpecUtils_Measurement * const instance, } -void SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, +void SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, const char **remarks, const uint32_t number_remarks ) { @@ -2113,8 +2029,7 @@ SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2122,8 +2037,7 @@ SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measurement * const } -const char * SpecUtils_C_CALLCONV -SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * const instance, +const char *SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * const instance, const uint32_t index ) { auto m = reinterpret_cast( instance ); @@ -2136,8 +2050,7 @@ SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * const instanc } -double SpecUtils_C_CALLCONV -SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const instance, +double SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const instance, const float lower_energy, const float upper_energy ) { auto m = reinterpret_cast( instance ); @@ -2146,8 +2059,7 @@ SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const instan } -double SpecUtils_C_CALLCONV -SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * const instance, +double SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * const instance, const uint32_t startbin, const uint32_t endbin ) { @@ -2157,8 +2069,7 @@ SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * const in } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurement * const instance ) +uint32_t SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurement * const instance ) { auto m = reinterpret_cast( instance ); assert( m ); @@ -2166,8 +2077,7 @@ SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurement * con } -bool SpecUtils_C_CALLCONV -SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, +bool SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, const uint32_t nchannel ) { auto m = reinterpret_cast( instance ); @@ -2188,8 +2098,7 @@ SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, +bool SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal_ptr ) { auto m = reinterpret_cast( instance ); @@ -2213,8 +2122,7 @@ SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, +bool SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal_ptr ) { auto m = reinterpret_cast( instance ); @@ -2237,16 +2145,14 @@ SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, } -SpecUtils_EnergyCal * SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_create() +SpecUtils_EnergyCal *SpecUtils_EnergyCal_create() { SpecUtils::EnergyCalibration *cal = new SpecUtils::EnergyCalibration(); return reinterpret_cast( cal ); } -void SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ) +void SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ) { auto cal = reinterpret_cast( instance ); assert( cal ); @@ -2255,8 +2161,7 @@ SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ) } -SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV -SpecUtils_CountedRef_EnergyCal_create() +SpecUtils_CountedRef_EnergyCal *SpecUtils_CountedRef_EnergyCal_create() { auto obj_ptr = new shared_ptr(); *obj_ptr = make_shared(); @@ -2264,8 +2169,7 @@ SpecUtils_CountedRef_EnergyCal_create() } -void SpecUtils_C_CALLCONV -SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance ) +void SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance ) { auto ptr = reinterpret_cast *>( instance ); assert( ptr ); @@ -2274,8 +2178,7 @@ SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance } -const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ) +const SpecUtils_EnergyCal *SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ) { shared_ptr *cal = reinterpret_cast *>( instance ); @@ -2284,8 +2187,7 @@ SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ) } -SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_make_counted_ref( SpecUtils_EnergyCal *instance ) +SpecUtils_CountedRef_EnergyCal *SpecUtils_EnergyCal_make_counted_ref( SpecUtils_EnergyCal *instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2298,8 +2200,7 @@ SpecUtils_EnergyCal_make_counted_ref( SpecUtils_EnergyCal *instance ) -SpecUtils_EnergyCalType SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * const instance ) +SpecUtils_EnergyCalType SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2309,8 +2210,7 @@ SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * const instance ) return SpecUtils_EnergyCalType( static_cast( ptr->type() ) ); } -bool SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ) +bool SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2318,17 +2218,14 @@ SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ) } -uint32_t SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_number_coefficients( const SpecUtils_EnergyCal * const instance ) +uint32_t SpecUtils_EnergyCal_number_coefficients( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); return ptr ? static_cast(ptr->coefficients().size()) : uint32_t(0); } - - -const float * SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const instance ) + +const float *SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2338,9 +2235,7 @@ SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const instance ) return coefs.data(); } - -uint32_t SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * const instance ) +uint32_t SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2351,9 +2246,7 @@ SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * const in return static_cast( devs.size() ); } - -float SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const instance, +float SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const instance, const uint32_t index ) { auto ptr = reinterpret_cast( instance ); @@ -2368,9 +2261,7 @@ SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const instance return devs[index].first; } - -float SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const instance, +float SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const instance, const uint32_t index ) { auto ptr = reinterpret_cast( instance ); @@ -2385,18 +2276,14 @@ SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const instance return devs[index].second; } - -uint32_t SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_number_channels( const SpecUtils_EnergyCal * const instance ) +uint32_t SpecUtils_EnergyCal_number_channels( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); return ptr ? static_cast(ptr->num_channels()) : uint32_t(0); } - -const float * SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance ) +const float *SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2407,9 +2294,22 @@ SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance return channel_energies ? channel_energies->data() : nullptr; } - -bool SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, + /** Sets the polynomial coefficients, and non-linear deviation pairs for the energy calibration object. + + @param instance The `SpecUtils_EnergyCal` to modify. + @param num_channels The number of channels this energy calibration is for. + @param coeffs The array of polynomial energy calibration coefficients. + @param number_coeffs The number of entries in the `coeffs` array. Must be at least two coefficients. + @param dev_pairs An array giving deviation pairs where the entries are energy followed by offset, e.g., + for 3 deviations pairs, the entries in this array would be: [energy_0, offset_0, energy_1, offset_1, energy_2, offset_2] + May be `NULL`. + @param number_dev_pairs The number of deviation pairs in the `dev_pairs` array; that is the + `dev_pairs` array must have twice this many entries in it. + @returns If the energy calibration supplied is valid, and hence the `SpecUtils_EnergyCal` instance updated. + Will return false if coefficients or deviation pairs are invalid (e.g., not enough coefficients, NaN of Inf coefficients, + results in non monotonically increasing channel energies, or are otherwise unreasonable). + */ +bool SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, const uint32_t number_coeffs, @@ -2443,8 +2343,7 @@ SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, +bool SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, const uint32_t num_coeffs, @@ -2477,8 +2376,7 @@ SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, } -bool SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, +bool SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const uint32_t num_energies, const float * const channel_energies ) @@ -2502,8 +2400,7 @@ SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, } -double SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instance, +double SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instance, const double energy ) { auto ptr = reinterpret_cast( instance ); @@ -2512,8 +2409,7 @@ SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instan } -double SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instance, +double SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instance, const double channel ) { auto ptr = reinterpret_cast( instance ); @@ -2521,9 +2417,7 @@ SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instan return ptr ? ptr->energy_for_channel( channel ) : -999.9; } - -float SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ) +float SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); @@ -2531,8 +2425,7 @@ SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ) } -float SpecUtils_C_CALLCONV -SpecUtils_EnergyCal_upper_energy( const SpecUtils_EnergyCal * const instance ) +float SpecUtils_EnergyCal_upper_energy( const SpecUtils_EnergyCal * const instance ) { auto ptr = reinterpret_cast( instance ); assert( ptr ); diff --git a/bindings/c/SpecUtils_c.h b/bindings/c/SpecUtils_c.h index 8eef243..27752b6 100644 --- a/bindings/c/SpecUtils_c.h +++ b/bindings/c/SpecUtils_c.h @@ -4,23 +4,21 @@ #include #include -#ifndef SpecUtils_C_CALLCONV +#ifndef CALLINGCONVENTION #ifdef _WIN32 - #define SpecUtils_C_CALLCONV __cdecl + #define CALLINGCONVENTION __cdecl #else - #define SpecUtils_C_CALLCONV + #define CALLINGCONVENTION #endif -#endif //SpecUtils_C_CALLCONV +#endif //CALLINGCONVENTION +#ifndef DLLEXPORT #ifdef _WIN32 - #ifdef SpecUtils_EXPORTS - #define SpecUtils_C_DLLEXPORT __declspec(dllexport) - #else - #define SpecUtils_C_DLLEXPORT __declspec(dllimport) - #endif + #define DLLEXPORT __declspec(dllexport) #else - #define SpecUtils_C_DLLEXPORT -#endif //SpecUtils_C_DLLEXPORT + #define DLLEXPORT +#endif +#endif //DLLEXPORT #ifdef __cplusplus extern "C" @@ -43,24 +41,24 @@ typedef struct SpecUtils_CountedRef_EnergyCal SpecUtils_CountedRef_EnergyCal; Note: You must call `SpecUtils_SpecFile_destroy(instance)` to de-allocate this object to avoid a memory leak. */ -SpecUtils_C_DLLEXPORT SpecUtils_SpecFile * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_SpecFile * CALLINGCONVENTION SpecUtils_SpecFile_create(); /** Creates a copy of passed in `SpecUtils_SpecFile`. Note: You must call `SpecUtils_SpecFile_destroy(instance)` to de-allocate this object to avoid a memory leak. */ -SpecUtils_C_DLLEXPORT SpecUtils_SpecFile * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_SpecFile * CALLINGCONVENTION SpecUtils_SpecFile_clone( const SpecUtils_SpecFile * const instance ); /** De-allocates a `SpecUtils::SpecFile` object created using `SpecUtils_SpecFile_create()`. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_destroy( SpecUtils_SpecFile *instance ); /** Sets the `lhs` equal to the `rhs`. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile *rhs ); /** Parses the specified spectrum file into the provided `SpecUtils::SpecFile` instance. @@ -79,7 +77,7 @@ SpecUtils_SpecFile_set_equal( SpecUtils_SpecFile *lhs, const SpecUtils_SpecFile `SpecFile_load_file_from_format(instance,filename,SpecUtils_Input_Auto)` */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecFile_load_file( SpecUtils_SpecFile *instance, const char * const filename ); @@ -110,7 +108,7 @@ enum SpecUtils_ParserType is somehow not properly detecting the input format (which should not happen), or the filename doesnt hint at the file type, and you dont want to waste the CPU time figuring it out from the file contents. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecFile_load_file_from_format( SpecUtils_SpecFile * const instance, const char * const filename, const enum SpecUtils_ParserType type ); @@ -160,7 +158,7 @@ enum SpecUtils_SaveSpectrumAsType are undefined, so on failure you should check if the file specified by `filename` exists, and delete it. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_write_to_file( SpecUtils_SpecFile *instance, const char *filename, enum SpecUtils_SaveSpectrumAsType type ); @@ -169,13 +167,13 @@ SpecUtils_write_to_file( SpecUtils_SpecFile *instance, E.g. a system that measurements at regular intervals, where it would make sense to plot a time-history chart */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_passthrough( const SpecUtils_SpecFile * const instance ); /** Returns the number of `SpecUtils_Measurement` measurements held by the specified `SpecUtils_SpecFile`. */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instance ); /** Return the maximum number of gamma channels of any `SpecUtils_Measurement` owned by the provided @@ -183,7 +181,7 @@ SpecUtils_SpecFile_number_measurements( const SpecUtils_SpecFile * const instanc Note: individual measurements may have different numbers of channels. */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const instance ); /** Returns pointer to the measurement at the specified index. @@ -192,7 +190,7 @@ SpecUtils_SpecFile_number_gamma_channels( const SpecUtils_SpecFile * const insta @param index The index of the measurement to return, should be from 0 to `SpecUtils_SpecFile_num_gamma_channels(instance) -1`. @returns pointer to specified measurement - or NULL if index is to large. */ -SpecUtils_C_DLLEXPORT const SpecUtils_Measurement* SpecUtils_C_CALLCONV +DLLEXPORT const SpecUtils_Measurement* CALLINGCONVENTION SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const instance, const uint32_t index ); @@ -207,7 +205,7 @@ SpecUtils_SpecFile_get_measurement_by_index( const SpecUtils_SpecFile * const in \sa */ -SpecUtils_C_DLLEXPORT const SpecUtils_Measurement* SpecUtils_C_CALLCONV +DLLEXPORT const SpecUtils_Measurement* CALLINGCONVENTION SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * const instance, const int sample_number, const char * const det_name ); @@ -217,7 +215,7 @@ SpecUtils_SpecFile_get_measurement_by_sample_det( const SpecUtils_SpecFile * con The data for each detector is referenced using the detectors name, and usually defined by the input spectrum file. */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ); /** Returns the detector name, for the specified index. @@ -230,12 +228,12 @@ SpecUtils_SpecFile_number_detectors( const SpecUtils_SpecFile * const instance ) \sa SpecUtils_SpecFile_number_detectors */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ); /** Returns the number of detectors who provide any gamma spectra. */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const instance ); /** Returns the gamma detector name, for the specified index. @@ -246,16 +244,16 @@ SpecUtils_SpecFile_number_gamma_detectors( const SpecUtils_SpecFile * const inst \sa SpecUtils_SpecFile_number_gamma_detectors */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_gamma_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ); /** Same as `SpecUtils_SpecFile_number_gamma_detectors`, but for neutrons */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_neutron_detectors( const SpecUtils_SpecFile * const instance ); /** Same as `SpecUtils_SpecFile_gamma_detector_name`, but for neutrons */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const instance, const uint32_t index ); @@ -276,7 +274,7 @@ SpecUtils_SpecFile_neutron_detector_name( const SpecUtils_SpecFile * const insta (if this is the case, the most common deviation from normal is the neutron detector(s) having a different real time than gamma detectors). */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ); /** Returns the sample number, for a given index. @@ -285,7 +283,7 @@ SpecUtils_SpecFile_number_samples( const SpecUtils_SpecFile * const instance ); @param index Inclusively between 0 and `SpecUtils_SpecFile_number_samples(instance) - 1`. @returns The sample number for the given index. If index is invalid, returns `INT_MIN` */ -SpecUtils_C_DLLEXPORT int SpecUtils_C_CALLCONV +DLLEXPORT int CALLINGCONVENTION SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, const uint32_t index ); /** Adds a measurement to the specified spectrum file. @@ -303,7 +301,7 @@ SpecUtils_SpecFile_sample_number( const SpecUtils_SpecFile * const instance, con After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, SpecUtils_Measurement *measurement, const bool do_cleanup ); @@ -324,7 +322,7 @@ SpecUtils_SpecFile_add_measurement( SpecUtils_SpecFile * instance, After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, const SpecUtils_Measurement * const measurement, const bool do_cleanup ); @@ -344,14 +342,14 @@ SpecUtils_SpecFile_remove_measurement( SpecUtils_SpecFile * instance, After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_remove_measurements( SpecUtils_SpecFile * instance, const SpecUtils_Measurement ** const measurements, const uint32_t number_to_remove ); /** Resets the spectrum file to its initially empty state. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ); /** Cleans up the spectrum file, after adding measurements, recalculating sums, assigning sample @@ -365,7 +363,7 @@ SpecUtils_SpecFile_reset( SpecUtils_SpecFile * instance ); After calling this function, any pointers to detector names, or sample numbers, etc will be invalidated. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, const bool dont_change_sample_numbers, const bool reorder_by_time ); @@ -373,7 +371,7 @@ SpecUtils_SpecFile_cleanup( SpecUtils_SpecFile * instance, /** Returns if the spectrum file has been modified since it was loaded, or `SpecUtils_SpecFile_cleanup(...)` last called */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ); /** Sums the spectra and neutron counts of the specified measurements. @@ -389,7 +387,7 @@ SpecUtils_SpecFile_modified( const SpecUtils_SpecFile * const instance ); Will return `NULL` if any sample numbers of detector names are invalid, or no valid measurements are specified. */ -SpecUtils_C_DLLEXPORT SpecUtils_Measurement * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_Measurement * CALLINGCONVENTION SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, const int * const sample_numbers, const uint32_t number_sample_numbers, @@ -397,54 +395,54 @@ SpecUtils_SpecFile_sum_measurements( const SpecUtils_SpecFile * const instance, const uint32_t number_detector_names ); /** Returns the approximate number of bytes this spectrum file takes up in memory. */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_memmorysize( const SpecUtils_SpecFile * const instance ); /** Returns the number of file-level remarks the spectrum file contained. */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_remarks( const SpecUtils_SpecFile * const instance ); /** Returns null-terminated strings of file-level remarks in the file. Will return `NULL` only in requested index is too large. */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV -SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, +DLLEXPORT const char * CALLINGCONVENTION +SpecUtils_SpecFile_remark( const SpecUtils_SpecFile * const instance, const uint32_t remark_index ); /** Returns number of warnings generated during spectrum file parsing. */ -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_SpecFile_number_parse_warnings( const SpecUtils_SpecFile * const instance ); /** Returns individual parse warnings. */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_parse_warning( const SpecUtils_SpecFile * const instance, const uint32_t warning_index ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_SpecFile_sum_gamma_live_time( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_SpecFile_sum_gamma_real_time( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_SpecFile_gamma_count_sum( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_SpecFile_neutron_counts_sum( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_filename( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_uuid( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_measurement_location_name( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_measurement_operator( const SpecUtils_SpecFile * const instance ); /** The C equivalent of `SpecUtils::DetectorType`. @@ -478,7 +476,7 @@ enum SpecUtils_DetectorType This may be inferred from spectrum file format or from comments or information within the spectrum file. */ -SpecUtils_C_DLLEXPORT enum SpecUtils_DetectorType SpecUtils_C_CALLCONV +DLLEXPORT enum SpecUtils_DetectorType CALLINGCONVENTION SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ); /** Returns the instrument type as specified, or inferred, from the spectrum file. @@ -486,90 +484,90 @@ SpecUtils_SpecFile_detector_type( const SpecUtils_SpecFile * const instance ); Examples of returned values are: "Spectrometer", "PortalMonitor", "SpecPortal", "RadionuclideIdentifier", "PersonalRadiationDetector", "SurveyMeter", "Other", etc */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_instrument_type( const SpecUtils_SpecFile * const instance ); /** The instrument manufacturer specified in, or inferred from, the spectrum file */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_manufacturer( const SpecUtils_SpecFile * const instance ); /** The instrument model specified in, or inferred from, the spectrum file */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_instrument_model( const SpecUtils_SpecFile * const instance ); /** The serial number of the instrument that made the spectrum file. */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_SpecFile_instrument_id( const SpecUtils_SpecFile * const instance ); /** Returns if mean longitude/latitude are valid gps coords */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_has_gps_info( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_SpecFile_mean_latitude( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_SpecFile_mean_longitude( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_contains_derived_data( const SpecUtils_SpecFile * const instance ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_contains_non_derived_data( const SpecUtils_SpecFile * const instance ); // simple setters -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_filename( SpecUtils_SpecFile *instance, const char * const filename ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_add_remark( SpecUtils_SpecFile *instance, const char * const remark ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_parse_warnings( SpecUtils_SpecFile *instance, const char ** const warnings, const uint32_t number_warnings ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_uuid( SpecUtils_SpecFile *instance, const char * const file_uuid ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_lane_number( SpecUtils_SpecFile *instance, const int num ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_location_name( SpecUtils_SpecFile *instance, const char * const location_name ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_inspection( SpecUtils_SpecFile *instance, const char * const inspection_type ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_instrument_type( SpecUtils_SpecFile *instance, const char * const instrument_type ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_detector_type( SpecUtils_SpecFile *instance, const enum SpecUtils_DetectorType type ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_manufacturer( SpecUtils_SpecFile *instance, const char * const manufacturer_name ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_instrument_model( SpecUtils_SpecFile *instance, const char * const model ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, const char * const serial_number ); @@ -577,7 +575,7 @@ SpecUtils_SpecFile_set_instrument_id( SpecUtils_SpecFile *instance, @returns if rename was successful. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, const char * const original_name, const char * const new_name ); @@ -586,7 +584,7 @@ SpecUtils_SpecFile_change_detector_name( SpecUtils_SpecFile *instance, @returns if was successful */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, const char * const CALp_filepath ); @@ -597,7 +595,7 @@ set_energy_calibration_from_CALp_file( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, const float live_time, const SpecUtils_Measurement * const measurement ); @@ -606,7 +604,7 @@ SpecUtils_SpecFile_set_measurement_live_time( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, const float real_time, const SpecUtils_Measurement * const measurement ); @@ -617,7 +615,7 @@ SpecUtils_SpecFile_set_measurement_real_time( SpecUtils_SpecFile *instance, @returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, const int64_t microseconds_since_unix_epoch, const SpecUtils_Measurement * const measurement ); @@ -628,7 +626,7 @@ SpecUtils_SpecFile_set_measurement_start_time( SpecUtils_SpecFile *instance, @returns if successful (valid date/time and measurement is valid). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, const char *date_time, const SpecUtils_Measurement * const measurement ); @@ -637,7 +635,7 @@ SpecUtils_SpecFile_set_measurement_start_time_str( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_remarks( SpecUtils_SpecFile *instance, const char ** const remarks, const uint32_t number_remarks, @@ -653,7 +651,7 @@ enum SpecUtils_SourceType }; /** Sets the source-type of a specific measurement. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, const enum SpecUtils_SourceType type, const SpecUtils_Measurement * const measurement ); @@ -664,19 +662,19 @@ SpecUtils_SpecFile_set_measurement_source_type( SpecUtils_SpecFile *instance, Returns if successful (i.e., if measurement was owned by the `SpecUtils_SpecFile`), and if values are valid lat/long. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_position( SpecUtils_SpecFile *instance, const double longitude, const double latitude, const int64_t microseconds_since_unix_epoch, const SpecUtils_Measurement * const measurement ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_title( SpecUtils_SpecFile * instance, const char * const title, const SpecUtils_Measurement * const measurement ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *instance, const bool contained, const float counts, const float neutron_live_time, @@ -684,7 +682,7 @@ SpecUtils_SpecFile_set_measurement_contained_neutrons( SpecUtils_SpecFile *insta -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *instance, SpecUtils_CountedRef_EnergyCal *energy_cal, const SpecUtils_Measurement * const measurement ); @@ -698,7 +696,7 @@ SpecUtils_SpecFile_set_measurement_energy_calibration( SpecUtils_SpecFile *insta \sa `SpecUtils_SpecFile_add_measurement` */ -SpecUtils_C_DLLEXPORT SpecUtils_Measurement * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_Measurement * CALLINGCONVENTION SpecUtils_Measurement_create(); /** Creates a copy of a `SpecUtils::Measurement`. @@ -706,42 +704,42 @@ SpecUtils_Measurement_create(); You must either add the returned pointer to a `SpecUtils_SpecFile`, or call `SpecUtils_Measurement_destroy(instance)` on result to not leak memory. */ -SpecUtils_C_DLLEXPORT SpecUtils_Measurement * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_Measurement * CALLINGCONVENTION SpecUtils_Measurement_clone( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_destroy( SpecUtils_Measurement *instance ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_Measurement_memmorysize( const SpecUtils_Measurement * const instance ); /** Sets the `lhs` equal to the `rhs`. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_equal( SpecUtils_Measurement *lhs, const SpecUtils_Measurement *rhs ); /** Resets the Measurement to the same state as when initially allocated. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_reset( SpecUtils_Measurement *instance ); /** Returns the measurement description. Zero terminated, and non-null. */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_Measurement_description( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_description( SpecUtils_Measurement *instance, const char * const description ); /** Returns the measurement description. Zero terminated, and non-null. */ -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_Measurement_source_string( const SpecUtils_Measurement * const instance ); /** This is a GADRAS specific function - it actually adds a remark to Measurement that starts with "Source:" */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_source_string( SpecUtils_Measurement *instance, const char * const source_string ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, const float *counts, const uint32_t nchannels, @@ -757,16 +755,16 @@ SpecUtils_Measurement_set_gamma_counts( SpecUtils_Measurement *instance, @param neutron_live_time The live time of the neutron measurement. If it is the same as the gamma detector in this measurement, you can provide a negative value, and the gamma real-time will be used. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_neutron_counts( SpecUtils_Measurement *instance, const float * const counts, const uint32_t num_tubes, const float neutron_live_time ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_Measurement_title( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, const char * const title ); @@ -775,11 +773,11 @@ SpecUtils_Measurement_set_title( SpecUtils_Measurement *instance, A returned value of zero indicates no time available. */ -SpecUtils_C_DLLEXPORT int64_t SpecUtils_C_CALLCONV +DLLEXPORT int64_t CALLINGCONVENTION SpecUtils_Measurement_start_time_usecs( SpecUtils_Measurement *instance ); /** Sets the start time of the measurement, using micro-seconds since the UNIX epoch to define the time. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, const int64_t start_time ); @@ -789,20 +787,20 @@ SpecUtils_Measurement_set_start_time_usecs( SpecUtils_Measurement *instance, @returns if successful (valid date/time string). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_set_start_time_str( SpecUtils_Measurement *instance, const char * const start_time_str ); /** Returns the application-specific "tag" characters used by the PCF file format. */ -SpecUtils_C_DLLEXPORT char SpecUtils_C_CALLCONV +DLLEXPORT char CALLINGCONVENTION SpecUtils_Measurement_pcf_tag( const SpecUtils_Measurement * const instance ); /** Sets the application-specific "tag" characters used by the PCF file format. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_pcf_tag( SpecUtils_Measurement *instance, const char tag_char ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const instance ); /** Returns array of gamma channel counts, having `SpecUtils_Measurement_number_gamma_channels(instance)` @@ -810,7 +808,7 @@ SpecUtils_Measurement_number_gamma_channels( const SpecUtils_Measurement * const May return `NULL` pointer if no counts. */ -SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV +DLLEXPORT const float * CALLINGCONVENTION SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const instance ); /** Returns array of lower channel energies. @@ -820,7 +818,7 @@ SpecUtils_Measurement_gamma_channel_counts( const SpecUtils_Measurement * const \sa SpecUtils_Measurement_number_gamma_channels */ -SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV +DLLEXPORT const float * CALLINGCONVENTION SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instance ); /** Returns a pointer to the energy calibration for this measurement. @@ -829,7 +827,7 @@ SpecUtils_Measurement_energy_bounds( const SpecUtils_Measurement * const instanc Do NOT call `SpecUtils_CountedRef_EnergyCal_destroy(instance)` or `SpecUtils_EnergyCal_make_counted_ref(instance)` on the returned pointer. */ -SpecUtils_C_DLLEXPORT const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV +DLLEXPORT const SpecUtils_EnergyCal * CALLINGCONVENTION SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const instance ); /** Returns a pointer to a `shared_ptr` object. @@ -839,46 +837,46 @@ SpecUtils_Measurement_energy_calibration( const SpecUtils_Measurement * const in Returned pointer will be `NULL` if measurement didnt have energy calibration set. */ -SpecUtils_C_DLLEXPORT const SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV +DLLEXPORT const SpecUtils_CountedRef_EnergyCal * CALLINGCONVENTION SpecUtils_Measurement_energy_calibration_ref( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_Measurement_real_time( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_Measurement_live_time( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_Measurement_neutron_live_time( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_Measurement_gamma_count_sum( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_Measurement_neutron_count_sum( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_is_occupied( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_contained_neutron( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT int SpecUtils_C_CALLCONV +DLLEXPORT int CALLINGCONVENTION SpecUtils_Measurement_sample_number(const SpecUtils_Measurement * const instance); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_sample_number( SpecUtils_Measurement *instance, const int samplenum ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_Measurement_detector_name( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_detector_name( SpecUtils_Measurement * instance, const char *name ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_Measurement_speed( const SpecUtils_Measurement * const instance ); enum SpecUtils_OccupancyStatus @@ -888,37 +886,37 @@ enum SpecUtils_OccupancyStatus SpecUtils_OccupancyStatus_Unknown }; -SpecUtils_C_DLLEXPORT enum SpecUtils_OccupancyStatus SpecUtils_C_CALLCONV +DLLEXPORT enum SpecUtils_OccupancyStatus CALLINGCONVENTION SpecUtils_Measurement_occupancy_status( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_occupancy_status( SpecUtils_Measurement *instance, const enum SpecUtils_OccupancyStatus status ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_has_gps_info( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_Measurement_latitude( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_Measurement_longitude( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT int64_t SpecUtils_C_CALLCONV +DLLEXPORT int64_t CALLINGCONVENTION SpecUtils_Measurement_position_time_microsec( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_position( SpecUtils_Measurement *instance, const double longitude, const double latitude, const int64_t position_time_microsec ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_Measurement_dose_rate( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_Measurement_exposure_rate( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_Measurement_detector_type( const SpecUtils_Measurement * const instance ); enum SpecUtils_QualityStatus @@ -929,47 +927,47 @@ enum SpecUtils_QualityStatus SpecUtils_QualityStatus_Missing }; -SpecUtils_C_DLLEXPORT enum SpecUtils_QualityStatus SpecUtils_C_CALLCONV +DLLEXPORT enum SpecUtils_QualityStatus CALLINGCONVENTION SpecUtils_Measurement_quality_status( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT enum SpecUtils_SourceType SpecUtils_C_CALLCONV +DLLEXPORT enum SpecUtils_SourceType CALLINGCONVENTION SpecUtils_Measurement_source_type( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT void +DLLEXPORT void SpecUtils_Measurement_set_source_type( SpecUtils_Measurement *instance, const enum SpecUtils_SourceType type ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_Measurement_number_remarks( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_Measurement_remark( const SpecUtils_Measurement * const instance, const uint32_t remark_index ); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_Measurement_set_remarks( SpecUtils_Measurement *instance, const char **remarks, const uint32_t number_remarks ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_Measurement_number_parse_warnings( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT const char * SpecUtils_C_CALLCONV +DLLEXPORT const char * CALLINGCONVENTION SpecUtils_Measurement_parse_warning( const SpecUtils_Measurement * const instance, const uint32_t remark_index ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_Measurement_gamma_integral( const SpecUtils_Measurement * const instance, const float lower_energy, const float upper_energy ); -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_Measurement_gamma_channels_sum( const SpecUtils_Measurement * const instance, const uint32_t startbin, const uint32_t endbin ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_Measurement_derived_data_properties( const SpecUtils_Measurement * const instance ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, const uint32_t nchannel ); @@ -978,7 +976,7 @@ SpecUtils_Measurement_combine_gamma_channels( SpecUtils_Measurement *instance, Does not change the energy of peaks, but does change the channel numbers of peaks, and counts of the channels, and possibly even the number of channels. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal ); @@ -989,7 +987,7 @@ SpecUtils_Measurement_rebin( SpecUtils_Measurement *instance, @returns If the new energy calibration is applied. Change of calibration may not be applied if the input calibration has the wrong number of channels, is invalid, etc */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, const SpecUtils_CountedRef_EnergyCal * const cal ); @@ -1001,17 +999,17 @@ SpecUtils_Measurement_set_energy_calibration( SpecUtils_Measurement *instance, You need to either call `SpecUtils_EnergyCal_destroy(instance)` for the returned result, or call */ -SpecUtils_C_DLLEXPORT SpecUtils_EnergyCal * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_EnergyCal * CALLINGCONVENTION SpecUtils_EnergyCal_create(); /** De-allocates a EnergyCalibration. */ -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_EnergyCal_destroy( SpecUtils_EnergyCal *instance ); -SpecUtils_C_DLLEXPORT SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_CountedRef_EnergyCal * CALLINGCONVENTION SpecUtils_CountedRef_EnergyCal_create(); -SpecUtils_C_DLLEXPORT void SpecUtils_C_CALLCONV +DLLEXPORT void CALLINGCONVENTION SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance ); /** Returns the `SpecUtils_EnergyCal` pointer owned by a `SpecUtils_CountedRef_EnergyCal` @@ -1019,7 +1017,7 @@ SpecUtils_CountedRef_EnergyCal_destroy( SpecUtils_CountedRef_EnergyCal *instance Do NOT call `SpecUtils_EnergyCal_destroy(instance)` on the returned result - its lifetime is managed by the counted ref pointer you passed in */ -SpecUtils_C_DLLEXPORT const SpecUtils_EnergyCal * SpecUtils_C_CALLCONV +DLLEXPORT const SpecUtils_EnergyCal * CALLINGCONVENTION SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ); /** Converts the passed in `SpecUtils_EnergyCal` object to a `SpecUtils_CountedRef_EnergyCal`, @@ -1029,7 +1027,7 @@ SpecUtils_EnergyCal_ptr_from_ref( SpecUtils_CountedRef_EnergyCal *instance ); and must not have been passed to this function before. Also you must NOT call `SpecUtils_EnergyCal_destroy(instance)` for the `SpecUtils_EnergyCal` passed in. */ -SpecUtils_C_DLLEXPORT SpecUtils_CountedRef_EnergyCal * SpecUtils_C_CALLCONV +DLLEXPORT SpecUtils_CountedRef_EnergyCal * CALLINGCONVENTION SpecUtils_EnergyCal_make_counted_ref( SpecUtils_EnergyCal *instance ); @@ -1044,35 +1042,35 @@ enum SpecUtils_EnergyCalType SpecUtils_EnergyCal_InvalidEquationType };//enum SpecUtils_EnergyCalType -SpecUtils_C_DLLEXPORT enum SpecUtils_EnergyCalType SpecUtils_C_CALLCONV +DLLEXPORT enum SpecUtils_EnergyCalType CALLINGCONVENTION SpecUtils_EnergyCal_type( const SpecUtils_EnergyCal * const instance ); -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_EnergyCal_valid( const SpecUtils_EnergyCal * const instance ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_EnergyCal_number_coefficients( const SpecUtils_EnergyCal * const instance ); -SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV +DLLEXPORT const float * CALLINGCONVENTION SpecUtils_EnergyCal_coefficients( const SpecUtils_EnergyCal * const instance ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_EnergyCal_number_deviation_pairs( const SpecUtils_EnergyCal * const instance ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_EnergyCal_deviation_energy( const SpecUtils_EnergyCal * const instance, const uint32_t deviation_pair_index ); -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_EnergyCal_deviation_offset( const SpecUtils_EnergyCal * const instance, const uint32_t deviation_pair_index ); -SpecUtils_C_DLLEXPORT uint32_t SpecUtils_C_CALLCONV +DLLEXPORT uint32_t CALLINGCONVENTION SpecUtils_EnergyCal_number_channels( const SpecUtils_EnergyCal * const instance ); /** The channel lower energies array. Will have one more entry that the number of channels (the last entry gives last channel upper energy). */ -SpecUtils_C_DLLEXPORT const float * SpecUtils_C_CALLCONV +DLLEXPORT const float * CALLINGCONVENTION SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance ); /** Sets the polynomial coefficients, and non-linear deviation pairs for the energy calibration object. @@ -1090,7 +1088,7 @@ SpecUtils_EnergyCal_channel_energies( const SpecUtils_EnergyCal * const instance Will return false if coefficients or deviation pairs are invalid (e.g., not enough coefficients, NaN of Inf coefficients, results in non monotonically increasing channel energies, or are otherwise unreasonable). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, @@ -1114,7 +1112,7 @@ SpecUtils_EnergyCal_set_polynomial( SpecUtils_EnergyCal * instance, Will return false if coefficients or deviation pairs are invalid (e.g., not enough coefficients, NaN of Inf coefficients, results in non monotonically increasing channel energies, or are otherwise unreasonable). */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const float *coeffs, @@ -1133,7 +1131,7 @@ SpecUtils_EnergyCal_set_full_range_fraction( SpecUtils_EnergyCal * instance, @returns If the energy calibration supplied is valid, and hence the `SpecUtils_EnergyCal` instance updated. Will return false if input energies are invalid, not increasing, or not enough of them for the number of channels. */ -SpecUtils_C_DLLEXPORT bool SpecUtils_C_CALLCONV +DLLEXPORT bool CALLINGCONVENTION SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, const uint32_t num_channels, const uint32_t num_energies, @@ -1145,7 +1143,7 @@ SpecUtils_EnergyCal_set_lower_channel_energy( SpecUtils_EnergyCal * instance, \sa SpecUtils_EnergyCal_valid */ -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instance, const double energy ); @@ -1154,7 +1152,7 @@ SpecUtils_EnergyCal_channel_for_energy( const SpecUtils_EnergyCal * const instan If energy calibration coefficients are not set, then will return -999.9. */ -SpecUtils_C_DLLEXPORT double SpecUtils_C_CALLCONV +DLLEXPORT double CALLINGCONVENTION SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instance, const double channel ); @@ -1164,7 +1162,7 @@ SpecUtils_EnergyCal_energy_for_channel( const SpecUtils_EnergyCal * const instan \sa SpecUtils_EnergyCal_valid */ -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ); /** Returns the upper energy (e.g., upper energy of the last channel) this energy calibration is valid for. @@ -1173,7 +1171,7 @@ SpecUtils_EnergyCal_lower_energy( const SpecUtils_EnergyCal * const instance ); \sa SpecUtils_EnergyCal_valid */ -SpecUtils_C_DLLEXPORT float SpecUtils_C_CALLCONV +DLLEXPORT float CALLINGCONVENTION SpecUtils_EnergyCal_upper_energy( const SpecUtils_EnergyCal * const instance ); From ae11b153c8d384f2a894f33bc7f7e15730e7a337 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 18:22:39 -0600 Subject: [PATCH 088/100] update swig-gen --- bindings/swig/fortran/CMakeLists.txt | 18 +- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 7999 ---------- bindings/swig/fortran/SpecUtilsWrap.f90 | 12801 ---------------- 3 files changed, 17 insertions(+), 20801 deletions(-) delete mode 100644 bindings/swig/fortran/SpecUtilsFortran_wrap.cxx delete mode 100644 bindings/swig/fortran/SpecUtilsWrap.f90 diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 5697d12..229dd39 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -1,7 +1,23 @@ cmake_minimum_required (VERSION 3.25) project (specutils-swig-fortran Fortran CXX C) -add_library(specutils_fortran_wrap SpecUtilsFortran_wrap.cxx ) +# Set the SWIG library path +#set(SWIG_LIB /usr/local/share/swig/4.2.0/) + +# Define the SWIG interface file +set(SWIG_INTERFACE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran.i) + +# Add a custom command to generate the wrapper code +add_custom_command( + OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran_wrap.cxx ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsWrap.f90 + COMMAND ${CMAKE_COMMAND} -E echo "Generating SWIG wrapper..." + COMMAND swig -I../../../ -fortran -c++ -outcurrentdir -debug-classes ${SWIG_INTERFACE_FILE} + DEPENDS ${SWIG_INTERFACE_FILE} + COMMENT "Generating SWIG wrapper code" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} +) + +add_library(specutils_fortran_wrap ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran_wrap.cxx ) set_property(TARGET specutils_fortran_wrap PROPERTY POSITION_INDEPENDENT_CODE ON ) add_library(specutils_fortran SHARED SpecUtilsWrap.f90 ) target_link_libraries(specutils_fortran_wrap PUBLIC SpecUtils) diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx deleted file mode 100644 index be7577b..0000000 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ /dev/null @@ -1,7999 +0,0 @@ -/* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (https://www.swig.org). - * Version 4.2.0 - * - * Do not make changes to this file unless you know what you are doing - modify - * the SWIG interface file instead. - * ----------------------------------------------------------------------------- */ -/* ----------------------------------------------------------------------------- - * This section contains generic SWIG labels for method/variable - * declarations/attributes, and other compiler dependent labels. - * ----------------------------------------------------------------------------- */ - -/* template workaround for compilers that cannot correctly implement the C++ standard */ -#ifndef SWIGTEMPLATEDISAMBIGUATOR -# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) -# define SWIGTEMPLATEDISAMBIGUATOR template -# elif defined(__HP_aCC) -/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ -/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ -# define SWIGTEMPLATEDISAMBIGUATOR template -# else -# define SWIGTEMPLATEDISAMBIGUATOR -# endif -#endif - -/* inline attribute */ -#ifndef SWIGINLINE -# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) -# define SWIGINLINE inline -# else -# define SWIGINLINE -# endif -#endif - -/* attribute recognised by some compilers to avoid 'unused' warnings */ -#ifndef SWIGUNUSED -# if defined(__GNUC__) -# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -# elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) -# else -# define SWIGUNUSED -# endif -#endif - -#ifndef SWIG_MSC_UNSUPPRESS_4505 -# if defined(_MSC_VER) -# pragma warning(disable : 4505) /* unreferenced local function has been removed */ -# endif -#endif - -#ifndef SWIGUNUSEDPARM -# ifdef __cplusplus -# define SWIGUNUSEDPARM(p) -# else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED -# endif -#endif - -/* internal SWIG method */ -#ifndef SWIGINTERN -# define SWIGINTERN static SWIGUNUSED -#endif - -/* internal inline SWIG method */ -#ifndef SWIGINTERNINLINE -# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE -#endif - -/* exporting methods */ -#if defined(__GNUC__) -# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) -# ifndef GCC_HASCLASSVISIBILITY -# define GCC_HASCLASSVISIBILITY -# endif -# endif -#endif - -#ifndef SWIGEXPORT -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# if defined(STATIC_LINKED) -# define SWIGEXPORT -# else -# define SWIGEXPORT __declspec(dllexport) -# endif -# else -# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) -# define SWIGEXPORT __attribute__ ((visibility("default"))) -# else -# define SWIGEXPORT -# endif -# endif -#endif - -/* calling conventions for Windows */ -#ifndef SWIGSTDCALL -# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) -# define SWIGSTDCALL __stdcall -# else -# define SWIGSTDCALL -# endif -#endif - -/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ -#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) -# define _CRT_SECURE_NO_DEPRECATE -#endif - -/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ -#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) -# define _SCL_SECURE_NO_DEPRECATE -#endif - -/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */ -#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES) -# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 -#endif - -/* Intel's compiler complains if a variable which was never initialised is - * cast to void, which is a common idiom which we use to indicate that we - * are aware a variable isn't used. So we just silence that warning. - * See: https://github.com/swig/swig/issues/192 for more discussion. - */ -#ifdef __INTEL_COMPILER -# pragma warning disable 592 -#endif - -#if __cplusplus >=201103L -# define SWIG_NULLPTR nullptr -#else -# define SWIG_NULLPTR NULL -#endif - - -/* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF - * if you're missing it. - */ -#if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \ - (defined __cplusplus && __cplusplus >= 201103L) || \ - defined SWIG_HAVE_SNPRINTF) && \ - !defined SWIG_NO_SNPRINTF -# define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A) -# define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B) -#else -/* Fallback versions ignore the buffer size, but most of our uses either have a - * fixed maximum possible size or dynamically allocate a buffer that's large - * enough. - */ -# define SWIG_snprintf(O,S,F,A) sprintf(O,F,A) -# define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B) -#endif - - - -#ifndef SWIGEXTERN -# ifdef __cplusplus -# define SWIGEXTERN extern -# else -# define SWIGEXTERN -# endif -#endif - - -#define SWIG_exception_impl(DECL, CODE, MSG, RETURNNULL) \ - { throw std::logic_error("In " DECL ": " MSG); } - - -enum SwigMemFlags { - SWIG_MEM_OWN = 0x01, - SWIG_MEM_RVALUE = 0x02, -}; - - -#define SWIG_check_nonnull(PTR, TYPENAME, FNAME, FUNCNAME, RETURNNULL) \ - if (!(PTR)) { \ - SWIG_exception_impl(FUNCNAME, SWIG_NullReferenceError, \ - "Cannot pass null " TYPENAME " (class " FNAME ") " \ - "as a reference", RETURNNULL); \ - } - - -#define SWIG_check_range(INDEX, SIZE, FUNCNAME, RETURNNULL) \ - if (!(INDEX < SIZE)) { \ - SWIG_exception_impl(FUNCNAME, SWIG_IndexError, \ - "index out of range", RETURNNULL); \ - } - - -namespace swig { -enum AssignmentType { - ASSIGNMENT_DEFAULT, - ASSIGNMENT_NODESTRUCT, - ASSIGNMENT_SMARTPTR -}; -} - - -#define SWIG_check_sp_nonnull(PTR, TYPENAME, FNAME, FUNCNAME, RETURNNULL) \ - if (!(PTR)) { \ - SWIG_exception_impl(FUNCNAME, SWIG_NullReferenceError, \ - "Cannot pass null " TYPENAME " (class " FNAME ") " \ - "as a reference", RETURNNULL); \ - } - -#define SWIG_sp_mem_flags 0 - - - -#define SWIG_VERSION 0x040200 -#define SWIGFORTRAN -#define SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_SpecUtils_Measurement swig::ASSIGNMENT_SMARTPTR -#define SWIGPOLICY_SpecUtils_SpecFile swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_SpecUtils_DetectorAnalysisResult swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_SpecUtils_DetectorAnalysis swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_SpecUtils_MultimediaData swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT -#define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_SMARTPTR - -#ifdef __cplusplus -#include -/* SwigValueWrapper is described in swig.swg */ -template class SwigValueWrapper { - struct SwigSmartPointer { - T *ptr; - SwigSmartPointer(T *p) : ptr(p) { } - ~SwigSmartPointer() { delete ptr; } - SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } - void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; } - } pointer; - SwigValueWrapper& operator=(const SwigValueWrapper& rhs); - SwigValueWrapper(const SwigValueWrapper& rhs); -public: - SwigValueWrapper() : pointer(0) { } - SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; } -#if __cplusplus >=201103L - SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; } - operator T&&() const { return std::move(*pointer.ptr); } -#else - operator T&() const { return *pointer.ptr; } -#endif - T *operator&() const { return pointer.ptr; } - static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); } -}; - -/* - * SwigValueInit() is a generic initialisation solution as the following approach: - * - * T c_result = T(); - * - * doesn't compile for all types for example: - * - * unsigned int c_result = unsigned int(); - */ -template T SwigValueInit() { - return T(); -} - -#if __cplusplus >=201103L -# define SWIG_STD_MOVE(OBJ) std::move(OBJ) -#else -# define SWIG_STD_MOVE(OBJ) OBJ -#endif - -#endif - - -#include - - -/* Support for the `contract` feature. - * - * Note that RETURNNULL is first because it's inserted via a 'Replaceall' in - * the fortran.cxx file. - */ -#define SWIG_contract_assert(RETURNNULL, EXPR, MSG) \ - if (!(EXPR)) { SWIG_exception_impl("$decl", SWIG_ValueError, MSG, RETURNNULL); } - - -#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) -#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) - - -#include -#include -#include -#include -#include -#include -#include - - - -#include - - -#include - - -#include - - -#include - - -struct SwigClassWrapper { - void* cptr; - int cmemflags; -}; - - -SWIGINTERN SwigClassWrapper SwigClassWrapper_uninitialized() { - SwigClassWrapper result; - result.cptr = NULL; - result.cmemflags = 0; - return result; -} - -SWIGINTERN void std_vector_Sl_float_Sg__set(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::set", - return); - (*self)[index] = v; - } -SWIGINTERN float const &std_vector_Sl_float_Sg__get(std::vector< float > *self,std::vector< float >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::get", - return self->front()); - return (*self)[index]; - } -SWIGINTERN void std_vector_Sl_float_Sg__insert(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ - SWIG_check_range(index, self->size() + 1, - "std::vector<""float" ">::insert", - return); - self->insert(self->begin() + index, v); - } -SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_0(std::vector< float > *self,std::vector< float >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::remove", - return); - self->erase(self->begin() + index); - } -SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_1(std::vector< float > *self,std::vector< float >::size_type start_index,std::vector< float >::size_type stop_index){ - SWIG_check_range(start_index, stop_index + 1, - "std::vector<""float" ">::remove_range", - return); - SWIG_check_range(stop_index, self->size() + 1, - "std::vector<""float" ">::remove_range", - return); - self->erase(self->begin() + start_index, self->begin() + stop_index); - } -SWIGINTERN float &std_vector_Sl_float_Sg__front_ref(std::vector< float > *self){ - return (*self).front(); - } -SWIGINTERN float &std_vector_Sl_float_Sg__back_ref(std::vector< float > *self){ - return (*self).back(); - } -SWIGINTERN float &std_vector_Sl_float_Sg__get_ref(std::vector< float > *self,std::vector< float >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""float" ">::get_ref", - return self->front()); - return (*self)[index]; - } - -namespace swig { - -template -struct DestructorPolicy { - static SwigClassWrapper destroy(SwigClassWrapper self) { - delete static_cast(self.cptr); - return SwigClassWrapper_uninitialized(); - } -}; -template -struct DestructorPolicy { - static SwigClassWrapper destroy(SwigClassWrapper) { - SWIG_exception_impl("assignment", SWIG_TypeError, "Invalid assignment: class type has private destructor", return SwigClassWrapper_uninitialized()); - } -}; -} - - -namespace swig { - -SWIGINTERN SwigClassWrapper capture(SwigClassWrapper other) { - other.cmemflags &= ~SWIG_MEM_RVALUE; - return other; -} - -template -struct AssignmentPolicy { - static SwigClassWrapper destroy(SwigClassWrapper self) { - return DestructorPolicy::destroy(self); - } - static SwigClassWrapper alias(SwigClassWrapper other) { - SwigClassWrapper self = other; - self.cmemflags &= ~SWIG_MEM_OWN; - return self; - } - static SwigClassWrapper move_alias(SwigClassWrapper self, SwigClassWrapper other) { - if (self.cmemflags & SWIG_MEM_OWN) { - destroy(self); - } - return capture(other); - } - static SwigClassWrapper copy_alias(SwigClassWrapper self, SwigClassWrapper other) { - if (self.cmemflags & SWIG_MEM_OWN) { - destroy(self); - } - return capture(other); - } -}; - -template -struct AssignmentPolicy { - static SwigClassWrapper destroy(SwigClassWrapper self) { - return DestructorPolicy::destroy(self); - } - static SwigClassWrapper alias(SwigClassWrapper other) { - SwigClassWrapper self; - self.cptr = new T(*static_cast(other.cptr)); - self.cmemflags = other.cmemflags | SWIG_MEM_OWN; - return self; - } - static SwigClassWrapper move_alias(SwigClassWrapper self, SwigClassWrapper other) { - self = copy_alias(self, other); - self.cmemflags = other.cmemflags & ~SWIG_MEM_RVALUE; - destroy(other); - return self; - } - static SwigClassWrapper copy_alias(SwigClassWrapper self, SwigClassWrapper other) { - // LHS and RHS should both 'own' their shared pointers - T *pself = static_cast(self.cptr); - T *pother = static_cast(other.cptr); - *pself = *pother; - return self; - } -}; - -} // end namespace swig - -template -SWIGINTERN void SWIG_assign(SwigClassWrapper* self, SwigClassWrapper other) { - typedef swig::AssignmentPolicy Policy_t; - - if (self->cptr == NULL) { - /* LHS is unassigned */ - if (other.cmemflags & SWIG_MEM_RVALUE) { - /* Capture pointer from RHS, clear 'moving' flag */ - *self = swig::capture(other); - } else { - /* Aliasing another class; clear ownership or copy smart pointer */ - *self = Policy_t::alias(other); - } - } else if (other.cptr == NULL) { - /* Replace LHS with a null pointer */ - *self = Policy_t::destroy(*self); - } else if (self->cptr == other.cptr) { - /* Self-assignment: ignore */ - } else if (other.cmemflags & SWIG_MEM_RVALUE) { - /* Transferred ownership from a variable that's about to be lost. - * Move-assign and delete the transient data */ - *self = Policy_t::move_alias(*self, other); - } else { - /* RHS shouldn't be deleted, alias to LHS */ - *self = Policy_t::copy_alias(*self, other); - } -} - -template -SWIGINTERN void SWIG_free_rvalue(SwigClassWrapper other) { - typedef swig::AssignmentPolicy Policy_t; - if (other.cmemflags & SWIG_MEM_RVALUE - && other.cmemflags & SWIG_MEM_OWN) { - /* We own *and* are being passed an expiring value */ - Policy_t::destroy(other); - } -} - - -SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__set(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index,SpecUtils::Measurement const &v){ - SWIG_check_range(index, self->size(), - "std::vector<""SpecUtils::Measurement" ">::set", - return); - (*self)[index] = v; - } -SWIGINTERN SpecUtils::Measurement const &std_vector_Sl_SpecUtils_Measurement_Sg__get(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""SpecUtils::Measurement" ">::get", - return self->front()); - return (*self)[index]; - } -SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__insert(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index,SpecUtils::Measurement const &v){ - SWIG_check_range(index, self->size() + 1, - "std::vector<""SpecUtils::Measurement" ">::insert", - return); - self->insert(self->begin() + index, v); - } -SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""SpecUtils::Measurement" ">::remove", - return); - self->erase(self->begin() + index); - } -SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type start_index,std::vector< SpecUtils::Measurement >::size_type stop_index){ - SWIG_check_range(start_index, stop_index + 1, - "std::vector<""SpecUtils::Measurement" ">::remove_range", - return); - SWIG_check_range(stop_index, self->size() + 1, - "std::vector<""SpecUtils::Measurement" ">::remove_range", - return); - self->erase(self->begin() + start_index, self->begin() + stop_index); - } -SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(std::vector< SpecUtils::Measurement > *self){ - return (*self).front(); - } -SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(std::vector< SpecUtils::Measurement > *self){ - return (*self).back(); - } -SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""SpecUtils::Measurement" ">::get_ref", - return self->front()); - return (*self)[index]; - } - -#include - - -#include -#ifdef _MSC_VER -# ifndef strtoull -# define strtoull _strtoui64 -# endif -# ifndef strtoll -# define strtoll _strtoi64 -# endif -#endif - - -struct SwigArrayWrapper { - void* data; - size_t size; -}; - - -SWIGINTERN SwigArrayWrapper SwigArrayWrapper_uninitialized() { - SwigArrayWrapper result; - result.data = NULL; - result.size = 0; - return result; -} - - -#include - - -struct SWIG_null_deleter { - void operator() (void const *) const { - } -}; -#define SWIG_NO_NULL_DELETER_0 , SWIG_null_deleter() -#define SWIG_NO_NULL_DELETER_1 -#define SWIG_NO_NULL_DELETER_SWIG_POINTER_NEW -#define SWIG_NO_NULL_DELETER_SWIG_POINTER_OWN - -SWIGINTERN float SpecUtils_Measurement_gamma_count_at(SpecUtils::Measurement *self,int index){ - return self->gamma_counts()->at(index-1); - } -SWIGINTERN size_t SpecUtils_Measurement_get_num_channels(SpecUtils::Measurement *self){ - return self->gamma_counts()->size(); - } -SWIGINTERN std::string SpecUtils_Measurement_get_start_time_string(SpecUtils::Measurement *self){ - auto timeStr = SpecUtils::to_vax_string( self->start_time() ); - return timeStr; - } -SWIGINTERN void SpecUtils_Measurement_set_start_time_from_string(SpecUtils::Measurement *self,std::string time_str){ - auto tp = SpecUtils::time_from_string(time_str); - self->set_start_time(tp); - } -SWIGINTERN void SpecUtils_Measurement_set_neutron_count(SpecUtils::Measurement *self,float count){ - SpecUtils::FloatVec ncounts{count}; - self->set_neutron_counts(ncounts, 0.0F); - } -SWIGINTERN float SpecUtils_Measurement_get_neutron_count(SpecUtils::Measurement *self){ - auto count = 0.0F; - if (!self->neutron_counts().empty()) - count = self->neutron_counts().front(); - - return count; - } -SWIGINTERN void SpecUtils_Measurement_set_spectrum(SpecUtils::Measurement *self,float const *spectrum,size_t num_channels){ - SpecUtils::FloatVec counts; - for (size_t i = 0; i < num_channels; i++) - { - counts.push_back(spectrum[i]); - } - - self->set_gamma_counts(counts); - } -SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self,float *spectrum,size_t num_channels){ - auto & counts = *self->gamma_counts(); - for (size_t i = 0 ; i < num_channels ; i++) - { - spectrum[i] = counts.at(i); - } - } -SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ - - auto newIndex = static_cast(index-1); - - std::cout << __func__ << ": newIndex: " << newIndex << std::endl; - std::cout << __func__ << ": num_measurements: " << self->num_measurements() << std::endl; - return self->measurement(newIndex); - } -SWIGINTERN int SpecUtils_SpecFile_get_max_channel_count(SpecUtils::SpecFile *self){ - auto maxCount = 0; - auto numMeasurements = self->num_measurements(); - - for(int i = 0; i < numMeasurements; i++) - { - auto m = self->measurement(i); - auto numChannels = static_cast(m->num_gamma_channels()); - maxCount = std::max(maxCount, numChannels); - } - - return maxCount; - } -SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__set(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index,std::pair< float,float > const &v){ - SWIG_check_range(index, self->size(), - "std::vector<""std::pair< float,float >" ">::set", - return); - (*self)[index] = v; - } -SWIGINTERN std::pair< float,float > const &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""std::pair< float,float >" ">::get", - return self->front()); - return (*self)[index]; - } -SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__insert(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index,std::pair< float,float > const &v){ - SWIG_check_range(index, self->size() + 1, - "std::vector<""std::pair< float,float >" ">::insert", - return); - self->insert(self->begin() + index, v); - } -SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_0(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""std::pair< float,float >" ">::remove", - return); - self->erase(self->begin() + index); - } -SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_1(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type start_index,std::vector< std::pair< float,float > >::size_type stop_index){ - SWIG_check_range(start_index, stop_index + 1, - "std::vector<""std::pair< float,float >" ">::remove_range", - return); - SWIG_check_range(stop_index, self->size() + 1, - "std::vector<""std::pair< float,float >" ">::remove_range", - return); - self->erase(self->begin() + start_index, self->begin() + stop_index); - } -SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__front_ref(std::vector< std::pair< float,float > > *self){ - return (*self).front(); - } -SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__back_ref(std::vector< std::pair< float,float > > *self){ - return (*self).back(); - } -SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get_ref(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ - SWIG_check_range(index, self->size(), - "std::vector<""std::pair< float,float >" ">::get_ref", - return self->front()); - return (*self)[index]; - } -extern "C" { -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_0() { - SwigClassWrapper fresult ; - std::vector< float > *result = 0 ; - - result = (std::vector< float > *)new std::vector< float >(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_1(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - std::vector< float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "std::vector< float >::vector(std::vector< float > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - result = (std::vector< float > *)new std::vector< float >((std::vector< float > const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_2(size_t const *farg1) { - SwigClassWrapper fresult ; - std::vector< float >::size_type arg1 ; - std::vector< float > *result = 0 ; - - arg1 = (std::vector< float >::size_type)(*farg1); - result = (std::vector< float > *)new std::vector< float >(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_3(size_t const *farg1, float const *farg2) { - SwigClassWrapper fresult ; - std::vector< float >::size_type arg1 ; - float *arg2 = 0 ; - float temp2 ; - std::vector< float > *result = 0 ; - - arg1 = (std::vector< float >::size_type)(*farg1); - temp2 = (float)(*farg2); - arg2 = &temp2; - result = (std::vector< float > *)new std::vector< float >(arg1,(float const &)*arg2); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT size_t _wrap_FloatVector_size(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::size() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = ((std::vector< float > const *)arg1)->size(); - fresult = (std::vector< float >::size_type)(result); - return fresult; -} - - -SWIGEXPORT size_t _wrap_FloatVector_capacity(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::capacity() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = ((std::vector< float > const *)arg1)->capacity(); - fresult = (std::vector< float >::size_type)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_FloatVector_empty(SwigClassWrapper *farg1) { - int fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::empty() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (bool)((std::vector< float > const *)arg1)->empty(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT float _wrap_FloatVector_front(SwigClassWrapper *farg1) { - float fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::front() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &((std::vector< float > const *)arg1)->front(); - fresult = *result; - return fresult; -} - - -SWIGEXPORT float _wrap_FloatVector_back(SwigClassWrapper *farg1) { - float fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::back() const", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &((std::vector< float > const *)arg1)->back(); - fresult = *result; - return fresult; -} - - -SWIGEXPORT void _wrap_FloatVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::reserve(std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (std::vector< float >::size_type)(*farg2); - (arg1)->reserve(arg2); -} - - -SWIGEXPORT void _wrap_FloatVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (std::vector< float >::size_type)(*farg2); - (arg1)->resize(arg2); -} - - -SWIGEXPORT void _wrap_FloatVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *arg3 = 0 ; - float temp3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type,float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (std::vector< float >::size_type)(*farg2); - temp3 = (float)(*farg3); - arg3 = &temp3; - (arg1)->resize(arg2,(float const &)*arg3); -} - - -SWIGEXPORT void _wrap_FloatVector_push_back(SwigClassWrapper *farg1, float const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *arg2 = 0 ; - float temp2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::push_back(float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - temp2 = (float)(*farg2); - arg2 = &temp2; - (arg1)->push_back((float const &)*arg2); -} - - -SWIGEXPORT void _wrap_FloatVector_pop_back(SwigClassWrapper *farg1) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::pop_back()", return ); - arg1 = (std::vector< float > *)farg1->cptr; - (arg1)->pop_back(); -} - - -SWIGEXPORT void _wrap_FloatVector_clear(SwigClassWrapper *farg1) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::clear()", return ); - arg1 = (std::vector< float > *)farg1->cptr; - (arg1)->clear(); -} - - -SWIGEXPORT void _wrap_FloatVector_set(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *arg3 = 0 ; - float temp3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::set(std::vector< float >::size_type,float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - temp3 = (float)(*farg3); - arg3 = &temp3; - std_vector_Sl_float_Sg__set(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); -} - - -SWIGEXPORT float _wrap_FloatVector_get(SwigClassWrapper *farg1, size_t const *farg2) { - float fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get(std::vector< float >::size_type)", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (float *) &std_vector_Sl_float_Sg__get(arg1,SWIG_STD_MOVE(arg2)); - fresult = *result; - return fresult; -} - - -SWIGEXPORT void _wrap_FloatVector_insert(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *arg3 = 0 ; - float temp3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::insert(std::vector< float >::size_type,float const &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - temp3 = (float)(*farg3); - arg3 = &temp3; - std_vector_Sl_float_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); -} - - -SWIGEXPORT void _wrap_FloatVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - std_vector_Sl_float_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_FloatVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - std::vector< float >::size_type arg3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type,std::vector< float >::size_type)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - arg3 = *farg3 - 1; - std_vector_Sl_float_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); -} - - -SWIGEXPORT float * _wrap_FloatVector_front_ref(SwigClassWrapper *farg1) { - float * fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::front_ref()", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &std_vector_Sl_float_Sg__front_ref(arg1); - fresult = result; - return fresult; -} - - -SWIGEXPORT float * _wrap_FloatVector_back_ref(SwigClassWrapper *farg1) { - float * fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - float *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::back_ref()", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - result = (float *) &std_vector_Sl_float_Sg__back_ref(arg1); - fresult = result; - return fresult; -} - - -SWIGEXPORT float * _wrap_FloatVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { - float * fresult ; - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float >::size_type arg2 ; - float *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get_ref(std::vector< float >::size_type)", return 0); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (float *) &std_vector_Sl_float_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); - fresult = result; - return fresult; -} - - -SWIGEXPORT void _wrap_delete_FloatVector(SwigClassWrapper *farg1) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - - arg1 = (std::vector< float > *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_FloatVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< float > *arg1 = (std::vector< float > *) 0 ; - std::vector< float > *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_>(farg1, *farg2); - -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_0() { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *result = 0 ; - - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_1(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = 0 ; - std::vector< SpecUtils::Measurement > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const &", "MeasurementVector", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >((std::vector< SpecUtils::Measurement > const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_2(size_t const *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement >::size_type arg1 ; - std::vector< SpecUtils::Measurement > *result = 0 ; - - arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_3(size_t const *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement >::size_type arg1 ; - SpecUtils::Measurement *arg2 = 0 ; - std::vector< SpecUtils::Measurement > *result = 0 ; - - arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); - SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return SwigClassWrapper_uninitialized()); - arg2 = (SpecUtils::Measurement *)farg2->cptr; - result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1,(SpecUtils::Measurement const &)*arg2); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT size_t _wrap_MeasurementVector_size(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::size() const", return 0); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = ((std::vector< SpecUtils::Measurement > const *)arg1)->size(); - fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); - return fresult; -} - - -SWIGEXPORT size_t _wrap_MeasurementVector_capacity(SwigClassWrapper *farg1) { - size_t fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::capacity() const", return 0); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = ((std::vector< SpecUtils::Measurement > const *)arg1)->capacity(); - fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_MeasurementVector_empty(SwigClassWrapper *farg1) { - int fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::empty() const", return 0); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (bool)((std::vector< SpecUtils::Measurement > const *)arg1)->empty(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front() const", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->front(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back() const", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->back(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_MeasurementVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::reserve(std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); - (arg1)->reserve(arg2); -} - - -SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); - (arg1)->resize(arg2); -} - - -SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); - SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg3 = (SpecUtils::Measurement *)farg3->cptr; - (arg1)->resize(arg2,(SpecUtils::Measurement const &)*arg3); -} - - -SWIGEXPORT void _wrap_MeasurementVector_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); - arg2 = (SpecUtils::Measurement *)farg2->cptr; - (arg1)->push_back((SpecUtils::Measurement const &)*arg2); -} - - -SWIGEXPORT void _wrap_MeasurementVector_pop_back(SwigClassWrapper *farg1) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::pop_back()", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - (arg1)->pop_back(); -} - - -SWIGEXPORT void _wrap_MeasurementVector_clear(SwigClassWrapper *farg1) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::clear()", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - (arg1)->clear(); -} - - -SWIGEXPORT void _wrap_MeasurementVector_set(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg3 = (SpecUtils::Measurement *)farg3->cptr; - std_vector_Sl_SpecUtils_Measurement_Sg__set(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); -} - - -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get(SwigClassWrapper *farg1, size_t const *farg2) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get(arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_MeasurementVector_insert(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); - arg3 = (SpecUtils::Measurement *)farg3->cptr; - std_vector_Sl_SpecUtils_Measurement_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); -} - - -SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - std::vector< SpecUtils::Measurement >::size_type arg3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type,std::vector< SpecUtils::Measurement >::size_type)", return ); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - arg3 = *farg3 - 1; - std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); -} - - -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front_ref(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front_ref()", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back_ref(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - SpecUtils::Measurement *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back_ref()", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { - SwigClassWrapper fresult ; - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement >::size_type arg2 ; - SpecUtils::Measurement *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get_ref(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_MeasurementVector(SwigClassWrapper *farg1) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - - arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_MeasurementVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; - std::vector< SpecUtils::Measurement > *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_>(farg1, *farg2); - -} - - -SWIGEXPORT int _wrap_spectrumTypeFromDescription(SwigArrayWrapper *farg1) { - int fresult ; - char *arg1 = (char *) 0 ; - SpecUtils::SpectrumType result; - - arg1 = (char *)(farg1->data); - result = (SpecUtils::SpectrumType)SpecUtils::spectrumTypeFromDescription((char const *)arg1); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_suggestedNameEnding(int const *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SaveSpectrumAsType arg1 ; - char *result = 0 ; - - arg1 = (SpecUtils::SaveSpectrumAsType)(*farg1); - result = (char *)SpecUtils::suggestedNameEnding(arg1); - fresult.size = strlen((char*)(result)); - fresult.data = const_cast< char * >(result); - return fresult; -} - - -SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_0(SwigArrayWrapper *farg1) { - int fresult ; - char *arg1 = (char *) 0 ; - bool result; - - arg1 = (char *)(farg1->data); - result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_1(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - char *arg1 = (char *) (char *)0 ; - char *arg2 = (char *) (char *)0 ; - bool result; - - arg1 = (char *)(farg1->data); - arg2 = (char *)(farg2->data); - result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1,(char const *)arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_convert_n42_utf16_xml_to_utf8(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - SwigArrayWrapper fresult ; - char *arg1 = (char *) 0 ; - char *arg2 = (char *) (char *)0 ; - char *result = 0 ; - - arg1 = (char *)(farg1->data); - arg2 = (char *)(farg2->data); - result = (char *)SpecUtils::convert_n42_utf16_xml_to_utf8(arg1,arg2); - fresult.size = strlen((char*)(result)); - fresult.data = const_cast< char * >(result); - return fresult; -} - - -SWIGEXPORT void _wrap_add_analysis_results_to_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { - SpecUtils::DetectorAnalysis *arg1 = 0 ; - ::rapidxml::xml_node< char > *arg2 = (::rapidxml::xml_node< char > *) 0 ; - std::mutex *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (::rapidxml::xml_node< char > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::mutex &", "SWIGTYPE_p_std__mutex", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); - arg3 = (std::mutex *)farg3->cptr; - SpecUtils::add_analysis_results_to_2012_N42((SpecUtils::DetectorAnalysis const &)*arg1,arg2,*arg3); -} - - -SWIGEXPORT void _wrap_set_analysis_info_from_n42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - rapidxml::xml_node< char > *arg1 = (rapidxml::xml_node< char > *) 0 ; - SpecUtils::DetectorAnalysis *arg2 = 0 ; - - arg1 = (rapidxml::xml_node< char > *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis &", "DetectorAnalysis", "SpecUtils::set_analysis_info_from_n42(rapidxml::xml_node< char > const *,SpecUtils::DetectorAnalysis &)", return ); - arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; - SpecUtils::set_analysis_info_from_n42((rapidxml::xml_node< char > const *)arg1,*arg2); -} - - -SWIGEXPORT double _wrap_gamma_integral(SwigClassWrapper const *farg1, float const *farg2, float const *farg3) { - double fresult ; - std::shared_ptr< SpecUtils::Measurement const > *arg1 = 0 ; - float arg2 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement const > tempnull1 ; - double result; - - arg1 = farg1->cptr ? static_cast * >(farg1->cptr) : &tempnull1; - arg2 = (float)(*farg2); - arg3 = (float)(*farg3); - result = (double)SpecUtils::gamma_integral((std::shared_ptr< SpecUtils::Measurement const > const &)*arg1,arg2,arg3); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_detectorTypeToString(int const *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorType arg1 ; - std::string *result = 0 ; - - arg1 = (SpecUtils::DetectorType)(*farg1); - result = (std::string *) &SpecUtils::detectorTypeToString(arg1); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_Measurement() { - SwigClassWrapper fresult ; - SpecUtils::Measurement *result = 0 ; - - result = (SpecUtils::Measurement *)new SpecUtils::Measurement(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::Measurement >(result SWIG_NO_NULL_DELETER_1) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (void)arg1; delete smartarg1; -} - - -SWIGEXPORT int _wrap_Measurement_memmorysize(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - size_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->memmorysize(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_live_time(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->live_time(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_Measurement_set_live_time(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - (arg1)->set_live_time(arg2); -} - - -SWIGEXPORT float _wrap_Measurement_real_time(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->real_time(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_Measurement_set_real_time(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - (arg1)->set_real_time(arg2); -} - - -SWIGEXPORT int _wrap_Measurement_contained_neutron(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (bool)((SpecUtils::Measurement const *)arg1)->contained_neutron(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_sample_number(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (int)((SpecUtils::Measurement const *)arg1)->sample_number(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_title(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->title(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_occupied(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::OccupancyStatus result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::OccupancyStatus)((SpecUtils::Measurement const *)arg1)->occupied(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_Measurement_gamma_count_sum(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->gamma_count_sum(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_neutron_live_time(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->neutron_live_time(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_Measurement_neutron_counts_sum(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->neutron_counts_sum(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_speed(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->speed(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_dx(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->dx(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_dy(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->dy(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_Measurement_latitude(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->latitude(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_Measurement_longitude(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (double)((SpecUtils::Measurement const *)arg1)->longitude(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_has_gps_info(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (bool)((SpecUtils::Measurement const *)arg1)->has_gps_info(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_dose_rate(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->dose_rate(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_exposure_rate(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->exposure_rate(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT char _wrap_Measurement_pcf_tag(SwigClassWrapper *farg1) { - char fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - char result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (char)((SpecUtils::Measurement const *)arg1)->pcf_tag(); - fresult = (char)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_source_description(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->source_description(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_measurement_description(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->measurement_description(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_position_time(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::time_point_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->position_time(); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_name(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_name(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_detector_number(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (int)((SpecUtils::Measurement const *)arg1)->detector_number(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_type(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::string *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_type(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_quality_status(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::QualityStatus result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::QualityStatus)((SpecUtils::Measurement const *)arg1)->quality_status(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_source_type(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::SourceType result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::SourceType)((SpecUtils::Measurement const *)arg1)->source_type(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< std::string > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->remarks(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_mutable_remarks(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::vector< std::string > *result = 0 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< std::string > *) &(arg1)->mutable_remarks(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_parse_warnings(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< std::string > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->parse_warnings(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::time_point_t *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::time_point_t *) &((SpecUtils::Measurement const *)arg1)->start_time(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time_copy(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::time_point_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->start_time_copy(); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_energy_calibration_model(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - SpecUtils::EnergyCalType result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (SpecUtils::EnergyCalType)((SpecUtils::Measurement const *)arg1)->energy_calibration_model(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_calibration_coeffs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< float > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->calibration_coeffs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_deviation_pairs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< std::pair< float,float > > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< std::pair< float,float > > *) &((SpecUtils::Measurement const *)arg1)->deviation_pairs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_energy_calibration(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->energy_calibration(); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_channel_energies(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->channel_energies(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_counts(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_counts(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_neutron_counts(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::vector< float > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->neutron_counts(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_location_state(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< SpecUtils::LocationState const > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< SpecUtils::LocationState const > *) &((SpecUtils::Measurement const *)arg1)->location_state(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_Measurement_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string tempstr2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_title((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::time_point_t *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_start_time(SpecUtils::time_point_t const &)", return ); - arg2 = (SpecUtils::time_point_t *)farg2->cptr; - (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_remarks(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< std::string > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_remarks(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_remarks((std::vector< std::string > const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< std::string > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_parse_warnings(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_source_type(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::SourceType arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (SpecUtils::SourceType)(*farg2); - (arg1)->set_source_type(arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - double arg2 ; - double arg3 ; - SpecUtils::time_point_t arg4 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (double)(*farg2); - arg3 = (double)(*farg3); - SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_position(double,double,SpecUtils::time_point_t)", return ); - arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); - (arg1)->set_position(arg2,arg3,arg4); -} - - -SWIGEXPORT void _wrap_Measurement_set_sample_number(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (int)(*farg2); - (arg1)->set_sample_number(arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_occupancy_status(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::OccupancyStatus arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (SpecUtils::OccupancyStatus)(*farg2); - (arg1)->set_occupancy_status(arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string tempstr2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_detector_name((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_detector_number(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (int)(*farg2); - (arg1)->set_detector_number(arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, float const *farg3) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< float > *arg2 = 0 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &,float const)", return ); - arg2 = (std::vector< float > *)farg2->cptr; - arg3 = (float)(*farg3); - (arg1)->set_neutron_counts((std::vector< float > const &)*arg2,arg3); -} - - -SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::vector< float > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &)", return ); - arg2 = (std::vector< float > *)farg2->cptr; - (arg1)->set_neutron_counts((std::vector< float > const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_pcf_tag(SwigClassWrapper *farg1, char const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - char arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (char)(*farg2); - (arg1)->set_pcf_tag(arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_source_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string tempstr2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_source_description((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_measurement_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string tempstr2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_measurement_description((std::string const &)*arg2); -} - - -SWIGEXPORT int _wrap_Measurement_num_gamma_channels(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - size_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->num_gamma_channels(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_find_gamma_channel(SwigClassWrapper *farg1, float const *farg2) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - size_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - result = ((SpecUtils::Measurement const *)arg1)->find_gamma_channel(arg2); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_gamma_channel_content(SwigClassWrapper *farg1, int const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_content(arg2); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_gamma_channel_lower(SwigClassWrapper *farg1, int const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_lower(arg2); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_gamma_channel_center(SwigClassWrapper *farg1, int const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_center(arg2); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_gamma_channel_upper(SwigClassWrapper *farg1, int const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_upper(arg2); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_gamma_channel_width(SwigClassWrapper *farg1, int const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_width(arg2); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_Measurement_gamma_integral(SwigClassWrapper *farg1, float const *farg2, float const *farg3) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - arg3 = (float)(*farg3); - result = (double)((SpecUtils::Measurement const *)arg1)->gamma_integral(arg2,arg3); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_Measurement_gamma_channels_sum(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { - double fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - size_t arg2 ; - size_t arg3 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - arg3 = (size_t)(*farg3); - result = (double)((SpecUtils::Measurement const *)arg1)->gamma_channels_sum(arg2,arg3); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_energies(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_energies(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_contents(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_contents(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_gamma_energy_min(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_min(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_Measurement_gamma_energy_max(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_max(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsDerived = (int)(SpecUtils::Measurement::DerivedDataProperties::IsDerived); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ItemOfInterestSum = (int)(SpecUtils::Measurement::DerivedDataProperties::ItemOfInterestSum); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_UsedForAnalysis = (int)(SpecUtils::Measurement::DerivedDataProperties::UsedForAnalysis); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ProcessedFurther = (int)(SpecUtils::Measurement::DerivedDataProperties::ProcessedFurther); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_BackgroundSubtracted = (int)(SpecUtils::Measurement::DerivedDataProperties::BackgroundSubtracted); - -SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsBackground = (int)(SpecUtils::Measurement::DerivedDataProperties::IsBackground); - -SWIGEXPORT SwigClassWrapper _wrap_Measurement_derived_data_properties(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - uint32_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = ((SpecUtils::Measurement const *)arg1)->derived_data_properties(); - fresult.cptr = new (uint32_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_rpm_panel_number(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (int)((SpecUtils::Measurement const *)arg1)->rpm_panel_number(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_rpm_column_number(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (int)((SpecUtils::Measurement const *)arg1)->rpm_column_number(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_rpm_mca_number(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - int result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (int)((SpecUtils::Measurement const *)arg1)->rpm_mca_number(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_write_2006_N42_xml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::ostream *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_2006_N42_xml(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::Measurement const *)arg1)->write_2006_N42_xml(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::ostream *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_csv(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::Measurement const *)arg1)->write_csv(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::ostream *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_txt(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::Measurement const *)arg1)->write_txt(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_Measurement_reset(SwigClassWrapper *farg1) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (arg1)->reset(); -} - - -SWIGEXPORT void _wrap_Measurement_rebin(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; - (arg1)->rebin((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; - (arg1)->set_energy_calibration((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); -} - - -SWIGEXPORT void _wrap_Measurement_set_info_from_2006_N42_spectrum_node(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) (rapidxml::xml_node< char > *)0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - SWIG_check_nonnull(farg2->cptr, "rapidxml::xml_node< char > *", "SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t", "SpecUtils::Measurement::set_info_from_2006_N42_spectrum_node(rapidxml::xml_node< char > const *const)", return ); - arg2 = *((rapidxml::xml_node< char > **)(farg2->cptr)); - (arg1)->set_info_from_2006_N42_spectrum_node((rapidxml::xml_node< char > const *)arg2); -} - - -SWIGEXPORT float _wrap_Measurement_gamma_count_at(SwigClassWrapper *farg1, int const *farg2) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (int)(*farg2); - result = (float)SpecUtils_Measurement_gamma_count_at(arg1,arg2); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_Measurement_get_num_channels(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - size_t result; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = SpecUtils_Measurement_get_num_channels(arg1); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_start_time_string(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - std::string result; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = SpecUtils_Measurement_get_start_time_string(arg1); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_Measurement_set_start_time_from_string(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::string arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SpecUtils_Measurement_set_start_time_from_string(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_Measurement_set_neutron_count(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float)(*farg2); - SpecUtils_Measurement_set_neutron_count(arg1,arg2); -} - - -SWIGEXPORT float _wrap_Measurement_get_neutron_count(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - result = (float)SpecUtils_Measurement_get_neutron_count(arg1); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_Measurement_set_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float *arg2 = (float *) 0 ; - size_t arg3 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float *)farg2->data; - arg3 = farg2->size; - SpecUtils_Measurement_set_spectrum(arg1,(float const *)arg2,SWIG_STD_MOVE(arg3)); -} - - -SWIGEXPORT void _wrap_Measurement_get_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - float *arg2 = (float *) 0 ; - size_t arg3 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - arg2 = (float *)farg2->data; - arg3 = farg2->size; - SpecUtils_Measurement_get_spectrum(arg1,arg2,SWIG_STD_MOVE(arg3)); -} - - -SWIGEXPORT void _wrap_Measurement_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; - SpecUtils::Measurement *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_SpecUtils_Measurement>(farg1, *farg2); - -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_0() { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *result = 0 ; - - result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_1(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = 0 ; - SpecUtils::SpecFile *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::SpecFile::SpecFile(SpecUtils::SpecFile const &)", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile((SpecUtils::SpecFile const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_SpecFile(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3, SwigArrayWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - SpecUtils::ParserType arg3 ; - std::string arg4 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType,std::string)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - arg3 = (SpecUtils::ParserType)(*farg3); - (&arg4)->assign(static_cast(farg4->data), farg4->size); - result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3,arg4); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - SpecUtils::ParserType arg3 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - arg3 = (SpecUtils::ParserType)(*farg3); - result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_parse_warnings(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::parse_warnings() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->parse_warnings(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_modified(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->modified(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_SpecFile_reset_modified(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->reset_modified(); -} - - -SWIGEXPORT int _wrap_SpecFile_modified_since_decode(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified_since_decode() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->modified_since_decode(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_SpecFile_reset_modified_since_decode(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified_since_decode()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->reset_modified_since_decode(); -} - - -SWIGEXPORT float _wrap_SpecFile_gamma_live_time(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_live_time() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_live_time(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_SpecFile_gamma_real_time(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_real_time() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_real_time(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_SpecFile_gamma_count_sum(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_count_sum() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->gamma_count_sum(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_SpecFile_neutron_counts_sum(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_counts_sum() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->neutron_counts_sum(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_filename(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::filename() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->filename(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->detector_names(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_numbers(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< int > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_numbers() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< int > *) &((SpecUtils::SpecFile const *)arg1)->detector_numbers(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_detector_names(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_detector_names() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->gamma_detector_names(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_neutron_detector_names(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_detector_names() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->neutron_detector_names(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_uuid(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::uuid() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->uuid(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_remarks(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::remarks() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->remarks(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_lane_number(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::lane_number() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (int)((SpecUtils::SpecFile const *)arg1)->lane_number(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_location_name(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_location_name() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_location_name(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_inspection(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::inspection() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->inspection(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_operator(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_operator() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_operator(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_numbers(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< int,std::less< int >,std::allocator< int > > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_numbers() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::set< int,std::less< int >,std::allocator< int > > *) &((SpecUtils::SpecFile const *)arg1)->sample_numbers(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_num_measurements(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_measurements() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->num_measurements(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_detector_type(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::DetectorType result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_type() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (SpecUtils::DetectorType)((SpecUtils::SpecFile const *)arg1)->detector_type(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_type(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_type() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_type(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_manufacturer(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::manufacturer() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->manufacturer(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_model(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_model() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_model(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_id(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_id() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_id(); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurements(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurements() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->measurements(); - fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::Measurement const > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(size_t) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detectors_analysis(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::shared_ptr< SpecUtils::DetectorAnalysis const > > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detectors_analysis() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->detectors_analysis(); - fresult.cptr = new (std::shared_ptr< SpecUtils::DetectorAnalysis const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_multimedia_data(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::multimedia_data() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *) &((SpecUtils::SpecFile const *)arg1)->multimedia_data(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_has_gps_info(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::has_gps_info() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->has_gps_info(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT double _wrap_SpecFile_mean_latitude(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_latitude() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->mean_latitude(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_SpecFile_mean_longitude(SwigClassWrapper *farg1) { - double fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_longitude() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (double)((SpecUtils::SpecFile const *)arg1)->mean_longitude(); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_passthrough(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::passthrough() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->passthrough(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_contains_derived_data(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_derived_data() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_derived_data(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_contains_non_derived_data(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_non_derived_data() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_non_derived_data(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_SpecFile_set_filename(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_filename(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_filename((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_remarks((std::vector< std::string > const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_add_remark(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_remark(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->add_remark((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_uuid(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_uuid(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_uuid((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_lane_number(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_lane_number(int const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - (arg1)->set_lane_number(arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_measurement_location_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_measurement_location_name(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_measurement_location_name((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_inspection(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_inspection(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_inspection((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_instrument_type(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_type(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_instrument_type((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_detector_type(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::DetectorType arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detector_type(SpecUtils::DetectorType const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (SpecUtils::DetectorType)(*farg2); - (arg1)->set_detector_type(arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_manufacturer(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_manufacturer(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_manufacturer((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_instrument_model(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_model(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_instrument_model((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_instrument_id(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_id(std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - (arg1)->set_instrument_id((std::string const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_live_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_live_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (float)(*farg2); - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_live_time(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_set_real_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - float arg2 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_real_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (float)(*farg2); - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_real_time(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::time_point_t *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg2 = (SpecUtils::time_point_t *)farg2->cptr; - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg2 = (std::vector< std::string > *)farg2->cptr; - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_remarks((std::vector< std::string > const &)*arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_set_source_type(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::SourceType arg2 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_source_type(SpecUtils::SourceType const,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (SpecUtils::SourceType)(*farg2); - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_source_type(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4, SwigClassWrapper const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - double arg2 ; - double arg3 ; - SpecUtils::time_point_t arg4 ; - std::shared_ptr< SpecUtils::Measurement const > arg5 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (double)(*farg2); - arg3 = (double)(*farg3); - SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); - if (farg5->cptr) arg5 = *static_cast*>(farg5->cptr); - (arg1)->set_position(arg2,arg3,arg4,arg5); -} - - -SWIGEXPORT void _wrap_SpecFile_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg3 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_title(std::string const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); - (arg1)->set_title((std::string const &)*arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_set_contained_neutrons(SwigClassWrapper *farg1, int const *farg2, float const *farg3, SwigClassWrapper const *farg4, float const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool arg2 ; - float arg3 ; - std::shared_ptr< SpecUtils::Measurement const > arg4 ; - float arg5 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_contained_neutrons(bool const,float const,std::shared_ptr< SpecUtils::Measurement const > const,float const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (*farg2 ? true : false); - arg3 = (float)(*farg3); - if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); - arg5 = (float)(*farg5); - (arg1)->set_contained_neutrons(arg2,arg3,arg4,arg5); -} - - -SWIGEXPORT void _wrap_SpecFile_set_detectors_analysis(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::DetectorAnalysis *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); - arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; - (arg1)->set_detectors_analysis((SpecUtils::DetectorAnalysis const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_change_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string *arg3 = 0 ; - std::string tempstr2 ; - std::string tempstr3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_detector_name(std::string const &,std::string const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - tempstr3 = std::string(static_cast(farg3->data), farg3->size); - arg3 = &tempstr3; - (arg1)->change_detector_name((std::string const &)*arg2,(std::string const &)*arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_change_sample_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::pair< int,int > > *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< int,int > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); - arg2 = (std::vector< std::pair< int,int > > *)farg2->cptr; - (arg1)->change_sample_numbers((std::vector< std::pair< int,int > > const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::Measurement > arg2 ; - bool arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >,bool const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); - arg3 = (*farg3 ? true : false); - (arg1)->add_measurement(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::Measurement > arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); - (arg1)->add_measurement(arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_remove_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::Measurement const > arg2 ; - bool arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurement(std::shared_ptr< SpecUtils::Measurement const >,bool const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); - arg3 = (*farg3 ? true : false); - (arg1)->remove_measurement(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_remove_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); - arg2 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg2->cptr; - (arg1)->remove_measurements((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_clear_multimedia_data(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::clear_multimedia_data()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->clear_multimedia_data(); -} - - -SWIGEXPORT void _wrap_SpecFile_add_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::MultimediaData *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::MultimediaData const &", "MultimediaData", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); - arg2 = (SpecUtils::MultimediaData *)farg2->cptr; - (arg1)->add_multimedia_data((SpecUtils::MultimediaData const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); - arg2 = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *)farg2->cptr; - (arg1)->set_multimedia_data(*arg2); -} - - -SWIGEXPORT int _wrap_SpecFile_occupancy_number_from_remarks(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::occupancy_number_from_remarks() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (int)((SpecUtils::SpecFile const *)arg1)->occupancy_number_from_remarks(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_measurements(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_measurements(int const) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - result = ((SpecUtils::SpecFile const *)arg1)->sample_measurements(arg2); - fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigArrayWrapper *farg3) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - std::string *arg3 = 0 ; - std::string tempstr3 ; - std::shared_ptr< SpecUtils::Measurement const > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,std::string const &) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - tempstr3 = std::string(static_cast(farg3->data), farg3->size); - arg3 = &tempstr3; - result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,(std::string const &)*arg3); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_2(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - int arg3 ; - std::shared_ptr< SpecUtils::Measurement const > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,int const) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - arg3 = (int)(*farg3); - result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,arg3); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_suggested_sum_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; - std::vector< std::string > *arg3 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::string > *)farg3->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->suggested_sum_energy_calibration((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sum_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper const *farg4) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; - std::vector< std::string > *arg3 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > arg4 ; - std::shared_ptr< SpecUtils::Measurement > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); - arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::string > *)farg3->cptr; - if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); - result = ((SpecUtils::SpecFile const *)arg1)->sum_measurements((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3,arg4); - fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_memmorysize(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::memmorysize() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->memmorysize(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_channel_counts(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::set< size_t,std::less< size_t >,std::allocator< size_t > > > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_channel_counts() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->gamma_channel_counts(); - fresult.cptr = new (std::set< size_t,std::less< size_t >,std::allocator< size_t > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_num_gamma_channels(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_gamma_channels() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->num_gamma_channels(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_keep_n_bin_spectra_only(SwigClassWrapper *farg1, int const *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t arg2 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_n_bin_spectra_only(size_t)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = (arg1)->keep_n_bin_spectra_only(arg2); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_contained_neutron(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contained_neutron() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->contained_neutron(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_energy_cal_variants(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::set< std::string,std::less< std::string >,std::allocator< std::string > > > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::energy_cal_variants() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->energy_cal_variants(); - fresult.cptr = new (std::set< std::string,std::less< std::string >,std::allocator< std::string > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_keep_energy_cal_variants(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); - arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; - result = (arg1)->keep_energy_cal_variants((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_keep_derived_data_variant(SwigClassWrapper *farg1, int const *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::SpecFile::DerivedVariantToKeep arg2 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_derived_data_variant(SpecUtils::SpecFile::DerivedVariantToKeep const)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (SpecUtils::SpecFile::DerivedVariantToKeep)(*farg2); - result = (arg1)->keep_derived_data_variant(arg2); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_remove_detectors_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); - arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; - result = (arg1)->remove_detectors_data((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_remove_neutron_measurements(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - size_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_neutron_measurements()", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (arg1)->remove_neutron_measurements(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_background_sample_number(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::background_sample_number() const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (int)((SpecUtils::SpecFile const *)arg1)->background_sample_number(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_generate_psuedo_uuid(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::generate_psuedo_uuid() const", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->generate_psuedo_uuid(); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_SpecFile_reset(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->reset(); -} - - -SWIGEXPORT int _wrap_SpecFile_load_N42_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_N42_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_pcf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_pcf_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_pcf_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_spc_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spc_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_spc_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_chn_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_chn_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_chn_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_iaea_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_iaea_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_iaea_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_binary_exploranium_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_binary_exploranium_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_binary_exploranium_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_micro_raider_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_micro_raider_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_micro_raider_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_txt_or_csv_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_txt_or_csv_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_txt_or_csv_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_cnf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_cnf_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_cnf_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_tracs_mps_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tracs_mps_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_tracs_mps_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_aram_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_aram_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_aram_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spectroscopic_daily_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_spectroscopic_daily_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_amptek_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_amptek_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_amptek_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_ortec_listmode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_ortec_listmode_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_ortec_listmode_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_lsrm_spe_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lsrm_spe_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_lsrm_spe_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_tka_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tka_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_tka_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_multiact_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_multiact_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_multiact_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_phd_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_phd_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_phd_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_lzs_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lzs_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_lzs_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_radiacode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_radiacode_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_radiacode_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_xml_scan_data_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_xml_scan_data_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_xml_scan_data_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_json_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_json_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_json_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_caen_gxml_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_caen_gxml_file(std::string const &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)(arg1)->load_caen_gxml_file((std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_N42(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - char *arg2 = (char *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (char *)(farg2->data); - result = (bool)(arg1)->load_N42_from_data(arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - char *arg2 = (char *) 0 ; - char *arg3 = (char *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *,char *)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (char *)(farg2->data); - arg3 = (char *)(farg3->data); - result = (bool)(arg1)->load_N42_from_data(arg2,arg3); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_iaea_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_iaea_spc(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_binary_spc(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_N42_document(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42_document(rapidxml::xml_node< char > const *)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (rapidxml::xml_node< char > *)farg2->cptr; - result = (bool)(arg1)->load_from_N42_document((rapidxml::xml_node< char > const *)arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_micro_raider_from_data(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - char *arg2 = (char *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_micro_raider_from_data(char const *)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (char *)(farg2->data); - result = (bool)(arg1)->load_from_micro_raider_from_data((char const *)arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_binary_exploranium(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_binary_exploranium(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_pcf(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_txt_or_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_txt_or_csv(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_Gr135_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_Gr135_txt(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_spectroscopic_daily_file(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_srpm210_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_srpm210_csv(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_D3S_raw(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_D3S_raw(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_amptek_mca(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_amptek_mca(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_ortec_listmode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_ortec_listmode(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_lsrm_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_lsrm_spe(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_tka(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_multiact(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_multiact(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_phd(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_phd(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_lzs(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_lzs(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_radiacode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_radiacode(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_radiacode_spectrogram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_radiacode_spectrogram(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_xml_scan_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_xml_scan_data(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_iaea(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_iaea(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_chn(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_chn(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_cnf(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_tracs_mps(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_tracs_mps(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_aram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_aram(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_json(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_json(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_load_from_caen_gxml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); - arg2 = (std::istream *)farg2->cptr; - result = (bool)(arg1)->load_from_caen_gxml(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_RebinToCommonBinning = (int)(SpecUtils::SpecFile::RebinToCommonBinning); - -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_DontChangeOrReorderSamples = (int)(SpecUtils::SpecFile::DontChangeOrReorderSamples); - -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_ReorderSamplesByTime = (int)(SpecUtils::SpecFile::ReorderSamplesByTime); - -SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_StandardCleanup = (int)(SpecUtils::SpecFile::StandardCleanup); - -SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - unsigned int arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load(unsigned int const)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (unsigned int)(*farg2); - (arg1)->cleanup_after_load(arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_1(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->cleanup_after_load(); -} - - -SWIGEXPORT void _wrap_SpecFile_recalc_total_counts(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::recalc_total_counts()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->recalc_total_counts(); -} - - -SWIGEXPORT void _wrap_SpecFile_merge_neutron_meas_into_gamma_meas(SwigClassWrapper *farg1) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::merge_neutron_meas_into_gamma_meas()", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (arg1)->merge_neutron_meas_into_gamma_meas(); -} - - -SWIGEXPORT void _wrap_SpecFile_rebin_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigClassWrapper const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::Measurement const > *arg3 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - std::shared_ptr< SpecUtils::Measurement const > tempnull3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_measurement(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; - arg3 = farg3->cptr ? static_cast * >(farg3->cptr) : &tempnull3; - (arg1)->rebin_measurement((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::shared_ptr< SpecUtils::Measurement const > const &)*arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_rebin_all_measurements(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_all_measurements(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; - (arg1)->rebin_all_measurements((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); -} - - -SWIGEXPORT void _wrap_SpecFile_set_energy_calibration_from_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::istream *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); - arg2 = (std::istream *)farg2->cptr; - (arg1)->set_energy_calibration_from_CALp_file(*arg2); -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names_to_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::vector< std::string > *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); - arg2 = (std::vector< std::string > *)farg2->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->detector_names_to_numbers((std::vector< std::string > const &)*arg2); - fresult.cptr = new (std::set< int,std::less< int >,std::allocator< int > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string arg2 ; - SpecUtils::SaveSpectrumAsType arg3 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - arg3 = (SpecUtils::SaveSpectrumAsType)(*farg3); - ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3); -} - - -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string arg2 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; - SpecUtils::SaveSpectrumAsType arg5 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); -} - - -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_2(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string arg2 ; - SwigValueWrapper< std::vector< int > > arg3 ; - SwigValueWrapper< std::vector< int > > arg4 ; - SpecUtils::SaveSpectrumAsType arg5 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - (&arg2)->assign(static_cast(farg2->data), farg2->size); - SWIG_check_nonnull(farg3->cptr, "std::vector< int >", "SWIGTYPE_p_std__vectorT_int_t", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::vector< int > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::vector< int >", "SWIGTYPE_p_std__vectorT_int_t", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = *((std::vector< int > *)(farg4->cptr)); - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); -} - - -SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_3(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::string *arg2 = 0 ; - std::set< int,std::less< int >,std::allocator< int > > *arg3 = 0 ; - std::vector< std::string > *arg4 = 0 ; - SpecUtils::SaveSpectrumAsType arg5 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = (std::set< int,std::less< int >,std::allocator< int > > *)farg3->cptr; - SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = (std::vector< std::string > *)farg4->cptr; - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write_to_file((std::string const &)*arg2,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg3,(std::vector< std::string > const &)*arg4,arg5); -} - - -SWIGEXPORT void _wrap_SpecFile_write__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; - SpecUtils::SaveSpectrumAsType arg5 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,arg4,arg5); -} - - -SWIGEXPORT void _wrap_SpecFile_write__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::vector< std::string > *arg4 = 0 ; - SpecUtils::SaveSpectrumAsType arg5 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); - arg4 = (std::vector< std::string > *)farg4->cptr; - arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); - ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,(std::vector< std::string > const &)*arg4,arg5); -} - - -SWIGEXPORT int _wrap_SpecFile_write_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_pcf(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_2006_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2006_N42(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_csv(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_txt(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::vector< std::string > *arg4 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); - arg4 = (std::vector< std::string > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::vector< std::string > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, SwigClassWrapper *farg5) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SpecUtils::SpecFile::SpcBinaryType arg3 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; - std::set< int,std::less< int >,std::allocator< int > > *arg5 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - arg3 = (SpecUtils::SpecFile::SpcBinaryType)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); - SWIG_check_nonnull(farg5->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg5 = (std::set< int,std::less< int >,std::allocator< int > > *)farg5->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_spc(*arg2,arg3,arg4,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg5); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_ascii_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_ascii_spc(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr130v0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr130v0(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr135v2(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr135v2(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_iaea_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_iaea_spe(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_cnf(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; - std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); - SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); - arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_tka(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_2012N42_VERSION_get() { - int fresult ; - int result; - - result = (int)(5); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_create_2012_N42_xml(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SwigValueWrapper< std::shared_ptr< ::rapidxml::xml_document< char > > > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::create_2012_N42_xml() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = ((SpecUtils::SpecFile const *)arg1)->create_2012_N42_xml(); - fresult.cptr = new (std::shared_ptr< ::rapidxml::xml_document< char > >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_write_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::ostream *arg2 = 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); - arg2 = (std::ostream *)farg2->cptr; - result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2012_N42(*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_mutex(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - std::recursive_mutex *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mutex() const", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (std::recursive_mutex *) &((SpecUtils::SpecFile const *)arg1)->mutex(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement_at(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int arg2 ; - std::shared_ptr< SpecUtils::Measurement const > result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::measurement_at(int)", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - arg2 = (int)(*farg2); - result = SpecUtils_SpecFile_measurement_at(arg1,arg2); - fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT int _wrap_SpecFile_get_max_channel_count(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - int result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::get_max_channel_count()", return 0); - arg1 = (SpecUtils::SpecFile *)farg1->cptr; - result = (int)SpecUtils_SpecFile_get_max_channel_count(arg1); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_SpecFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; - SpecUtils::SpecFile *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); - -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->remark_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_remark__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->remark_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->nuclide_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->nuclide_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_activity__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->activity_ = arg2; -} - - -SWIGEXPORT float _wrap_DetectorAnalysisResult_activity__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->activity_); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->nuclide_type_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide_type__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->nuclide_type_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_id_confidence__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->id_confidence_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_id_confidence__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->id_confidence_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_distance__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->distance_ = arg2; -} - - -SWIGEXPORT float _wrap_DetectorAnalysisResult_distance__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->distance_); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_dose_rate__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->dose_rate_ = arg2; -} - - -SWIGEXPORT float _wrap_DetectorAnalysisResult_dose_rate__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->dose_rate_); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_real_time__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->real_time_ = arg2; -} - - -SWIGEXPORT float _wrap_DetectorAnalysisResult_real_time__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (float) ((arg1)->real_time_); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_detector__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->detector_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_detector__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (std::string *) & ((arg1)->detector_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysisResult() { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysisResult *result = 0 ; - - result = (SpecUtils::DetectorAnalysisResult *)new SpecUtils::DetectorAnalysisResult(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_reset(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::reset()", return ); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - (arg1)->reset(); -} - - -SWIGEXPORT int _wrap_DetectorAnalysisResult_isEmpty(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult const *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::isEmpty() const", return 0); - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - result = (bool)((SpecUtils::DetectorAnalysisResult const *)arg1)->isEmpty(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_DetectorAnalysisResult(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - - arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_DetectorAnalysisResult_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; - SpecUtils::DetectorAnalysisResult *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); - -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_remarks__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::string > *arg2 = (std::vector< std::string > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (std::vector< std::string > *)farg2->cptr; - if (arg1) (arg1)->remarks_ = *arg2; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_remarks__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::string > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::vector< std::string > *)& ((arg1)->remarks_); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_name__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_name_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_name__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_name_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_component_versions__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::pair< std::string,std::string > > *arg2 = (std::vector< std::pair< std::string,std::string > > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (std::vector< std::pair< std::string,std::string > > *)farg2->cptr; - if (arg1) (arg1)->algorithm_component_versions_ = *arg2; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_algorithm_component_versions__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< std::pair< std::string,std::string > > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::vector< std::pair< std::string,std::string > > *)& ((arg1)->algorithm_component_versions_); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_creator__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_creator_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_creator__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_creator_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_description_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_description__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_description_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_analysis_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SpecUtils::time_point_t arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); - arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); - if (arg1) (arg1)->analysis_start_time_ = arg2; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_analysis_start_time__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SpecUtils::time_point_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = ((arg1)->analysis_start_time_); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_analysis_computation_duration__set(SwigClassWrapper *farg1, float const *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - float arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->analysis_computation_duration_ = arg2; -} - - -SWIGEXPORT float _wrap_DetectorAnalysis_analysis_computation_duration__get(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return 0); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (float) ((arg1)->analysis_computation_duration_); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_result_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->algorithm_result_description_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_result_description__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::string *) & ((arg1)->algorithm_result_description_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_results__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< SpecUtils::DetectorAnalysisResult > *arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *)farg2->cptr; - if (arg1) (arg1)->results_ = *arg2; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_results__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - std::vector< SpecUtils::DetectorAnalysisResult > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (std::vector< SpecUtils::DetectorAnalysisResult > *)& ((arg1)->results_); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysis() { - SwigClassWrapper fresult ; - SpecUtils::DetectorAnalysis *result = 0 ; - - result = (SpecUtils::DetectorAnalysis *)new SpecUtils::DetectorAnalysis(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_reset(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::reset()", return ); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - (arg1)->reset(); -} - - -SWIGEXPORT int _wrap_DetectorAnalysis_is_empty(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::is_empty() const", return 0); - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - result = (bool)((SpecUtils::DetectorAnalysis const *)arg1)->is_empty(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_DetectorAnalysis(SwigClassWrapper *farg1) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - - arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_DetectorAnalysis_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; - SpecUtils::DetectorAnalysis *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); - -} - - -SWIGEXPORT void _wrap_MultimediaData_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->remark_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_remark__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->remark_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_MultimediaData_descriptions__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->descriptions_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_descriptions__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->descriptions_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_MultimediaData_data__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::vector< char > *arg2 = (std::vector< char > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - arg2 = (std::vector< char > *)farg2->cptr; - if (arg1) (arg1)->data_ = *arg2; -} - - -SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_data__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::vector< char > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::vector< char > *)& ((arg1)->data_); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_MultimediaData_data_encoding__set(SwigClassWrapper *farg1, int const *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::MultimediaData::EncodingType arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - arg2 = (SpecUtils::MultimediaData::EncodingType)(*farg2); - if (arg1) (arg1)->data_encoding_ = arg2; -} - - -SWIGEXPORT int _wrap_MultimediaData_data_encoding__get(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::MultimediaData::EncodingType result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return 0); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (SpecUtils::MultimediaData::EncodingType) ((arg1)->data_encoding_); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_MultimediaData_capture_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::time_point_t arg2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::MultimediaData::capture_start_time_", return ); - arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); - if (arg1) (arg1)->capture_start_time_ = arg2; -} - - -SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_capture_start_time__get(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::time_point_t result; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return SwigClassWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = ((arg1)->capture_start_time_); - fresult.cptr = new (SpecUtils::time_point_t)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT void _wrap_MultimediaData_file_uri__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->file_uri_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_file_uri__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->file_uri_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_MultimediaData_mime_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *arg2 = 0 ; - std::string tempstr2 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return ); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - if (arg1) (arg1)->mime_type_ = *arg2; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_mime_type__get(SwigClassWrapper *farg1) { - SwigArrayWrapper fresult ; - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - std::string *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return SwigArrayWrapper_uninitialized()); - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - result = (std::string *) & ((arg1)->mime_type_); - fresult.size = result->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, result->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_MultimediaData() { - SwigClassWrapper fresult ; - SpecUtils::MultimediaData *result = 0 ; - - result = (SpecUtils::MultimediaData *)new SpecUtils::MultimediaData(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_MultimediaData(SwigClassWrapper *farg1) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - - arg1 = (SpecUtils::MultimediaData *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; - SpecUtils::MultimediaData *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign(farg1, *farg2); - -} - - -SWIGEXPORT int _wrap_pcf_det_name_to_dev_pair_index(SwigArrayWrapper *farg1, int *farg2, int *farg3, int *farg4) { - int fresult ; - std::string arg1 ; - int *arg2 = 0 ; - int *arg3 = 0 ; - int *arg4 = 0 ; - int result; - - (&arg1)->assign(static_cast(farg1->data), farg1->size); - arg2 = (int *)(farg2); - arg3 = (int *)(farg3); - arg4 = (int *)(farg4); - result = (int)SpecUtils::pcf_det_name_to_dev_pair_index(SWIG_STD_MOVE(arg1),*arg2,*arg3,*arg4); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { - SwigClassWrapper fresult ; - std::pair< float,float > *result = 0 ; - - result = (std::pair< float,float > *)new std::pair< float,float >(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_1(float const *farg1, float const *farg2) { - SwigClassWrapper fresult ; - float arg1 ; - float arg2 ; - std::pair< float,float > *result = 0 ; - - arg1 = (float)(*farg1); - arg2 = (float)(*farg2); - result = (std::pair< float,float > *)new std::pair< float,float >(arg1,arg2); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_2(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::pair< float,float > *arg1 = 0 ; - std::pair< float,float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > const &", "DevPair", "std::pair< float,float >::pair(std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::pair< float,float > *)farg1->cptr; - result = (std::pair< float,float > *)new std::pair< float,float >((std::pair< float,float > const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_DevPair_first_set(SwigClassWrapper *farg1, float const *farg2) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return ); - arg1 = (std::pair< float,float > *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->first = arg2; -} - - -SWIGEXPORT float _wrap_DevPair_first_get(SwigClassWrapper *farg1) { - float fresult ; - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return 0); - arg1 = (std::pair< float,float > *)farg1->cptr; - result = (float) ((arg1)->first); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_DevPair_second_set(SwigClassWrapper *farg1, float const *farg2) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return ); - arg1 = (std::pair< float,float > *)farg1->cptr; - arg2 = (float)(*farg2); - if (arg1) (arg1)->second = arg2; -} - - -SWIGEXPORT float _wrap_DevPair_second_get(SwigClassWrapper *farg1) { - float fresult ; - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - float result; - - SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return 0); - arg1 = (std::pair< float,float > *)farg1->cptr; - result = (float) ((arg1)->second); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_DevPair(SwigClassWrapper *farg1) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - - arg1 = (std::pair< float,float > *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_DevPair_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; - std::pair< float,float > *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_>(farg1, *farg2); - -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_0() { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *result = 0 ; - - result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_1(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *arg1 = 0 ; - std::vector< std::pair< float,float > > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "std::vector< std::pair< float,float > >::vector(std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >((std::vector< std::pair< float,float > > const &)*arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_2(int const *farg1) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > >::size_type arg1 ; - std::vector< std::pair< float,float > > *result = 0 ; - - arg1 = (std::vector< std::pair< float,float > >::size_type)(*farg1); - result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_3(int const *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > >::size_type arg1 ; - std::pair< float,float > *arg2 = 0 ; - std::vector< std::pair< float,float > > *result = 0 ; - - arg1 = (std::vector< std::pair< float,float > >::size_type)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::vector(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); - arg2 = (std::pair< float,float > *)farg2->cptr; - result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(arg1,(std::pair< float,float > const &)*arg2); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_DeviationPairs_size(SwigClassWrapper *farg1) { - int fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::size() const", return 0); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = ((std::vector< std::pair< float,float > > const *)arg1)->size(); - fresult = (std::vector< std::pair< float,float > >::size_type)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_DeviationPairs_capacity(SwigClassWrapper *farg1) { - int fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::capacity() const", return 0); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = ((std::vector< std::pair< float,float > > const *)arg1)->capacity(); - fresult = (std::vector< std::pair< float,float > >::size_type)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_DeviationPairs_empty(SwigClassWrapper *farg1) { - int fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::empty() const", return 0); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = (bool)((std::vector< std::pair< float,float > > const *)arg1)->empty(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_front(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::pair< float,float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::front() const", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = (std::pair< float,float > *) &((std::vector< std::pair< float,float > > const *)arg1)->front(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_back(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::pair< float,float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::back() const", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = (std::pair< float,float > *) &((std::vector< std::pair< float,float > > const *)arg1)->back(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_DeviationPairs_reserve(SwigClassWrapper *farg1, int const *farg2) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::reserve(std::vector< std::pair< float,float > >::size_type)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); - (arg1)->reserve(arg2); -} - - -SWIGEXPORT void _wrap_DeviationPairs_resize__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); - (arg1)->resize(arg2); -} - - -SWIGEXPORT void _wrap_DeviationPairs_resize__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - std::pair< float,float > *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); - arg3 = (std::pair< float,float > *)farg3->cptr; - (arg1)->resize(arg2,(std::pair< float,float > const &)*arg3); -} - - -SWIGEXPORT void _wrap_DeviationPairs_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::pair< float,float > *arg2 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::push_back(std::pair< float,float > const &)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::push_back(std::pair< float,float > const &)", return ); - arg2 = (std::pair< float,float > *)farg2->cptr; - (arg1)->push_back((std::pair< float,float > const &)*arg2); -} - - -SWIGEXPORT void _wrap_DeviationPairs_pop_back(SwigClassWrapper *farg1) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::pop_back()", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - (arg1)->pop_back(); -} - - -SWIGEXPORT void _wrap_DeviationPairs_clear(SwigClassWrapper *farg1) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::clear()", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - (arg1)->clear(); -} - - -SWIGEXPORT void _wrap_DeviationPairs_set(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - std::pair< float,float > *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::set(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = *farg2 - 1; - SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::set(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); - arg3 = (std::pair< float,float > *)farg3->cptr; - std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__set(arg1,SWIG_STD_MOVE(arg2),(std::pair< float,float > const &)*arg3); -} - - -SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_get(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - std::pair< float,float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::get(std::vector< std::pair< float,float > >::size_type)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get(arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_DeviationPairs_insert(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - std::pair< float,float > *arg3 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::insert(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = *farg2 - 1; - SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::insert(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); - arg3 = (std::pair< float,float > *)farg3->cptr; - std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__insert(arg1,SWIG_STD_MOVE(arg2),(std::pair< float,float > const &)*arg3); -} - - -SWIGEXPORT void _wrap_DeviationPairs_erase__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::erase(std::vector< std::pair< float,float > >::size_type)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = *farg2 - 1; - std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); -} - - -SWIGEXPORT void _wrap_DeviationPairs_erase__SWIG_1(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - std::vector< std::pair< float,float > >::size_type arg3 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::erase(std::vector< std::pair< float,float > >::size_type,std::vector< std::pair< float,float > >::size_type)", return ); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = *farg2 - 1; - arg3 = *farg3 - 1; - std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); -} - - -SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_front_ref(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::pair< float,float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::front_ref()", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__front_ref(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_back_ref(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::pair< float,float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::back_ref()", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__back_ref(arg1); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_get_ref(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > >::size_type arg2 ; - std::pair< float,float > *result = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::get_ref(std::vector< std::pair< float,float > >::size_type)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - arg2 = *farg2 - 1; - result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_DeviationPairs(SwigClassWrapper *farg1) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - - arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; - delete arg1; -} - - -SWIGEXPORT void _wrap_DeviationPairs_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; - std::vector< std::pair< float,float > > *arg2 = 0 ; - - (void)sizeof(arg1); - (void)sizeof(arg2); - SWIG_assign >, SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_>(farg1, *farg2); - -} - - -SWIGEXPORT int _wrap_EnergyCalibration_type(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - SpecUtils::EnergyCalType result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = (SpecUtils::EnergyCalType)((SpecUtils::EnergyCalibration const *)arg1)->type(); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_EnergyCalibration_valid(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->valid(); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_coefficients(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - std::vector< float > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = (std::vector< float > *) &((SpecUtils::EnergyCalibration const *)arg1)->coefficients(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_deviation_pairs(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - std::vector< std::pair< float,float > > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = (std::vector< std::pair< float,float > > *) &((SpecUtils::EnergyCalibration const *)arg1)->deviation_pairs(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_channel_energies(SwigClassWrapper *farg1) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - std::shared_ptr< std::vector< float > const > *result = 0 ; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::EnergyCalibration const *)arg1)->channel_energies(); - fresult.cptr = (void*)result; - fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_EnergyCalibration_num_channels(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - size_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = ((SpecUtils::EnergyCalibration const *)arg1)->num_channels(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibration() { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *result = 0 ; - - result = (SpecUtils::EnergyCalibration *)new SpecUtils::EnergyCalibration(); - fresult.cptr = result ? new std::shared_ptr< SpecUtils::EnergyCalibration >(result SWIG_NO_NULL_DELETER_1) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT void _wrap_EnergyCalibration_set_polynomial(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t arg2 ; - std::vector< float > *arg3 = 0 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg3 = (std::vector< float > *)farg3->cptr; - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - (arg1)->set_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); -} - - -SWIGEXPORT void _wrap_EnergyCalibration_set_default_polynomial(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t arg2 ; - std::vector< float > *arg3 = 0 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg3 = (std::vector< float > *)farg3->cptr; - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - (arg1)->set_default_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); -} - - -SWIGEXPORT void _wrap_EnergyCalibration_set_full_range_fraction(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - size_t arg2 ; - std::vector< float > *arg3 = 0 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg3 = (std::vector< float > *)farg3->cptr; - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - (arg1)->set_full_range_fraction(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); -} - - -SWIGEXPORT int _wrap_EnergyCalibration_op_lt__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator <(SpecUtils::EnergyCalibration const &) const", return 0) - arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator <((SpecUtils::EnergyCalibration const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_EnergyCalibration_op_eq__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator ==(SpecUtils::EnergyCalibration const &) const", return 0) - arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator ==((SpecUtils::EnergyCalibration const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_EnergyCalibration_op_ne__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - bool result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator !=(SpecUtils::EnergyCalibration const &) const", return 0) - arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); - result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator !=((SpecUtils::EnergyCalibration const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_EnergyCalibration_memmorysize(SwigClassWrapper *farg1) { - int fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - size_t result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = ((SpecUtils::EnergyCalibration const *)arg1)->memmorysize(); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_EnergyCalibration_channel_for_energy(SwigClassWrapper *farg1, double const *farg2) { - double fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - double arg2 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - arg2 = (double)(*farg2); - result = (double)((SpecUtils::EnergyCalibration const *)arg1)->channel_for_energy(arg2); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_EnergyCalibration_energy_for_channel(SwigClassWrapper *farg1, double const *farg2) { - double fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - double arg2 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - double result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - arg2 = (double)(*farg2); - result = (double)((SpecUtils::EnergyCalibration const *)arg1)->energy_for_channel(arg2); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_EnergyCalibration_lower_energy(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::EnergyCalibration const *)arg1)->lower_energy(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_EnergyCalibration_upper_energy(SwigClassWrapper *farg1) { - float fresult ; - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; - float result; - - smartarg1 = (std::shared_ptr*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - result = (float)((SpecUtils::EnergyCalibration const *)arg1)->upper_energy(); - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_EnergyCalibration_sm_min_channels_get() { - int fresult ; - size_t result; - - result = (size_t)SpecUtils::EnergyCalibration::sm_min_channels; - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_EnergyCalibration_sm_max_channels_get() { - int fresult ; - size_t result; - - result = (size_t)SpecUtils::EnergyCalibration::sm_max_channels; - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT float _wrap_EnergyCalibration_sm_polynomial_offset_limit_get() { - float fresult ; - float result; - - result = (float)(float)SpecUtils::EnergyCalibration::sm_polynomial_offset_limit; - fresult = (float)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_delete_EnergyCalibration(SwigClassWrapper *farg1) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - (void)arg1; delete smartarg1; -} - - -SWIGEXPORT void _wrap_EnergyCalibration_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; - SpecUtils::EnergyCalibration *arg2 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; - - smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); - arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; - (void)sizeof(arg2); - SWIG_assign, SWIGPOLICY_SpecUtils_EnergyCalibration>(farg1, *farg2); - -} - - -SWIGEXPORT SwigClassWrapper _wrap_energy_cal_combine_channels(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - SpecUtils::EnergyCalibration *arg1 = 0 ; - size_t arg2 ; - std::shared_ptr< SpecUtils::EnergyCalibration > result; - - SWIG_check_sp_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::energy_cal_combine_channels(SpecUtils::EnergyCalibration const &,size_t const)", return SwigClassWrapper_uninitialized()) - arg1 = (SpecUtils::EnergyCalibration*)static_cast*>(farg1->cptr)->get(); - arg2 = (size_t)(*farg2); - result = SpecUtils::energy_cal_combine_channels((SpecUtils::EnergyCalibration const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = result ? (new std::shared_ptr< SpecUtils::EnergyCalibration >(static_cast< const std::shared_ptr< SpecUtils::EnergyCalibration >& >(result))) : NULL; - fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_polynomial_binning(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - result = SpecUtils::polynomial_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); - fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_0(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, int const *farg4) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - bool arg4 ; - SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - arg4 = (*farg4 ? true : false); - result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3,arg4); - fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (size_t)(*farg2); - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); - fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT double _wrap_fullrangefraction_energy(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< float > *)farg2->cptr; - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - result = (double)SpecUtils::fullrangefraction_energy(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_polynomial_energy(double const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< float > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - result = (double)SpecUtils::polynomial_energy(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_deviation_pair_correction(double const *farg1, SwigClassWrapper *farg2) { - double fresult ; - double arg1 ; - std::vector< std::pair< float,float > > *arg2 = 0 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::deviation_pair_correction(double const,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; - result = (double)SpecUtils::deviation_pair_correction(arg1,(std::vector< std::pair< float,float > > const &)*arg2); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_correction_due_to_dev_pairs(double const *farg1, SwigClassWrapper *farg2) { - double fresult ; - double arg1 ; - std::vector< std::pair< float,float > > *arg2 = 0 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::correction_due_to_dev_pairs(double const,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; - result = (double)SpecUtils::correction_due_to_dev_pairs(arg1,(std::vector< std::pair< float,float > > const &)*arg2); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_apply_deviation_pair(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - std::vector< std::pair< float,float > > *arg2 = 0 ; - SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); - arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; - result = SpecUtils::apply_deviation_pair((std::vector< float > const &)*arg1,(std::vector< std::pair< float,float > > const &)*arg2); - fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_polynomial_coef_to_fullrangefraction(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< float > result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_coef_to_fullrangefraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = SpecUtils::polynomial_coef_to_fullrangefraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = new (std::vector< float >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_coef_to_polynomial(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< float > result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_coef_to_polynomial(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = SpecUtils::fullrangefraction_coef_to_polynomial((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = new (std::vector< float >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_mid_channel_polynomial_to_fullrangeFraction(SwigClassWrapper *farg1, int const *farg2) { - SwigClassWrapper fresult ; - std::vector< float > *arg1 = 0 ; - size_t arg2 ; - std::vector< float > result; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::mid_channel_polynomial_to_fullrangeFraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); - arg1 = (std::vector< float > *)farg1->cptr; - arg2 = (size_t)(*farg2); - result = SpecUtils::mid_channel_polynomial_to_fullrangeFraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); - fresult.cptr = new (std::vector< float >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT int _wrap_calibration_is_valid(int const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, int const *farg4) { - int fresult ; - SpecUtils::EnergyCalType arg1 ; - std::vector< float > *arg2 = 0 ; - std::vector< std::pair< float,float > > *arg3 = 0 ; - size_t arg4 ; - bool result; - - arg1 = (SpecUtils::EnergyCalType)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); - arg2 = (std::vector< float > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); - arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; - arg4 = (size_t)(*farg4); - result = (bool)SpecUtils::calibration_is_valid(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3,SWIG_STD_MOVE(arg4)); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_polynomial_cal_remove_first_channels(int const *farg1, SwigClassWrapper *farg2) { - SwigClassWrapper fresult ; - int arg1 ; - std::vector< float > *arg2 = 0 ; - std::vector< float > result; - - arg1 = (int)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_cal_remove_first_channels(int const,std::vector< float > const &)", return SwigClassWrapper_uninitialized()); - arg2 = (std::vector< float > *)farg2->cptr; - result = SpecUtils::polynomial_cal_remove_first_channels(arg1,(std::vector< float > const &)*arg2); - fresult.cptr = new (std::vector< float >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, double const *farg5) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double arg5 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); - arg2 = (std::vector< float > *)farg2->cptr; - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - arg5 = (double)(*farg5); - result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< float > *)farg2->cptr; - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, double const *farg5) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double arg5 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); - arg2 = (std::vector< float > *)farg2->cptr; - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - arg5 = (double)(*farg5); - result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { - double fresult ; - double arg1 ; - std::vector< float > *arg2 = 0 ; - size_t arg3 ; - std::vector< std::pair< float,float > > *arg4 = 0 ; - double result; - - arg1 = (double)(*farg1); - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg2 = (std::vector< float > *)farg2->cptr; - arg3 = (size_t)(*farg3); - SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); - arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; - result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); - fresult = (double)(result); - return fresult; -} - - -SWIGEXPORT void _wrap_rebin_by_lower_edge(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { - std::vector< float > *arg1 = 0 ; - std::vector< float > *arg2 = 0 ; - std::vector< float > *arg3 = 0 ; - std::vector< float > *arg4 = 0 ; - - SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); - arg1 = (std::vector< float > *)farg1->cptr; - SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); - arg2 = (std::vector< float > *)farg2->cptr; - SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); - arg3 = (std::vector< float > *)farg3->cptr; - SWIG_check_nonnull(farg4->cptr, "std::vector< float > &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); - arg4 = (std::vector< float > *)farg4->cptr; - SpecUtils::rebin_by_lower_edge((std::vector< float > const &)*arg1,(std::vector< float > const &)*arg2,(std::vector< float > const &)*arg3,*arg4); -} - - -SWIGEXPORT int _wrap_write_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigArrayWrapper *farg3) { - int fresult ; - std::ostream *arg1 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; - std::string *arg3 = 0 ; - std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; - std::string tempstr3 ; - bool result; - - SWIG_check_nonnull(farg1->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::write_CALp_file(std::ostream &,std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::string const &)", return 0); - arg1 = (std::ostream *)farg1->cptr; - arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; - tempstr3 = std::string(static_cast(farg3->data), farg3->size); - arg3 = &tempstr3; - result = (bool)SpecUtils::write_CALp_file(*arg1,(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::string const &)*arg3); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_remove_file(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - bool result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = (bool)SpecUtils::remove_file((std::string const &)*arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_is_file(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - bool result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = (bool)SpecUtils::is_file((std::string const &)*arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_rename_file(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - int fresult ; - std::string *arg1 = 0 ; - std::string *arg2 = 0 ; - std::string tempstr1 ; - std::string tempstr2 ; - bool result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = (bool)SpecUtils::rename_file((std::string const &)*arg1,(std::string const &)*arg2); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_is_directory(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - bool result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = (bool)SpecUtils::is_directory((std::string const &)*arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT int _wrap_create_directory(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - int result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = (int)SpecUtils::create_directory((std::string const &)*arg1); - fresult = (int)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_can_rw_in_directory(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - bool result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = (bool)SpecUtils::can_rw_in_directory((std::string const &)*arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_append_path(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - SwigArrayWrapper fresult ; - std::string *arg1 = 0 ; - std::string *arg2 = 0 ; - std::string tempstr1 ; - std::string tempstr2 ; - std::string result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = SpecUtils::append_path((std::string const &)*arg1,(std::string const &)*arg2); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_filename(SwigArrayWrapper *farg1) { - SwigArrayWrapper fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - std::string result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::filename((std::string const &)*arg1); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_parent_path(SwigArrayWrapper *farg1) { - SwigArrayWrapper fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - std::string result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::parent_path((std::string const &)*arg1); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_file_extension(SwigArrayWrapper *farg1) { - SwigArrayWrapper fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - std::string result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::file_extension((std::string const &)*arg1); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT int _wrap_file_size(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - size_t result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::file_size((std::string const &)*arg1); - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_temp_dir() { - SwigArrayWrapper fresult ; - std::string result; - - result = SpecUtils::temp_dir(); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT int _wrap_is_absolute_path(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - bool result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = (bool)SpecUtils::is_absolute_path((std::string const &)*arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_get_working_path() { - SwigArrayWrapper fresult ; - std::string result; - - result = SpecUtils::get_working_path(); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_temp_file_name(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - SwigArrayWrapper fresult ; - std::string arg1 ; - std::string arg2 ; - std::string result; - - (&arg1)->assign(static_cast(farg1->data), farg1->size); - (&arg2)->assign(static_cast(farg2->data), farg2->size); - result = SpecUtils::temp_file_name(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2)); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT int _wrap_sm_recursive_ls_max_depth_get() { - int fresult ; - size_t result; - - result = (size_t)SpecUtils::sm_recursive_ls_max_depth; - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT int _wrap_sm_ls_max_results_get() { - int fresult ; - size_t result; - - result = (size_t)SpecUtils::sm_ls_max_results; - fresult = (size_t)(result); - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_0(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - SwigClassWrapper fresult ; - std::string *arg1 = 0 ; - std::string *arg2 = 0 ; - std::string tempstr1 ; - std::string tempstr2 ; - SwigValueWrapper< std::vector< std::string > > result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = SpecUtils::recursive_ls((std::string const &)*arg1,(std::string const &)*arg2); - fresult.cptr = new (std::vector< std::string >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_1(SwigArrayWrapper *farg1) { - SwigClassWrapper fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - SwigValueWrapper< std::vector< std::string > > result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::recursive_ls((std::string const &)*arg1); - fresult.cptr = new (std::vector< std::string >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_2(SwigArrayWrapper *farg1, SpecUtils::file_match_function_t farg2, void const **farg3) { - SwigClassWrapper fresult ; - std::string *arg1 = 0 ; - SpecUtils::file_match_function_t arg2 = (SpecUtils::file_match_function_t) 0 ; - void *arg3 = (void *) 0 ; - std::string tempstr1 ; - SwigValueWrapper< std::vector< std::string > > result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - arg2 = (SpecUtils::file_match_function_t)(*farg2); - arg3 = (void *)(*farg3); - result = SpecUtils::recursive_ls((std::string const &)*arg1,arg2,arg3); - fresult.cptr = new (std::vector< std::string >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_0(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - SwigClassWrapper fresult ; - std::string *arg1 = 0 ; - std::string *arg2 = 0 ; - std::string tempstr1 ; - std::string tempstr2 ; - SwigValueWrapper< std::vector< std::string > > result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - tempstr2 = std::string(static_cast(farg2->data), farg2->size); - arg2 = &tempstr2; - result = SpecUtils::ls_files_in_directory((std::string const &)*arg1,(std::string const &)*arg2); - fresult.cptr = new (std::vector< std::string >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_1(SwigArrayWrapper *farg1) { - SwigClassWrapper fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - SwigValueWrapper< std::vector< std::string > > result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::ls_files_in_directory((std::string const &)*arg1); - fresult.cptr = new (std::vector< std::string >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_2(SwigArrayWrapper *farg1, SpecUtils::file_match_function_t farg2, void const **farg3) { - SwigClassWrapper fresult ; - std::string *arg1 = 0 ; - SpecUtils::file_match_function_t arg2 = (SpecUtils::file_match_function_t) 0 ; - void *arg3 = (void *) 0 ; - std::string tempstr1 ; - SwigValueWrapper< std::vector< std::string > > result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - arg2 = (SpecUtils::file_match_function_t)(*farg2); - arg3 = (void *)(*farg3); - result = SpecUtils::ls_files_in_directory((std::string const &)*arg1,arg2,arg3); - fresult.cptr = new (std::vector< std::string >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigClassWrapper _wrap_ls_directories_in_directory(SwigArrayWrapper *farg1) { - SwigClassWrapper fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - SwigValueWrapper< std::vector< std::string > > result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::ls_directories_in_directory((std::string const &)*arg1); - fresult.cptr = new (std::vector< std::string >)(result); - fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_fs_relative(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { - SwigArrayWrapper fresult ; - std::string arg1 ; - std::string arg2 ; - std::string result; - - (&arg1)->assign(static_cast(farg1->data), farg1->size); - (&arg2)->assign(static_cast(farg2->data), farg2->size); - result = SpecUtils::fs_relative(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2)); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT SwigArrayWrapper _wrap_lexically_normalize_path(SwigArrayWrapper *farg1) { - SwigArrayWrapper fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - std::string result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = SpecUtils::lexically_normalize_path((std::string const &)*arg1); - fresult.size = (&result)->size(); - if (fresult.size > 0) { - fresult.data = malloc(fresult.size); - memcpy(fresult.data, (&result)->c_str(), fresult.size); - } else { - fresult.data = NULL; - } - return fresult; -} - - -SWIGEXPORT void _wrap_load_file_data(SwigArrayWrapper *farg1, SwigClassWrapper *farg2) { - char *arg1 = (char *) (char *)0 ; - std::vector< char > *arg2 = 0 ; - - arg1 = (char *)(farg1->data); - SWIG_check_nonnull(farg2->cptr, "std::vector< char > &", "SWIGTYPE_p_std__vectorT_char_t", "SpecUtils::load_file_data(char const *const,std::vector< char > &)", return ); - arg2 = (std::vector< char > *)farg2->cptr; - SpecUtils::load_file_data((char const *)arg1,*arg2); -} - - -SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { - int fresult ; - std::string *arg1 = 0 ; - std::string tempstr1 ; - bool result; - - tempstr1 = std::string(static_cast(farg1->data), farg1->size); - arg1 = &tempstr1; - result = (bool)SpecUtils::likely_not_spec_file((std::string const &)*arg1); - fresult = (result ? 1 : 0); - return fresult; -} - - -} // extern - diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 deleted file mode 100644 index d361800..0000000 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ /dev/null @@ -1,12801 +0,0 @@ -! This file was automatically generated by SWIG (https://www.swig.org). -! Version 4.2.0 -! -! Do not make changes to this file unless you know what you are doing - modify -! the SWIG interface file instead. -module specutilswrap - use, intrinsic :: ISO_C_BINDING - implicit none - private - - ! DECLARATION CONSTRUCTS - - integer, parameter :: swig_cmem_own_bit = 0 - integer, parameter :: swig_cmem_rvalue_bit = 1 - type, bind(C) :: SwigClassWrapper - type(C_PTR), public :: cptr = C_NULL_PTR - integer(C_INT), public :: cmemflags = 0 - end type - ! class std::vector< float > - type, public :: FloatVector - type(SwigClassWrapper), public :: swigdata - contains - procedure :: size => swigf_FloatVector_size - procedure :: capacity => swigf_FloatVector_capacity - procedure :: empty => swigf_FloatVector_empty - procedure :: front => swigf_FloatVector_front - procedure :: back => swigf_FloatVector_back - procedure :: reserve => swigf_FloatVector_reserve - procedure, private :: swigf_FloatVector_resize__SWIG_0 - procedure, private :: swigf_FloatVector_resize__SWIG_1 - procedure :: push_back => swigf_FloatVector_push_back - procedure :: pop_back => swigf_FloatVector_pop_back - procedure :: clear => swigf_FloatVector_clear - procedure :: set => swigf_FloatVector_set - procedure :: get => swigf_FloatVector_get - procedure :: insert => swigf_FloatVector_insert - procedure, private :: swigf_FloatVector_erase__SWIG_0 - procedure, private :: swigf_FloatVector_erase__SWIG_1 - procedure :: front_ref => swigf_FloatVector_front_ref - procedure :: back_ref => swigf_FloatVector_back_ref - procedure :: get_ref => swigf_FloatVector_get_ref - procedure :: release => swigf_FloatVector_release - procedure, private :: swigf_FloatVector_op_assign__ - generic :: resize => swigf_FloatVector_resize__SWIG_0, swigf_FloatVector_resize__SWIG_1 - generic :: assignment(=) => swigf_FloatVector_op_assign__ - generic :: erase => swigf_FloatVector_erase__SWIG_0, swigf_FloatVector_erase__SWIG_1 - end type FloatVector - ! class std::vector< SpecUtils::Measurement > - type, public :: MeasurementVector - type(SwigClassWrapper), public :: swigdata - contains - procedure :: size => swigf_MeasurementVector_size - procedure :: capacity => swigf_MeasurementVector_capacity - procedure :: empty => swigf_MeasurementVector_empty - procedure :: front => swigf_MeasurementVector_front - procedure :: back => swigf_MeasurementVector_back - procedure :: reserve => swigf_MeasurementVector_reserve - procedure, private :: swigf_MeasurementVector_resize__SWIG_0 - procedure, private :: swigf_MeasurementVector_resize__SWIG_1 - procedure :: push_back => swigf_MeasurementVector_push_back - procedure :: pop_back => swigf_MeasurementVector_pop_back - procedure :: clear => swigf_MeasurementVector_clear - procedure :: set => swigf_MeasurementVector_set - procedure :: get => swigf_MeasurementVector_get - procedure :: insert => swigf_MeasurementVector_insert - procedure, private :: swigf_MeasurementVector_erase__SWIG_0 - procedure, private :: swigf_MeasurementVector_erase__SWIG_1 - procedure :: front_ref => swigf_MeasurementVector_front_ref - procedure :: back_ref => swigf_MeasurementVector_back_ref - procedure :: get_ref => swigf_MeasurementVector_get_ref - procedure :: release => swigf_MeasurementVector_release - procedure, private :: swigf_MeasurementVector_op_assign__ - generic :: resize => swigf_MeasurementVector_resize__SWIG_0, swigf_MeasurementVector_resize__SWIG_1 - generic :: assignment(=) => swigf_MeasurementVector_op_assign__ - generic :: erase => swigf_MeasurementVector_erase__SWIG_0, swigf_MeasurementVector_erase__SWIG_1 - end type MeasurementVector - ! enum class SpecUtils::ParserType - enum, bind(c) - enumerator :: ParserType_N42_2006 - enumerator :: ParserType_N42_2012 - enumerator :: ParserType_Spc - enumerator :: ParserType_Exploranium - enumerator :: ParserType_Pcf - enumerator :: ParserType_Chn - enumerator :: ParserType_SpeIaea - enumerator :: ParserType_TxtOrCsv - enumerator :: ParserType_Cnf - enumerator :: ParserType_TracsMps - enumerator :: ParserType_Aram - enumerator :: ParserType_SPMDailyFile - enumerator :: ParserType_AmptekMca - enumerator :: ParserType_MicroRaider - enumerator :: ParserType_RadiaCode - enumerator :: ParserType_OrtecListMode - enumerator :: ParserType_LsrmSpe - enumerator :: ParserType_Tka - enumerator :: ParserType_MultiAct - enumerator :: ParserType_Phd - enumerator :: ParserType_Lzs - enumerator :: ParserType_ScanDataXml - enumerator :: ParserType_Json - enumerator :: ParserType_CaenHexagonGXml - enumerator :: ParserType_Auto - end enum - integer, parameter, public :: ParserType = kind(ParserType_N42_2006) - public :: ParserType_N42_2006, ParserType_N42_2012, ParserType_Spc, ParserType_Exploranium, ParserType_Pcf, ParserType_Chn, & - ParserType_SpeIaea, ParserType_TxtOrCsv, ParserType_Cnf, ParserType_TracsMps, ParserType_Aram, ParserType_SPMDailyFile, & - ParserType_AmptekMca, ParserType_MicroRaider, ParserType_RadiaCode, ParserType_OrtecListMode, ParserType_LsrmSpe, & - ParserType_Tka, ParserType_MultiAct, ParserType_Phd, ParserType_Lzs, ParserType_ScanDataXml, ParserType_Json, & - ParserType_CaenHexagonGXml, ParserType_Auto - ! enum class SpecUtils::SaveSpectrumAsType - enum, bind(c) - enumerator :: SaveSpectrumAsType_Txt - enumerator :: SaveSpectrumAsType_Csv - enumerator :: SaveSpectrumAsType_Pcf - enumerator :: SaveSpectrumAsType_N42_2006 - enumerator :: SaveSpectrumAsType_N42_2012 - enumerator :: SaveSpectrumAsType_Chn - enumerator :: SaveSpectrumAsType_SpcBinaryInt - enumerator :: SaveSpectrumAsType_SpcBinaryFloat - enumerator :: SaveSpectrumAsType_SpcAscii - enumerator :: SaveSpectrumAsType_ExploraniumGr130v0 - enumerator :: SaveSpectrumAsType_ExploraniumGr135v2 - enumerator :: SaveSpectrumAsType_SpeIaea - enumerator :: SaveSpectrumAsType_Cnf - enumerator :: SaveSpectrumAsType_Tka - enumerator :: SaveSpectrumAsType_NumTypes - end enum - integer, parameter, public :: SaveSpectrumAsType = kind(SaveSpectrumAsType_Txt) - public :: SaveSpectrumAsType_Txt, SaveSpectrumAsType_Csv, SaveSpectrumAsType_Pcf, SaveSpectrumAsType_N42_2006, & - SaveSpectrumAsType_N42_2012, SaveSpectrumAsType_Chn, SaveSpectrumAsType_SpcBinaryInt, SaveSpectrumAsType_SpcBinaryFloat, & - SaveSpectrumAsType_SpcAscii, SaveSpectrumAsType_ExploraniumGr130v0, SaveSpectrumAsType_ExploraniumGr135v2, & - SaveSpectrumAsType_SpeIaea, SaveSpectrumAsType_Cnf, SaveSpectrumAsType_Tka, SaveSpectrumAsType_NumTypes - ! enum class SpecUtils::DetectorType - enum, bind(c) - enumerator :: DetectorType_Exploranium - enumerator :: DetectorType_IdentiFinder - enumerator :: DetectorType_IdentiFinderNG - enumerator :: DetectorType_IdentiFinderLaBr3 - enumerator :: DetectorType_IdentiFinderTungsten - enumerator :: DetectorType_IdentiFinderR425NaI - enumerator :: DetectorType_IdentiFinderR425LaBr - enumerator :: DetectorType_IdentiFinderR500NaI - enumerator :: DetectorType_IdentiFinderR500LaBr - enumerator :: DetectorType_IdentiFinderUnknown - enumerator :: DetectorType_DetectiveUnknown - enumerator :: DetectorType_DetectiveEx - enumerator :: DetectorType_DetectiveEx100 - enumerator :: DetectorType_DetectiveEx200 - enumerator :: DetectorType_DetectiveX - enumerator :: DetectorType_SAIC8 - enumerator :: DetectorType_Falcon5000 - enumerator :: DetectorType_MicroDetective - enumerator :: DetectorType_MicroRaider - enumerator :: DetectorType_RadiaCode - enumerator :: DetectorType_Interceptor - enumerator :: DetectorType_RadHunterNaI - enumerator :: DetectorType_RadHunterLaBr3 - enumerator :: DetectorType_Rsi701 - enumerator :: DetectorType_Rsi705 - enumerator :: DetectorType_AvidRsi - enumerator :: DetectorType_OrtecRadEagleNai - enumerator :: DetectorType_OrtecRadEagleCeBr2Inch - enumerator :: DetectorType_OrtecRadEagleCeBr3Inch - enumerator :: DetectorType_OrtecRadEagleLaBr - enumerator :: DetectorType_Sam940LaBr3 - enumerator :: DetectorType_Sam940 - enumerator :: DetectorType_Sam945 - enumerator :: DetectorType_Srpm210 - enumerator :: DetectorType_RIIDEyeNaI - enumerator :: DetectorType_RIIDEyeLaBr - enumerator :: DetectorType_RadSeekerNaI - enumerator :: DetectorType_RadSeekerLaBr - enumerator :: DetectorType_VerifinderNaI - enumerator :: DetectorType_VerifinderLaBr - enumerator :: DetectorType_KromekD3S - enumerator :: DetectorType_Fulcrum - enumerator :: DetectorType_Fulcrum40h - enumerator :: DetectorType_Sam950 - enumerator :: DetectorType_Unknown - end enum - integer, parameter, public :: DetectorType = kind(DetectorType_Exploranium) - public :: DetectorType_Exploranium, DetectorType_IdentiFinder, DetectorType_IdentiFinderNG, DetectorType_IdentiFinderLaBr3, & - DetectorType_IdentiFinderTungsten, DetectorType_IdentiFinderR425NaI, DetectorType_IdentiFinderR425LaBr, & - DetectorType_IdentiFinderR500NaI, DetectorType_IdentiFinderR500LaBr, DetectorType_IdentiFinderUnknown, & - DetectorType_DetectiveUnknown, DetectorType_DetectiveEx, DetectorType_DetectiveEx100, DetectorType_DetectiveEx200, & - DetectorType_DetectiveX, DetectorType_SAIC8, DetectorType_Falcon5000, DetectorType_MicroDetective, DetectorType_MicroRaider, & - DetectorType_RadiaCode, DetectorType_Interceptor, DetectorType_RadHunterNaI, DetectorType_RadHunterLaBr3, & - DetectorType_Rsi701, DetectorType_Rsi705, DetectorType_AvidRsi, DetectorType_OrtecRadEagleNai, & - DetectorType_OrtecRadEagleCeBr2Inch, DetectorType_OrtecRadEagleCeBr3Inch, DetectorType_OrtecRadEagleLaBr, & - DetectorType_Sam940LaBr3, DetectorType_Sam940, DetectorType_Sam945, DetectorType_Srpm210, DetectorType_RIIDEyeNaI, & - DetectorType_RIIDEyeLaBr, DetectorType_RadSeekerNaI, DetectorType_RadSeekerLaBr, DetectorType_VerifinderNaI, & - DetectorType_VerifinderLaBr, DetectorType_KromekD3S, DetectorType_Fulcrum, DetectorType_Fulcrum40h, DetectorType_Sam950, & - DetectorType_Unknown - ! enum class SpecUtils::OccupancyStatus - enum, bind(c) - enumerator :: OccupancyStatus_NotOccupied - enumerator :: OccupancyStatus_Occupied - enumerator :: OccupancyStatus_Unknown - end enum - integer, parameter, public :: OccupancyStatus = kind(OccupancyStatus_NotOccupied) - public :: OccupancyStatus_NotOccupied, OccupancyStatus_Occupied, OccupancyStatus_Unknown - ! enum class SpecUtils::SourceType - enum, bind(c) - enumerator :: SourceType_IntrinsicActivity - enumerator :: SourceType_Calibration - enumerator :: SourceType_Background - enumerator :: SourceType_Foreground - enumerator :: SourceType_Unknown - end enum - integer, parameter, public :: SourceType = kind(SourceType_IntrinsicActivity) - public :: SourceType_IntrinsicActivity, SourceType_Calibration, SourceType_Background, SourceType_Foreground, & - SourceType_Unknown - ! enum class SpecUtils::QualityStatus - enum, bind(c) - enumerator :: QualityStatus_Good - enumerator :: QualityStatus_Suspect - enumerator :: QualityStatus_Bad - enumerator :: QualityStatus_Missing - end enum - integer, parameter, public :: QualityStatus = kind(QualityStatus_Good) - public :: QualityStatus_Good, QualityStatus_Suspect, QualityStatus_Bad, QualityStatus_Missing - ! enum class SpecUtils::SpectrumType - enum, bind(c) - enumerator :: SpectrumType_Foreground - enumerator :: SpectrumType_SecondForeground - enumerator :: SpectrumType_Background - end enum - integer, parameter, public :: SpectrumType = kind(SpectrumType_Foreground) - public :: SpectrumType_Foreground, SpectrumType_SecondForeground, SpectrumType_Background - type, bind(C) :: SwigArrayWrapper - type(C_PTR), public :: data = C_NULL_PTR - integer(C_SIZE_T), public :: size = 0 - end type - public :: spectrumTypeFromDescription - public :: suggestedNameEnding - public :: convert_n42_utf16_xml_to_utf8 - type, public :: SWIGTYPE_p_std__mutex - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_rapidxml__xml_nodeT_char_t - type(SwigClassWrapper), public :: swigdata - end type - public :: add_analysis_results_to_2012_N42 - public :: set_analysis_info_from_n42 - public :: gamma_integral - public :: detectorTypeToString - type, public :: SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__vectorT_std__string_t - type(SwigClassWrapper), public :: swigdata - end type -integer, parameter, public :: SWIGTYPE_SpecUtils__EnergyCalType = C_INT - type, public :: SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t - type(SwigClassWrapper), public :: swigdata - end type - ! enum class SpecUtils::Measurement::DerivedDataProperties - integer(C_INT), protected, public, & - bind(C, name="_wrap_Measurement_DerivedDataProperties_IsDerived") :: Measurement_DerivedDataProperties_IsDerived - integer(C_INT), protected, public, & - bind(C, name="_wrap_Measurement_DerivedDataProperties_ItemOfInterestSum") :: Measurement_DerivedDataProperties_ItemOfInterestSum - integer(C_INT), protected, public, & - bind(C, name="_wrap_Measurement_DerivedDataProperties_UsedForAnalysis") :: Measurement_DerivedDataProperties_UsedForAnalysis - integer(C_INT), protected, public, & - bind(C, name="_wrap_Measurement_DerivedDataProperties_ProcessedFurther") :: Measurement_DerivedDataProperties_ProcessedFurther - integer(C_INT), protected, public, & - bind(C, name="_wrap_Measurement_DerivedDataProperties_BackgroundSubtracted") :: Measurement_DerivedDataProperties_BackgroundSubtracted - integer(C_INT), protected, public, & - bind(C, name="_wrap_Measurement_DerivedDataProperties_IsBackground") :: Measurement_DerivedDataProperties_IsBackground - integer, parameter, public :: Measurement_DerivedDataProperties = C_INT - type, public :: SWIGTYPE_p_uint32_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__ostream - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t - type(SwigClassWrapper), public :: swigdata - end type - ! class SpecUtils::Measurement - type, public :: Measurement - type(SwigClassWrapper), public :: swigdata - contains - procedure :: release => swigf_Measurement_release - procedure :: memmorysize => swigf_Measurement_memmorysize - procedure :: live_time => swigf_Measurement_live_time - procedure :: set_live_time => swigf_Measurement_set_live_time - procedure :: real_time => swigf_Measurement_real_time - procedure :: set_real_time => swigf_Measurement_set_real_time - procedure :: contained_neutron => swigf_Measurement_contained_neutron - procedure :: sample_number => swigf_Measurement_sample_number - procedure :: title => swigf_Measurement_title - procedure :: occupied => swigf_Measurement_occupied - procedure :: gamma_count_sum => swigf_Measurement_gamma_count_sum - procedure :: neutron_live_time => swigf_Measurement_neutron_live_time - procedure :: neutron_counts_sum => swigf_Measurement_neutron_counts_sum - procedure :: speed => swigf_Measurement_speed - procedure :: dx => swigf_Measurement_dx - procedure :: dy => swigf_Measurement_dy - procedure :: latitude => swigf_Measurement_latitude - procedure :: longitude => swigf_Measurement_longitude - procedure :: has_gps_info => swigf_Measurement_has_gps_info - procedure :: dose_rate => swigf_Measurement_dose_rate - procedure :: exposure_rate => swigf_Measurement_exposure_rate - procedure :: pcf_tag => swigf_Measurement_pcf_tag - procedure :: source_description => swigf_Measurement_source_description - procedure :: measurement_description => swigf_Measurement_measurement_description - procedure :: position_time => swigf_Measurement_position_time - procedure :: detector_name => swigf_Measurement_detector_name - procedure :: detector_number => swigf_Measurement_detector_number - procedure :: detector_type => swigf_Measurement_detector_type - procedure :: quality_status => swigf_Measurement_quality_status - procedure :: source_type => swigf_Measurement_source_type - procedure :: remarks => swigf_Measurement_remarks - procedure :: mutable_remarks => swigf_Measurement_mutable_remarks - procedure :: parse_warnings => swigf_Measurement_parse_warnings - procedure :: start_time => swigf_Measurement_start_time - procedure :: start_time_copy => swigf_Measurement_start_time_copy - procedure :: energy_calibration_model => swigf_Measurement_energy_calibration_model - procedure :: calibration_coeffs => swigf_Measurement_calibration_coeffs - procedure :: deviation_pairs => swigf_Measurement_deviation_pairs - procedure :: energy_calibration => swigf_Measurement_energy_calibration - procedure :: channel_energies => swigf_Measurement_channel_energies - procedure :: gamma_counts => swigf_Measurement_gamma_counts - procedure :: neutron_counts => swigf_Measurement_neutron_counts - procedure :: location_state => swigf_Measurement_location_state - procedure :: set_title => swigf_Measurement_set_title - procedure :: set_start_time => swigf_Measurement_set_start_time - procedure :: set_remarks => swigf_Measurement_set_remarks - procedure :: set_parse_warnings => swigf_Measurement_set_parse_warnings - procedure :: set_source_type => swigf_Measurement_set_source_type - procedure :: set_position => swigf_Measurement_set_position - procedure :: set_sample_number => swigf_Measurement_set_sample_number - procedure :: set_occupancy_status => swigf_Measurement_set_occupancy_status - procedure :: set_detector_name => swigf_Measurement_set_detector_name - procedure :: set_detector_number => swigf_Measurement_set_detector_number - procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_0 - procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_1 - procedure :: set_pcf_tag => swigf_Measurement_set_pcf_tag - procedure :: set_source_description => swigf_Measurement_set_source_description - procedure :: set_measurement_description => swigf_Measurement_set_measurement_description - procedure :: num_gamma_channels => swigf_Measurement_num_gamma_channels - procedure :: find_gamma_channel => swigf_Measurement_find_gamma_channel - procedure :: gamma_channel_content => swigf_Measurement_gamma_channel_content - procedure :: gamma_channel_lower => swigf_Measurement_gamma_channel_lower - procedure :: gamma_channel_center => swigf_Measurement_gamma_channel_center - procedure :: gamma_channel_upper => swigf_Measurement_gamma_channel_upper - procedure :: gamma_channel_width => swigf_Measurement_gamma_channel_width - procedure :: gamma_integral => swigf_Measurement_gamma_integral - procedure :: gamma_channels_sum => swigf_Measurement_gamma_channels_sum - procedure :: gamma_channel_energies => swigf_Measurement_gamma_channel_energies - procedure :: gamma_channel_contents => swigf_Measurement_gamma_channel_contents - procedure :: gamma_energy_min => swigf_Measurement_gamma_energy_min - procedure :: gamma_energy_max => swigf_Measurement_gamma_energy_max - procedure :: derived_data_properties => swigf_Measurement_derived_data_properties - procedure :: rpm_panel_number => swigf_Measurement_rpm_panel_number - procedure :: rpm_column_number => swigf_Measurement_rpm_column_number - procedure :: rpm_mca_number => swigf_Measurement_rpm_mca_number - procedure :: write_2006_N42_xml => swigf_Measurement_write_2006_N42_xml - procedure :: write_csv => swigf_Measurement_write_csv - procedure :: write_txt => swigf_Measurement_write_txt - procedure :: reset => swigf_Measurement_reset - procedure :: rebin => swigf_Measurement_rebin - procedure :: set_energy_calibration => swigf_Measurement_set_energy_calibration - procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node - procedure :: gamma_count_at => swigf_Measurement_gamma_count_at - procedure :: get_num_channels => swigf_Measurement_get_num_channels - procedure :: get_start_time_string => swigf_Measurement_get_start_time_string - procedure :: set_start_time_from_string => swigf_Measurement_set_start_time_from_string - procedure :: set_neutron_count => swigf_Measurement_set_neutron_count - procedure :: get_neutron_count => swigf_Measurement_get_neutron_count - procedure :: set_spectrum => swigf_Measurement_set_spectrum - procedure :: get_spectrum => swigf_Measurement_get_spectrum - procedure, private :: swigf_Measurement_op_assign__ - generic :: assignment(=) => swigf_Measurement_op_assign__ - generic :: set_neutron_counts => swigf_Measurement_set_neutron_counts__SWIG_0, swigf_Measurement_set_neutron_counts__SWIG_1 - end type Measurement - type, public :: SWIGTYPE_p_std__vectorT_int_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2 - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7 - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ - type(SwigClassWrapper), public :: swigdata - end type - ! enum class SpecUtils::SpecFile::DerivedVariantToKeep - enum, bind(c) - enumerator :: SpecFile_DerivedVariantToKeep_NonDerived - enumerator :: SpecFile_DerivedVariantToKeep_Derived - end enum - integer, parameter, public :: SpecFile_DerivedVariantToKeep = kind(SpecFile_DerivedVariantToKeep_NonDerived) - public :: SpecFile_DerivedVariantToKeep_NonDerived, SpecFile_DerivedVariantToKeep_Derived - type, public :: SWIGTYPE_p_std__istream - type(SwigClassWrapper), public :: swigdata - end type - ! enum SpecUtils::SpecFile::CleanupAfterLoadFlags - integer(C_INT), protected, public, & - bind(C, name="_wrap_SpecFile_RebinToCommonBinning") :: SpecFile_RebinToCommonBinning - integer(C_INT), protected, public, & - bind(C, name="_wrap_SpecFile_DontChangeOrReorderSamples") :: SpecFile_DontChangeOrReorderSamples - integer(C_INT), protected, public, & - bind(C, name="_wrap_SpecFile_ReorderSamplesByTime") :: SpecFile_ReorderSamplesByTime - integer(C_INT), protected, public, & - bind(C, name="_wrap_SpecFile_StandardCleanup") :: SpecFile_StandardCleanup - integer, parameter, public :: SpecFile_CleanupAfterLoadFlags = C_INT - ! enum SpecUtils::SpecFile::SpcBinaryType - enum, bind(c) - enumerator :: SpecFile_IntegerSpcType - enumerator :: SpecFile_FloatSpcType - end enum - integer, parameter, public :: SpecFile_SpcBinaryType = kind(SpecFile_IntegerSpcType) - public :: SpecFile_IntegerSpcType, SpecFile_FloatSpcType - public :: get_SpecFile_2012N42_VERSION - type, public :: SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__recursive_mutex - type(SwigClassWrapper), public :: swigdata - end type - ! class SpecUtils::SpecFile - type, public :: SpecFile - type(SwigClassWrapper), public :: swigdata - contains - procedure :: release => swigf_SpecFile_release - procedure, private :: swigf_SpecFile_load_file__SWIG_0 - procedure, private :: swigf_SpecFile_load_file__SWIG_1 - procedure :: parse_warnings => swigf_SpecFile_parse_warnings - procedure :: modified => swigf_SpecFile_modified - procedure :: reset_modified => swigf_SpecFile_reset_modified - procedure :: modified_since_decode => swigf_SpecFile_modified_since_decode - procedure :: reset_modified_since_decode => swigf_SpecFile_reset_modified_since_decode - procedure :: gamma_live_time => swigf_SpecFile_gamma_live_time - procedure :: gamma_real_time => swigf_SpecFile_gamma_real_time - procedure :: gamma_count_sum => swigf_SpecFile_gamma_count_sum - procedure :: neutron_counts_sum => swigf_SpecFile_neutron_counts_sum - procedure :: filename => swigf_SpecFile_filename - procedure :: detector_names => swigf_SpecFile_detector_names - procedure :: detector_numbers => swigf_SpecFile_detector_numbers - procedure :: gamma_detector_names => swigf_SpecFile_gamma_detector_names - procedure :: neutron_detector_names => swigf_SpecFile_neutron_detector_names - procedure :: uuid => swigf_SpecFile_uuid - procedure :: remarks => swigf_SpecFile_remarks - procedure :: lane_number => swigf_SpecFile_lane_number - procedure :: measurement_location_name => swigf_SpecFile_measurement_location_name - procedure :: inspection => swigf_SpecFile_inspection - procedure :: measurement_operator => swigf_SpecFile_measurement_operator - procedure :: sample_numbers => swigf_SpecFile_sample_numbers - procedure :: num_measurements => swigf_SpecFile_num_measurements - procedure :: detector_type => swigf_SpecFile_detector_type - procedure :: instrument_type => swigf_SpecFile_instrument_type - procedure :: manufacturer => swigf_SpecFile_manufacturer - procedure :: instrument_model => swigf_SpecFile_instrument_model - procedure :: instrument_id => swigf_SpecFile_instrument_id - procedure :: measurements => swigf_SpecFile_measurements - procedure, private :: swigf_SpecFile_measurement__SWIG_0 - procedure :: detectors_analysis => swigf_SpecFile_detectors_analysis - procedure :: multimedia_data => swigf_SpecFile_multimedia_data - procedure :: has_gps_info => swigf_SpecFile_has_gps_info - procedure :: mean_latitude => swigf_SpecFile_mean_latitude - procedure :: mean_longitude => swigf_SpecFile_mean_longitude - procedure :: passthrough => swigf_SpecFile_passthrough - procedure :: contains_derived_data => swigf_SpecFile_contains_derived_data - procedure :: contains_non_derived_data => swigf_SpecFile_contains_non_derived_data - procedure :: set_filename => swigf_SpecFile_set_filename - procedure, private :: swigf_SpecFile_set_remarks__SWIG_0 - procedure :: add_remark => swigf_SpecFile_add_remark - procedure :: set_parse_warnings => swigf_SpecFile_set_parse_warnings - procedure :: set_uuid => swigf_SpecFile_set_uuid - procedure :: set_lane_number => swigf_SpecFile_set_lane_number - procedure :: set_measurement_location_name => swigf_SpecFile_set_measurement_location_name - procedure :: set_inspection => swigf_SpecFile_set_inspection - procedure :: set_instrument_type => swigf_SpecFile_set_instrument_type - procedure :: set_detector_type => swigf_SpecFile_set_detector_type - procedure :: set_manufacturer => swigf_SpecFile_set_manufacturer - procedure :: set_instrument_model => swigf_SpecFile_set_instrument_model - procedure :: set_instrument_id => swigf_SpecFile_set_instrument_id - procedure :: set_live_time => swigf_SpecFile_set_live_time - procedure :: set_real_time => swigf_SpecFile_set_real_time - procedure :: set_start_time => swigf_SpecFile_set_start_time - procedure, private :: swigf_SpecFile_set_remarks__SWIG_1 - procedure :: set_source_type => swigf_SpecFile_set_source_type - procedure :: set_position => swigf_SpecFile_set_position - procedure :: set_title => swigf_SpecFile_set_title - procedure :: set_contained_neutrons => swigf_SpecFile_set_contained_neutrons - procedure :: set_detectors_analysis => swigf_SpecFile_set_detectors_analysis - procedure :: change_detector_name => swigf_SpecFile_change_detector_name - procedure :: change_sample_numbers => swigf_SpecFile_change_sample_numbers - procedure, private :: swigf_SpecFile_add_measurement__SWIG_0 - procedure, private :: swigf_SpecFile_add_measurement__SWIG_1 - procedure :: remove_measurement => swigf_SpecFile_remove_measurement - procedure :: remove_measurements => swigf_SpecFile_remove_measurements - procedure :: clear_multimedia_data => swigf_SpecFile_clear_multimedia_data - procedure :: add_multimedia_data => swigf_SpecFile_add_multimedia_data - procedure :: set_multimedia_data => swigf_SpecFile_set_multimedia_data - procedure :: occupancy_number_from_remarks => swigf_SpecFile_occupancy_number_from_remarks - procedure :: sample_measurements => swigf_SpecFile_sample_measurements - procedure, private :: swigf_SpecFile_measurement__SWIG_1 - procedure, private :: swigf_SpecFile_measurement__SWIG_2 - procedure :: suggested_sum_energy_calibration => swigf_SpecFile_suggested_sum_energy_calibration - procedure :: sum_measurements => swigf_SpecFile_sum_measurements - procedure :: memmorysize => swigf_SpecFile_memmorysize - procedure :: gamma_channel_counts => swigf_SpecFile_gamma_channel_counts - procedure :: num_gamma_channels => swigf_SpecFile_num_gamma_channels - procedure :: keep_n_bin_spectra_only => swigf_SpecFile_keep_n_bin_spectra_only - procedure :: contained_neutron => swigf_SpecFile_contained_neutron - procedure :: energy_cal_variants => swigf_SpecFile_energy_cal_variants - procedure :: keep_energy_cal_variants => swigf_SpecFile_keep_energy_cal_variants - procedure :: keep_derived_data_variant => swigf_SpecFile_keep_derived_data_variant - procedure :: remove_detectors_data => swigf_SpecFile_remove_detectors_data - procedure :: remove_neutron_measurements => swigf_SpecFile_remove_neutron_measurements - procedure :: background_sample_number => swigf_SpecFile_background_sample_number - procedure :: generate_psuedo_uuid => swigf_SpecFile_generate_psuedo_uuid - procedure :: reset => swigf_SpecFile_reset - procedure :: load_N42_file => swigf_SpecFile_load_N42_file - procedure :: load_pcf_file => swigf_SpecFile_load_pcf_file - procedure :: load_spc_file => swigf_SpecFile_load_spc_file - procedure :: load_chn_file => swigf_SpecFile_load_chn_file - procedure :: load_iaea_file => swigf_SpecFile_load_iaea_file - procedure :: load_binary_exploranium_file => swigf_SpecFile_load_binary_exploranium_file - procedure :: load_micro_raider_file => swigf_SpecFile_load_micro_raider_file - procedure :: load_txt_or_csv_file => swigf_SpecFile_load_txt_or_csv_file - procedure :: load_cnf_file => swigf_SpecFile_load_cnf_file - procedure :: load_tracs_mps_file => swigf_SpecFile_load_tracs_mps_file - procedure :: load_aram_file => swigf_SpecFile_load_aram_file - procedure :: load_spectroscopic_daily_file => swigf_SpecFile_load_spectroscopic_daily_file - procedure :: load_amptek_file => swigf_SpecFile_load_amptek_file - procedure :: load_ortec_listmode_file => swigf_SpecFile_load_ortec_listmode_file - procedure :: load_lsrm_spe_file => swigf_SpecFile_load_lsrm_spe_file - procedure :: load_tka_file => swigf_SpecFile_load_tka_file - procedure :: load_multiact_file => swigf_SpecFile_load_multiact_file - procedure :: load_phd_file => swigf_SpecFile_load_phd_file - procedure :: load_lzs_file => swigf_SpecFile_load_lzs_file - procedure :: load_radiacode_file => swigf_SpecFile_load_radiacode_file - procedure :: load_xml_scan_data_file => swigf_SpecFile_load_xml_scan_data_file - procedure :: load_json_file => swigf_SpecFile_load_json_file - procedure :: load_caen_gxml_file => swigf_SpecFile_load_caen_gxml_file - procedure :: load_from_N42 => swigf_SpecFile_load_from_N42 - procedure, private :: swigf_SpecFile_load_N42_from_data__SWIG_0 - procedure, private :: swigf_SpecFile_load_N42_from_data__SWIG_1 - procedure :: load_from_iaea_spc => swigf_SpecFile_load_from_iaea_spc - procedure :: load_from_binary_spc => swigf_SpecFile_load_from_binary_spc - procedure :: load_from_N42_document => swigf_SpecFile_load_from_N42_document - procedure :: load_from_micro_raider_from_data => swigf_SpecFile_load_from_micro_raider_from_data - procedure :: load_from_binary_exploranium => swigf_SpecFile_load_from_binary_exploranium - procedure :: load_from_pcf => swigf_SpecFile_load_from_pcf - procedure :: load_from_txt_or_csv => swigf_SpecFile_load_from_txt_or_csv - procedure :: load_from_Gr135_txt => swigf_SpecFile_load_from_Gr135_txt - procedure :: load_from_spectroscopic_daily_file => swigf_SpecFile_load_from_spectroscopic_daily_file - procedure :: load_from_srpm210_csv => swigf_SpecFile_load_from_srpm210_csv - procedure :: load_from_D3S_raw => swigf_SpecFile_load_from_D3S_raw - procedure :: load_from_amptek_mca => swigf_SpecFile_load_from_amptek_mca - procedure :: load_from_ortec_listmode => swigf_SpecFile_load_from_ortec_listmode - procedure :: load_from_lsrm_spe => swigf_SpecFile_load_from_lsrm_spe - procedure :: load_from_tka => swigf_SpecFile_load_from_tka - procedure :: load_from_multiact => swigf_SpecFile_load_from_multiact - procedure :: load_from_phd => swigf_SpecFile_load_from_phd - procedure :: load_from_lzs => swigf_SpecFile_load_from_lzs - procedure :: load_from_radiacode => swigf_SpecFile_load_from_radiacode - procedure :: load_from_radiacode_spectrogram => swigf_SpecFile_load_from_radiacode_spectrogram - procedure :: load_from_xml_scan_data => swigf_SpecFile_load_from_xml_scan_data - procedure :: load_from_iaea => swigf_SpecFile_load_from_iaea - procedure :: load_from_chn => swigf_SpecFile_load_from_chn - procedure :: load_from_cnf => swigf_SpecFile_load_from_cnf - procedure :: load_from_tracs_mps => swigf_SpecFile_load_from_tracs_mps - procedure :: load_from_aram => swigf_SpecFile_load_from_aram - procedure :: load_from_json => swigf_SpecFile_load_from_json - procedure :: load_from_caen_gxml => swigf_SpecFile_load_from_caen_gxml - procedure, private :: swigf_SpecFile_cleanup_after_load__SWIG_0 - procedure, private :: swigf_SpecFile_cleanup_after_load__SWIG_1 - procedure :: recalc_total_counts => swigf_SpecFile_recalc_total_counts - procedure :: merge_neutron_meas_into_gamma_meas => swigf_SpecFile_merge_neutron_meas_into_gamma_meas - procedure :: rebin_measurement => swigf_SpecFile_rebin_measurement - procedure :: rebin_all_measurements => swigf_SpecFile_rebin_all_measurements - procedure :: set_energy_calibration_from_CALp_file => swigf_SpecFile_set_energy_calibration_from_CALp_file - procedure :: detector_names_to_numbers => swigf_SpecFile_detector_names_to_numbers - procedure, private :: swigf_SpecFile_write_to_file__SWIG_0 - procedure, private :: swigf_SpecFile_write_to_file__SWIG_1 - procedure, private :: swigf_SpecFile_write_to_file__SWIG_2 - procedure, private :: swigf_SpecFile_write_to_file__SWIG_3 - procedure, private :: swigf_SpecFile_write__SWIG_0 - procedure, private :: swigf_SpecFile_write__SWIG_1 - procedure :: write_pcf => swigf_SpecFile_write_pcf - procedure :: write_2006_N42 => swigf_SpecFile_write_2006_N42 - procedure :: write_csv => swigf_SpecFile_write_csv - procedure :: write_txt => swigf_SpecFile_write_txt - procedure, private :: swigf_SpecFile_write_integer_chn__SWIG_0 - procedure, private :: swigf_SpecFile_write_integer_chn__SWIG_1 - procedure :: write_binary_spc => swigf_SpecFile_write_binary_spc - procedure :: write_ascii_spc => swigf_SpecFile_write_ascii_spc - procedure :: write_binary_exploranium_gr130v0 => swigf_SpecFile_write_binary_exploranium_gr130v0 - procedure :: write_binary_exploranium_gr135v2 => swigf_SpecFile_write_binary_exploranium_gr135v2 - procedure :: write_iaea_spe => swigf_SpecFile_write_iaea_spe - procedure :: write_cnf => swigf_SpecFile_write_cnf - procedure :: write_tka => swigf_SpecFile_write_tka - procedure :: create_2012_N42_xml => swigf_SpecFile_create_2012_N42_xml - procedure :: write_2012_N42 => swigf_SpecFile_write_2012_N42 - procedure :: mutex => swigf_SpecFile_mutex - procedure :: measurement_at => swigf_SpecFile_measurement_at - procedure :: get_max_channel_count => swigf_SpecFile_get_max_channel_count - procedure, private :: swigf_SpecFile_op_assign__ - generic :: measurement => swigf_SpecFile_measurement__SWIG_0, swigf_SpecFile_measurement__SWIG_1, & - swigf_SpecFile_measurement__SWIG_2 - generic :: write => swigf_SpecFile_write__SWIG_0, swigf_SpecFile_write__SWIG_1 - generic :: write_integer_chn => swigf_SpecFile_write_integer_chn__SWIG_0, swigf_SpecFile_write_integer_chn__SWIG_1 - generic :: cleanup_after_load => swigf_SpecFile_cleanup_after_load__SWIG_0, swigf_SpecFile_cleanup_after_load__SWIG_1 - generic :: add_measurement => swigf_SpecFile_add_measurement__SWIG_0, swigf_SpecFile_add_measurement__SWIG_1 - generic :: assignment(=) => swigf_SpecFile_op_assign__ - generic :: set_remarks => swigf_SpecFile_set_remarks__SWIG_0, swigf_SpecFile_set_remarks__SWIG_1 - generic :: load_N42_from_data => swigf_SpecFile_load_N42_from_data__SWIG_0, swigf_SpecFile_load_N42_from_data__SWIG_1 - generic :: load_file => swigf_SpecFile_load_file__SWIG_0, swigf_SpecFile_load_file__SWIG_1 - generic :: write_to_file => swigf_SpecFile_write_to_file__SWIG_0, swigf_SpecFile_write_to_file__SWIG_1, & - swigf_SpecFile_write_to_file__SWIG_2, swigf_SpecFile_write_to_file__SWIG_3 - end type SpecFile - ! class SpecUtils::DetectorAnalysisResult - type, public :: DetectorAnalysisResult - type(SwigClassWrapper), public :: swigdata - contains - procedure :: set_remark_ => swigf_DetectorAnalysisResult_remark__set - procedure :: get_remark_ => swigf_DetectorAnalysisResult_remark__get - procedure :: set_nuclide_ => swigf_DetectorAnalysisResult_nuclide__set - procedure :: get_nuclide_ => swigf_DetectorAnalysisResult_nuclide__get - procedure :: set_activity_ => swigf_DetectorAnalysisResult_activity__set - procedure :: get_activity_ => swigf_DetectorAnalysisResult_activity__get - procedure :: set_nuclide_type_ => swigf_DetectorAnalysisResult_nuclide_type__set - procedure :: get_nuclide_type_ => swigf_DetectorAnalysisResult_nuclide_type__get - procedure :: set_id_confidence_ => swigf_DetectorAnalysisResult_id_confidence__set - procedure :: get_id_confidence_ => swigf_DetectorAnalysisResult_id_confidence__get - procedure :: set_distance_ => swigf_DetectorAnalysisResult_distance__set - procedure :: get_distance_ => swigf_DetectorAnalysisResult_distance__get - procedure :: set_dose_rate_ => swigf_DetectorAnalysisResult_dose_rate__set - procedure :: get_dose_rate_ => swigf_DetectorAnalysisResult_dose_rate__get - procedure :: set_real_time_ => swigf_DetectorAnalysisResult_real_time__set - procedure :: get_real_time_ => swigf_DetectorAnalysisResult_real_time__get - procedure :: set_detector_ => swigf_DetectorAnalysisResult_detector__set - procedure :: get_detector_ => swigf_DetectorAnalysisResult_detector__get - procedure :: reset => swigf_DetectorAnalysisResult_reset - procedure :: isEmpty => swigf_DetectorAnalysisResult_isEmpty - procedure :: release => swigf_DetectorAnalysisResult_release - procedure, private :: swigf_DetectorAnalysisResult_op_assign__ - generic :: assignment(=) => swigf_DetectorAnalysisResult_op_assign__ - end type DetectorAnalysisResult - type, public :: SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t - type(SwigClassWrapper), public :: swigdata - end type - type, public :: SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t - type(SwigClassWrapper), public :: swigdata - end type - ! class SpecUtils::DetectorAnalysis - type, public :: DetectorAnalysis - type(SwigClassWrapper), public :: swigdata - contains - procedure :: set_remarks_ => swigf_DetectorAnalysis_remarks__set - procedure :: get_remarks_ => swigf_DetectorAnalysis_remarks__get - procedure :: set_algorithm_name_ => swigf_DetectorAnalysis_algorithm_name__set - procedure :: get_algorithm_name_ => swigf_DetectorAnalysis_algorithm_name__get - procedure :: set_algorithm_component_versions_ => swigf_DetectorAnalysis_algorithm_component_versions__set - procedure :: get_algorithm_component_versions_ => swigf_DetectorAnalysis_algorithm_component_versions__get - procedure :: set_algorithm_creator_ => swigf_DetectorAnalysis_algorithm_creator__set - procedure :: get_algorithm_creator_ => swigf_DetectorAnalysis_algorithm_creator__get - procedure :: set_algorithm_description_ => swigf_DetectorAnalysis_algorithm_description__set - procedure :: get_algorithm_description_ => swigf_DetectorAnalysis_algorithm_description__get - procedure :: set_analysis_start_time_ => swigf_DetectorAnalysis_analysis_start_time__set - procedure :: get_analysis_start_time_ => swigf_DetectorAnalysis_analysis_start_time__get - procedure :: set_analysis_computation_duration_ => swigf_DetectorAnalysis_analysis_computation_duration__set - procedure :: get_analysis_computation_duration_ => swigf_DetectorAnalysis_analysis_computation_duration__get - procedure :: set_algorithm_result_description_ => swigf_DetectorAnalysis_algorithm_result_description__set - procedure :: get_algorithm_result_description_ => swigf_DetectorAnalysis_algorithm_result_description__get - procedure :: set_results_ => swigf_DetectorAnalysis_results__set - procedure :: get_results_ => swigf_DetectorAnalysis_results__get - procedure :: reset => swigf_DetectorAnalysis_reset - procedure :: is_empty => swigf_DetectorAnalysis_is_empty - procedure :: release => swigf_DetectorAnalysis_release - procedure, private :: swigf_DetectorAnalysis_op_assign__ - generic :: assignment(=) => swigf_DetectorAnalysis_op_assign__ - end type DetectorAnalysis - type, public :: SWIGTYPE_p_std__vectorT_char_t - type(SwigClassWrapper), public :: swigdata - end type - ! enum class SpecUtils::MultimediaData::EncodingType - enum, bind(c) - enumerator :: MultimediaData_EncodingType_BinaryUTF8 - enumerator :: MultimediaData_EncodingType_BinaryHex - enumerator :: MultimediaData_EncodingType_BinaryBase64 - end enum - integer, parameter, public :: MultimediaData_EncodingType = kind(MultimediaData_EncodingType_BinaryUTF8) - public :: MultimediaData_EncodingType_BinaryUTF8, MultimediaData_EncodingType_BinaryHex, & - MultimediaData_EncodingType_BinaryBase64 - ! struct SpecUtils::MultimediaData - type, public :: MultimediaData - type(SwigClassWrapper), public :: swigdata - contains - procedure :: set_remark_ => swigf_MultimediaData_remark__set - procedure :: get_remark_ => swigf_MultimediaData_remark__get - procedure :: set_descriptions_ => swigf_MultimediaData_descriptions__set - procedure :: get_descriptions_ => swigf_MultimediaData_descriptions__get - procedure :: set_data_ => swigf_MultimediaData_data__set - procedure :: get_data_ => swigf_MultimediaData_data__get - procedure :: set_data_encoding_ => swigf_MultimediaData_data_encoding__set - procedure :: get_data_encoding_ => swigf_MultimediaData_data_encoding__get - procedure :: set_capture_start_time_ => swigf_MultimediaData_capture_start_time__set - procedure :: get_capture_start_time_ => swigf_MultimediaData_capture_start_time__get - procedure :: set_file_uri_ => swigf_MultimediaData_file_uri__set - procedure :: get_file_uri_ => swigf_MultimediaData_file_uri__get - procedure :: set_mime_type_ => swigf_MultimediaData_mime_type__set - procedure :: get_mime_type_ => swigf_MultimediaData_mime_type__get - procedure :: release => swigf_MultimediaData_release - procedure, private :: swigf_MultimediaData_op_assign__ - generic :: assignment(=) => swigf_MultimediaData_op_assign__ - end type MultimediaData - public :: pcf_det_name_to_dev_pair_index - ! struct std::pair< float,float > - type, public :: DevPair - type(SwigClassWrapper), public :: swigdata - contains - procedure :: set_first => swigf_DevPair_first_set - procedure :: get_first => swigf_DevPair_first_get - procedure :: set_second => swigf_DevPair_second_set - procedure :: get_second => swigf_DevPair_second_get - procedure :: release => swigf_DevPair_release - procedure, private :: swigf_DevPair_op_assign__ - generic :: assignment(=) => swigf_DevPair_op_assign__ - end type DevPair - ! class std::vector< std::pair< float,float > > - type, public :: DeviationPairs - type(SwigClassWrapper), public :: swigdata - contains - procedure :: size => swigf_DeviationPairs_size - procedure :: capacity => swigf_DeviationPairs_capacity - procedure :: empty => swigf_DeviationPairs_empty - procedure :: front => swigf_DeviationPairs_front - procedure :: back => swigf_DeviationPairs_back - procedure :: reserve => swigf_DeviationPairs_reserve - procedure, private :: swigf_DeviationPairs_resize__SWIG_0 - procedure, private :: swigf_DeviationPairs_resize__SWIG_1 - procedure :: push_back => swigf_DeviationPairs_push_back - procedure :: pop_back => swigf_DeviationPairs_pop_back - procedure :: clear => swigf_DeviationPairs_clear - procedure :: set => swigf_DeviationPairs_set - procedure :: get => swigf_DeviationPairs_get - procedure :: insert => swigf_DeviationPairs_insert - procedure, private :: swigf_DeviationPairs_erase__SWIG_0 - procedure, private :: swigf_DeviationPairs_erase__SWIG_1 - procedure :: front_ref => swigf_DeviationPairs_front_ref - procedure :: back_ref => swigf_DeviationPairs_back_ref - procedure :: get_ref => swigf_DeviationPairs_get_ref - procedure :: release => swigf_DeviationPairs_release - procedure, private :: swigf_DeviationPairs_op_assign__ - generic :: resize => swigf_DeviationPairs_resize__SWIG_0, swigf_DeviationPairs_resize__SWIG_1 - generic :: assignment(=) => swigf_DeviationPairs_op_assign__ - generic :: erase => swigf_DeviationPairs_erase__SWIG_0, swigf_DeviationPairs_erase__SWIG_1 - end type DeviationPairs - ! enum class SpecUtils::EnergyCalType - enum, bind(c) - enumerator :: EnergyCalType_Polynomial - enumerator :: EnergyCalType_FullRangeFraction - enumerator :: EnergyCalType_LowerChannelEdge - enumerator :: EnergyCalType_UnspecifiedUsingDefaultPolynomial - enumerator :: EnergyCalType_InvalidEquationType - end enum - integer, parameter, public :: EnergyCalType = kind(EnergyCalType_Polynomial) - public :: EnergyCalType_Polynomial, EnergyCalType_FullRangeFraction, EnergyCalType_LowerChannelEdge, & - EnergyCalType_UnspecifiedUsingDefaultPolynomial, EnergyCalType_InvalidEquationType - ! struct SpecUtils::EnergyCalibration - type, public :: EnergyCalibration - type(SwigClassWrapper), public :: swigdata - contains - procedure :: type => swigf_EnergyCalibration_type - procedure :: valid => swigf_EnergyCalibration_valid - procedure :: coefficients => swigf_EnergyCalibration_coefficients - procedure :: deviation_pairs => swigf_EnergyCalibration_deviation_pairs - procedure :: channel_energies => swigf_EnergyCalibration_channel_energies - procedure :: num_channels => swigf_EnergyCalibration_num_channels - procedure :: set_polynomial => swigf_EnergyCalibration_set_polynomial - procedure :: set_default_polynomial => swigf_EnergyCalibration_set_default_polynomial - procedure :: set_full_range_fraction => swigf_EnergyCalibration_set_full_range_fraction - procedure, private :: swigf_EnergyCalibration_op_lt__ - procedure, private :: swigf_EnergyCalibration_op_eq__ - procedure, private :: swigf_EnergyCalibration_op_ne__ - procedure :: memmorysize => swigf_EnergyCalibration_memmorysize - procedure :: channel_for_energy => swigf_EnergyCalibration_channel_for_energy - procedure :: energy_for_channel => swigf_EnergyCalibration_energy_for_channel - procedure :: lower_energy => swigf_EnergyCalibration_lower_energy - procedure :: upper_energy => swigf_EnergyCalibration_upper_energy - procedure, nopass :: get_sm_min_channels => swigf_EnergyCalibration_sm_min_channels_get - procedure, nopass :: get_sm_max_channels => swigf_EnergyCalibration_sm_max_channels_get - procedure, nopass :: get_sm_polynomial_offset_limit => swigf_EnergyCalibration_sm_polynomial_offset_limit_get - procedure :: release => swigf_EnergyCalibration_release - procedure, private :: swigf_EnergyCalibration_op_assign__ - generic :: operator(.lt.) => swigf_EnergyCalibration_op_lt__ - generic :: operator(.ne.) => swigf_EnergyCalibration_op_ne__ - generic :: operator(.eq.) => swigf_EnergyCalibration_op_eq__ - generic :: assignment(=) => swigf_EnergyCalibration_op_assign__ - end type EnergyCalibration - public :: energy_cal_combine_channels - public :: polynomial_binning - public :: fullrangefraction_energy - public :: polynomial_energy - public :: deviation_pair_correction - public :: correction_due_to_dev_pairs - public :: apply_deviation_pair - public :: polynomial_coef_to_fullrangefraction - public :: fullrangefraction_coef_to_polynomial - public :: mid_channel_polynomial_to_fullrangeFraction - public :: calibration_is_valid - public :: polynomial_cal_remove_first_channels - public :: rebin_by_lower_edge - public :: write_CALp_file - public :: remove_file - public :: is_file - public :: rename_file - public :: is_directory - public :: create_directory - public :: can_rw_in_directory - public :: append_path - public :: filename - public :: parent_path - public :: file_extension - public :: file_size - public :: temp_dir - public :: is_absolute_path - public :: get_working_path - public :: temp_file_name - public :: get_sm_recursive_ls_max_depth - public :: get_sm_ls_max_results - public :: SWIGTYPE_f_r_q_const__std__string_p_void__bool - public :: ls_directories_in_directory - public :: fs_relative - public :: lexically_normalize_path - public :: load_file_data - public :: likely_not_spec_file - interface is_candidate_n42_file - module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 - end interface - public :: is_candidate_n42_file - interface DevPair - module procedure swigf_new_DevPair__SWIG_0, swigf_new_DevPair__SWIG_1, swigf_new_DevPair__SWIG_2 - end interface - interface DetectorAnalysisResult - module procedure swigf_new_DetectorAnalysisResult - end interface - interface MeasurementVector - module procedure swigf_new_MeasurementVector__SWIG_0, swigf_new_MeasurementVector__SWIG_1, & - swigf_new_MeasurementVector__SWIG_2, swigf_new_MeasurementVector__SWIG_3 - end interface - interface find_fullrangefraction_channel - module procedure swigf_find_fullrangefraction_channel__SWIG_0, swigf_find_fullrangefraction_channel__SWIG_1 - end interface - public :: find_fullrangefraction_channel - interface FloatVector - module procedure swigf_new_FloatVector__SWIG_0, swigf_new_FloatVector__SWIG_1, swigf_new_FloatVector__SWIG_2, & - swigf_new_FloatVector__SWIG_3 - end interface - interface DetectorAnalysis - module procedure swigf_new_DetectorAnalysis - end interface - interface DeviationPairs - module procedure swigf_new_DeviationPairs__SWIG_0, swigf_new_DeviationPairs__SWIG_1, swigf_new_DeviationPairs__SWIG_2, & - swigf_new_DeviationPairs__SWIG_3 - end interface - interface recursive_ls - module procedure swigf_recursive_ls__SWIG_0, swigf_recursive_ls__SWIG_1, swigf_recursive_ls__SWIG_2 - end interface - public :: recursive_ls - interface ls_files_in_directory - module procedure swigf_ls_files_in_directory__SWIG_0, swigf_ls_files_in_directory__SWIG_1, & - swigf_ls_files_in_directory__SWIG_2 - end interface - public :: ls_files_in_directory - interface EnergyCalibration - module procedure swigf_new_EnergyCalibration - end interface - interface SpecFile - module procedure swigf_new_SpecFile__SWIG_0, swigf_new_SpecFile__SWIG_1 - end interface - interface fullrangefraction_binning - module procedure swigf_fullrangefraction_binning__SWIG_0, swigf_fullrangefraction_binning__SWIG_1 - end interface - public :: fullrangefraction_binning - interface find_polynomial_channel - module procedure swigf_find_polynomial_channel__SWIG_0, swigf_find_polynomial_channel__SWIG_1 - end interface - public :: find_polynomial_channel - interface Measurement - module procedure swigf_new_Measurement - end interface - interface MultimediaData - module procedure swigf_new_MultimediaData - end interface - -! FUNCTION POINTER DECLARATIONS -abstract interface -function SWIGTYPE_f_r_q_const__std__string_p_void__bool(arg0, arg1) & -bind(C) & -result(fresult) -use, intrinsic :: ISO_C_BINDING -type(C_PTR), value :: arg0 -type(C_PTR), intent(in), value :: arg1 -logical(C_BOOL) :: fresult -end function - -end interface - - -! WRAPPER DECLARATIONS -interface -function swigc_new_FloatVector__SWIG_0() & -bind(C, name="_wrap_new_FloatVector__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_FloatVector__SWIG_1(farg1) & -bind(C, name="_wrap_new_FloatVector__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_FloatVector__SWIG_2(farg1) & -bind(C, name="_wrap_new_FloatVector__SWIG_2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_FloatVector__SWIG_3(farg1, farg2) & -bind(C, name="_wrap_new_FloatVector__SWIG_3") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_FloatVector_size(farg1) & -bind(C, name="_wrap_FloatVector_size") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult -end function - -function swigc_FloatVector_capacity(farg1) & -bind(C, name="_wrap_FloatVector_capacity") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult -end function - -function swigc_FloatVector_empty(farg1) & -bind(C, name="_wrap_FloatVector_empty") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_FloatVector_front(farg1) & -bind(C, name="_wrap_FloatVector_front") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_FloatVector_back(farg1) & -bind(C, name="_wrap_FloatVector_back") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_FloatVector_reserve(farg1, farg2) & -bind(C, name="_wrap_FloatVector_reserve") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine - -subroutine swigc_FloatVector_resize__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_FloatVector_resize__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine - -subroutine swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_resize__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine - -subroutine swigc_FloatVector_push_back(farg1, farg2) & -bind(C, name="_wrap_FloatVector_push_back") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -subroutine swigc_FloatVector_pop_back(farg1) & -bind(C, name="_wrap_FloatVector_pop_back") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_FloatVector_clear(farg1) & -bind(C, name="_wrap_FloatVector_clear") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_FloatVector_set(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine - -function swigc_FloatVector_get(farg1, farg2) & -bind(C, name="_wrap_FloatVector_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_FloatVector_insert(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_insert") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine - -subroutine swigc_FloatVector_erase__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_FloatVector_erase__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine - -subroutine swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_FloatVector_erase__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 -end subroutine - -function swigc_FloatVector_front_ref(farg1) & -bind(C, name="_wrap_FloatVector_front_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR) :: fresult -end function - -function swigc_FloatVector_back_ref(farg1) & -bind(C, name="_wrap_FloatVector_back_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(C_PTR) :: fresult -end function - -function swigc_FloatVector_get_ref(farg1, farg2) & -bind(C, name="_wrap_FloatVector_get_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(C_PTR) :: fresult -end function - -subroutine swigc_delete_FloatVector(farg1) & -bind(C, name="_wrap_delete_FloatVector") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_FloatVector_op_assign__(farg1, farg2) & -bind(C, name="_wrap_FloatVector_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_new_MeasurementVector__SWIG_0() & -bind(C, name="_wrap_new_MeasurementVector__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_MeasurementVector__SWIG_1(farg1) & -bind(C, name="_wrap_new_MeasurementVector__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_MeasurementVector__SWIG_2(farg1) & -bind(C, name="_wrap_new_MeasurementVector__SWIG_2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_MeasurementVector__SWIG_3(farg1, farg2) & -bind(C, name="_wrap_new_MeasurementVector__SWIG_3") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_SIZE_T), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_MeasurementVector_size(farg1) & -bind(C, name="_wrap_MeasurementVector_size") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult -end function - -function swigc_MeasurementVector_capacity(farg1) & -bind(C, name="_wrap_MeasurementVector_capacity") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T) :: fresult -end function - -function swigc_MeasurementVector_empty(farg1) & -bind(C, name="_wrap_MeasurementVector_empty") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_MeasurementVector_front(farg1) & -bind(C, name="_wrap_MeasurementVector_front") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_MeasurementVector_back(farg1) & -bind(C, name="_wrap_MeasurementVector_back") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_MeasurementVector_reserve(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_reserve") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine - -subroutine swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_resize__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine - -subroutine swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_resize__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_MeasurementVector_push_back(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_push_back") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_MeasurementVector_pop_back(farg1) & -bind(C, name="_wrap_MeasurementVector_pop_back") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_MeasurementVector_clear(farg1) & -bind(C, name="_wrap_MeasurementVector_clear") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_MeasurementVector_set(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -function swigc_MeasurementVector_get(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_MeasurementVector_insert(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_insert") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_erase__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -end subroutine - -subroutine swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_MeasurementVector_erase__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -integer(C_SIZE_T), intent(in) :: farg3 -end subroutine - -function swigc_MeasurementVector_front_ref(farg1) & -bind(C, name="_wrap_MeasurementVector_front_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_MeasurementVector_back_ref(farg1) & -bind(C, name="_wrap_MeasurementVector_back_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_MeasurementVector_get_ref(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_get_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_SIZE_T), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_delete_MeasurementVector(farg1) & -bind(C, name="_wrap_delete_MeasurementVector") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_MeasurementVector_op_assign__(farg1, farg2) & -bind(C, name="_wrap_MeasurementVector_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_spectrumTypeFromDescription(farg1) & -bind(C, name="_wrap_spectrumTypeFromDescription") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - - subroutine SWIG_free(cptr) & - bind(C, name="free") - use, intrinsic :: ISO_C_BINDING - type(C_PTR), value :: cptr -end subroutine -function swigc_suggestedNameEnding(farg1) & -bind(C, name="_wrap_suggestedNameEnding") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -integer(C_INT), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_is_candidate_n42_file__SWIG_0(farg1) & -bind(C, name="_wrap_is_candidate_n42_file__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_is_candidate_n42_file__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) & -bind(C, name="_wrap_convert_n42_utf16_xml_to_utf8") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) & -bind(C, name="_wrap_add_analysis_results_to_2012_N42") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_set_analysis_info_from_n42(farg1, farg2) & -bind(C, name="_wrap_set_analysis_info_from_n42") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_gamma_integral(farg1, farg2, farg3) & -bind(C, name="_wrap_gamma_integral") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -real(C_DOUBLE) :: fresult -end function - -function swigc_detectorTypeToString(farg1) & -bind(C, name="_wrap_detectorTypeToString") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -integer(C_INT), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_new_Measurement() & -bind(C, name="_wrap_new_Measurement") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_delete_Measurement(farg1) & -bind(C, name="_wrap_delete_Measurement") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -function swigc_Measurement_memmorysize(farg1) & -bind(C, name="_wrap_Measurement_memmorysize") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_live_time(farg1) & -bind(C, name="_wrap_Measurement_live_time") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_Measurement_set_live_time(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_live_time") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_Measurement_real_time(farg1) & -bind(C, name="_wrap_Measurement_real_time") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_Measurement_set_real_time(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_real_time") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_Measurement_contained_neutron(farg1) & -bind(C, name="_wrap_Measurement_contained_neutron") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_sample_number(farg1) & -bind(C, name="_wrap_Measurement_sample_number") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_title(farg1) & -bind(C, name="_wrap_Measurement_title") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_Measurement_occupied(farg1) & -bind(C, name="_wrap_Measurement_occupied") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_gamma_count_sum(farg1) & -bind(C, name="_wrap_Measurement_gamma_count_sum") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_Measurement_neutron_live_time(farg1) & -bind(C, name="_wrap_Measurement_neutron_live_time") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_neutron_counts_sum(farg1) & -bind(C, name="_wrap_Measurement_neutron_counts_sum") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_Measurement_speed(farg1) & -bind(C, name="_wrap_Measurement_speed") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_dx(farg1) & -bind(C, name="_wrap_Measurement_dx") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_dy(farg1) & -bind(C, name="_wrap_Measurement_dy") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_latitude(farg1) & -bind(C, name="_wrap_Measurement_latitude") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_Measurement_longitude(farg1) & -bind(C, name="_wrap_Measurement_longitude") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_Measurement_has_gps_info(farg1) & -bind(C, name="_wrap_Measurement_has_gps_info") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_dose_rate(farg1) & -bind(C, name="_wrap_Measurement_dose_rate") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_exposure_rate(farg1) & -bind(C, name="_wrap_Measurement_exposure_rate") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_pcf_tag(farg1) & -bind(C, name="_wrap_Measurement_pcf_tag") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -character(C_CHAR) :: fresult -end function - -function swigc_Measurement_source_description(farg1) & -bind(C, name="_wrap_Measurement_source_description") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_Measurement_measurement_description(farg1) & -bind(C, name="_wrap_Measurement_measurement_description") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_Measurement_position_time(farg1) & -bind(C, name="_wrap_Measurement_position_time") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_detector_name(farg1) & -bind(C, name="_wrap_Measurement_detector_name") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_Measurement_detector_number(farg1) & -bind(C, name="_wrap_Measurement_detector_number") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_detector_type(farg1) & -bind(C, name="_wrap_Measurement_detector_type") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_Measurement_quality_status(farg1) & -bind(C, name="_wrap_Measurement_quality_status") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_source_type(farg1) & -bind(C, name="_wrap_Measurement_source_type") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_remarks(farg1) & -bind(C, name="_wrap_Measurement_remarks") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_mutable_remarks(farg1) & -bind(C, name="_wrap_Measurement_mutable_remarks") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_parse_warnings(farg1) & -bind(C, name="_wrap_Measurement_parse_warnings") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_start_time(farg1) & -bind(C, name="_wrap_Measurement_start_time") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_start_time_copy(farg1) & -bind(C, name="_wrap_Measurement_start_time_copy") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_energy_calibration_model(farg1) & -bind(C, name="_wrap_Measurement_energy_calibration_model") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_calibration_coeffs(farg1) & -bind(C, name="_wrap_Measurement_calibration_coeffs") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_deviation_pairs(farg1) & -bind(C, name="_wrap_Measurement_deviation_pairs") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_energy_calibration(farg1) & -bind(C, name="_wrap_Measurement_energy_calibration") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_channel_energies(farg1) & -bind(C, name="_wrap_Measurement_channel_energies") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_gamma_counts(farg1) & -bind(C, name="_wrap_Measurement_gamma_counts") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_neutron_counts(farg1) & -bind(C, name="_wrap_Measurement_neutron_counts") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_location_state(farg1) & -bind(C, name="_wrap_Measurement_location_state") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_Measurement_set_title(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_title") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_start_time(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_start_time") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_remarks(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_remarks") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_parse_warnings(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_parse_warnings") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_source_type(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_source_type") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_position(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_Measurement_set_position") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 -real(C_DOUBLE), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -end subroutine - -subroutine swigc_Measurement_set_sample_number(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_sample_number") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_occupancy_status(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_occupancy_status") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_detector_name(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_detector_name") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_detector_number(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_detector_number") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) & -bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -end subroutine - -subroutine swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_pcf_tag(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_pcf_tag") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -character(C_CHAR), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_source_description(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_source_description") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_measurement_description(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_measurement_description") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_Measurement_num_gamma_channels(farg1) & -bind(C, name="_wrap_Measurement_num_gamma_channels") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_find_gamma_channel(farg1, farg2) & -bind(C, name="_wrap_Measurement_find_gamma_channel") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_gamma_channel_content(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_content") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_gamma_channel_lower(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_lower") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_gamma_channel_center(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_center") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_gamma_channel_upper(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_upper") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_gamma_channel_width(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_channel_width") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_gamma_integral(farg1, farg2, farg3) & -bind(C, name="_wrap_Measurement_gamma_integral") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -real(C_DOUBLE) :: fresult -end function - -function swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) & -bind(C, name="_wrap_Measurement_gamma_channels_sum") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -real(C_DOUBLE) :: fresult -end function - -function swigc_Measurement_gamma_channel_energies(farg1) & -bind(C, name="_wrap_Measurement_gamma_channel_energies") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_gamma_channel_contents(farg1) & -bind(C, name="_wrap_Measurement_gamma_channel_contents") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_gamma_energy_min(farg1) & -bind(C, name="_wrap_Measurement_gamma_energy_min") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_gamma_energy_max(farg1) & -bind(C, name="_wrap_Measurement_gamma_energy_max") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_derived_data_properties(farg1) & -bind(C, name="_wrap_Measurement_derived_data_properties") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_Measurement_rpm_panel_number(farg1) & -bind(C, name="_wrap_Measurement_rpm_panel_number") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_rpm_column_number(farg1) & -bind(C, name="_wrap_Measurement_rpm_column_number") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_rpm_mca_number(farg1) & -bind(C, name="_wrap_Measurement_rpm_mca_number") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_write_2006_N42_xml(farg1, farg2) & -bind(C, name="_wrap_Measurement_write_2006_N42_xml") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_write_csv(farg1, farg2) & -bind(C, name="_wrap_Measurement_write_csv") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_write_txt(farg1, farg2) & -bind(C, name="_wrap_Measurement_write_txt") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -subroutine swigc_Measurement_reset(farg1) & -bind(C, name="_wrap_Measurement_reset") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_Measurement_rebin(farg1, farg2) & -bind(C, name="_wrap_Measurement_rebin") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_energy_calibration(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_energy_calibration") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_info_from_2006_N42_spectrum_node") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_Measurement_gamma_count_at(farg1, farg2) & -bind(C, name="_wrap_Measurement_gamma_count_at") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT) :: fresult -end function - -function swigc_Measurement_get_num_channels(farg1) & -bind(C, name="_wrap_Measurement_get_num_channels") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_Measurement_get_start_time_string(farg1) & -bind(C, name="_wrap_Measurement_get_start_time_string") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_Measurement_set_start_time_from_string(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_start_time_from_string") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_set_neutron_count(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_neutron_count") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_Measurement_get_neutron_count(farg1) & -bind(C, name="_wrap_Measurement_get_neutron_count") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_Measurement_set_spectrum(farg1, farg2) & -bind(C, name="_wrap_Measurement_set_spectrum") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_get_spectrum(farg1, farg2) & -bind(C, name="_wrap_Measurement_get_spectrum") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_Measurement_op_assign__(farg1, farg2) & -bind(C, name="_wrap_Measurement_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_new_SpecFile__SWIG_0() & -bind(C, name="_wrap_new_SpecFile__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_SpecFile__SWIG_1(farg1) & -bind(C, name="_wrap_new_SpecFile__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_delete_SpecFile(farg1) & -bind(C, name="_wrap_delete_SpecFile") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -function swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_load_file__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigArrayWrapper) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_load_file__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT), intent(in) :: farg3 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_parse_warnings(farg1) & -bind(C, name="_wrap_SpecFile_parse_warnings") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_modified(farg1) & -bind(C, name="_wrap_SpecFile_modified") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_SpecFile_reset_modified(farg1) & -bind(C, name="_wrap_SpecFile_reset_modified") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -function swigc_SpecFile_modified_since_decode(farg1) & -bind(C, name="_wrap_SpecFile_modified_since_decode") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_SpecFile_reset_modified_since_decode(farg1) & -bind(C, name="_wrap_SpecFile_reset_modified_since_decode") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -function swigc_SpecFile_gamma_live_time(farg1) & -bind(C, name="_wrap_SpecFile_gamma_live_time") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_SpecFile_gamma_real_time(farg1) & -bind(C, name="_wrap_SpecFile_gamma_real_time") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_SpecFile_gamma_count_sum(farg1) & -bind(C, name="_wrap_SpecFile_gamma_count_sum") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_SpecFile_neutron_counts_sum(farg1) & -bind(C, name="_wrap_SpecFile_neutron_counts_sum") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_SpecFile_filename(farg1) & -bind(C, name="_wrap_SpecFile_filename") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_detector_names(farg1) & -bind(C, name="_wrap_SpecFile_detector_names") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_detector_numbers(farg1) & -bind(C, name="_wrap_SpecFile_detector_numbers") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_gamma_detector_names(farg1) & -bind(C, name="_wrap_SpecFile_gamma_detector_names") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_neutron_detector_names(farg1) & -bind(C, name="_wrap_SpecFile_neutron_detector_names") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_uuid(farg1) & -bind(C, name="_wrap_SpecFile_uuid") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_remarks(farg1) & -bind(C, name="_wrap_SpecFile_remarks") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_lane_number(farg1) & -bind(C, name="_wrap_SpecFile_lane_number") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_measurement_location_name(farg1) & -bind(C, name="_wrap_SpecFile_measurement_location_name") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_inspection(farg1) & -bind(C, name="_wrap_SpecFile_inspection") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_measurement_operator(farg1) & -bind(C, name="_wrap_SpecFile_measurement_operator") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_sample_numbers(farg1) & -bind(C, name="_wrap_SpecFile_sample_numbers") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_num_measurements(farg1) & -bind(C, name="_wrap_SpecFile_num_measurements") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_detector_type(farg1) & -bind(C, name="_wrap_SpecFile_detector_type") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_instrument_type(farg1) & -bind(C, name="_wrap_SpecFile_instrument_type") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_manufacturer(farg1) & -bind(C, name="_wrap_SpecFile_manufacturer") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_instrument_model(farg1) & -bind(C, name="_wrap_SpecFile_instrument_model") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_instrument_id(farg1) & -bind(C, name="_wrap_SpecFile_instrument_id") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_SpecFile_measurements(farg1) & -bind(C, name="_wrap_SpecFile_measurements") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_measurement__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_measurement__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_detectors_analysis(farg1) & -bind(C, name="_wrap_SpecFile_detectors_analysis") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_multimedia_data(farg1) & -bind(C, name="_wrap_SpecFile_multimedia_data") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_has_gps_info(farg1) & -bind(C, name="_wrap_SpecFile_has_gps_info") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_mean_latitude(farg1) & -bind(C, name="_wrap_SpecFile_mean_latitude") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_SpecFile_mean_longitude(farg1) & -bind(C, name="_wrap_SpecFile_mean_longitude") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE) :: fresult -end function - -function swigc_SpecFile_passthrough(farg1) & -bind(C, name="_wrap_SpecFile_passthrough") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_contains_derived_data(farg1) & -bind(C, name="_wrap_SpecFile_contains_derived_data") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_contains_non_derived_data(farg1) & -bind(C, name="_wrap_SpecFile_contains_non_derived_data") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_SpecFile_set_filename(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_filename") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_remarks__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_add_remark(farg1, farg2) & -bind(C, name="_wrap_SpecFile_add_remark") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_parse_warnings(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_parse_warnings") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_uuid(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_uuid") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_lane_number(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_lane_number") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_measurement_location_name(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_measurement_location_name") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_inspection(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_inspection") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_instrument_type(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_instrument_type") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_detector_type(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_detector_type") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_manufacturer(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_manufacturer") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_instrument_model(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_instrument_model") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_instrument_id(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_instrument_id") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_live_time(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_live_time") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_set_real_time(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_real_time") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_set_start_time(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_start_time") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_remarks__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_set_source_type(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_source_type") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_set_position") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 -real(C_DOUBLE), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -type(SwigClassWrapper), intent(in) :: farg5 -end subroutine - -subroutine swigc_SpecFile_set_title(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_set_title") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_set_contained_neutrons") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -real(C_FLOAT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -real(C_FLOAT), intent(in) :: farg5 -end subroutine - -subroutine swigc_SpecFile_set_detectors_analysis(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_detectors_analysis") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_change_detector_name(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_change_detector_name") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: farg3 -end subroutine - -subroutine swigc_SpecFile_change_sample_numbers(farg1, farg2) & -bind(C, name="_wrap_SpecFile_change_sample_numbers") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_add_measurement__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_SpecFile_add_measurement__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_remove_measurement(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_remove_measurement") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_remove_measurements(farg1, farg2) & -bind(C, name="_wrap_SpecFile_remove_measurements") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_clear_multimedia_data(farg1) & -bind(C, name="_wrap_SpecFile_clear_multimedia_data") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_SpecFile_add_multimedia_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_add_multimedia_data") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_multimedia_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_multimedia_data") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_SpecFile_occupancy_number_from_remarks(farg1) & -bind(C, name="_wrap_SpecFile_occupancy_number_from_remarks") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_sample_measurements(farg1, farg2) & -bind(C, name="_wrap_SpecFile_sample_measurements") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_measurement__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigArrayWrapper) :: farg3 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_measurement__SWIG_2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_suggested_sum_energy_calibration") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_sum_measurements") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_memmorysize(farg1) & -bind(C, name="_wrap_SpecFile_memmorysize") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_gamma_channel_counts(farg1) & -bind(C, name="_wrap_SpecFile_gamma_channel_counts") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_num_gamma_channels(farg1) & -bind(C, name="_wrap_SpecFile_num_gamma_channels") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) & -bind(C, name="_wrap_SpecFile_keep_n_bin_spectra_only") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_contained_neutron(farg1) & -bind(C, name="_wrap_SpecFile_contained_neutron") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_energy_cal_variants(farg1) & -bind(C, name="_wrap_SpecFile_energy_cal_variants") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) & -bind(C, name="_wrap_SpecFile_keep_energy_cal_variants") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_keep_derived_data_variant(farg1, farg2) & -bind(C, name="_wrap_SpecFile_keep_derived_data_variant") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_remove_detectors_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_remove_detectors_data") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_remove_neutron_measurements(farg1) & -bind(C, name="_wrap_SpecFile_remove_neutron_measurements") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_background_sample_number(farg1) & -bind(C, name="_wrap_SpecFile_background_sample_number") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_generate_psuedo_uuid(farg1) & -bind(C, name="_wrap_SpecFile_generate_psuedo_uuid") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_SpecFile_reset(farg1) & -bind(C, name="_wrap_SpecFile_reset") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -function swigc_SpecFile_load_N42_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_N42_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_pcf_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_pcf_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_spc_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_spc_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_chn_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_chn_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_iaea_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_iaea_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_binary_exploranium_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_micro_raider_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_micro_raider_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_txt_or_csv_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_cnf_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_cnf_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_tracs_mps_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_tracs_mps_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_aram_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_aram_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_spectroscopic_daily_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_amptek_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_amptek_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_ortec_listmode_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_lsrm_spe_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_tka_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_tka_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_multiact_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_multiact_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_phd_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_phd_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_lzs_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_lzs_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_radiacode_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_radiacode_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_xml_scan_data_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_json_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_json_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_caen_gxml_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_caen_gxml_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_N42(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_N42") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: farg3 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_iaea_spc(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_iaea_spc") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_binary_spc(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_binary_spc") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_N42_document(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_N42_document") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_micro_raider_from_data") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_binary_exploranium") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_pcf(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_pcf") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_txt_or_csv") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_Gr135_txt") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_spectroscopic_daily_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_srpm210_csv") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_D3S_raw(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_D3S_raw") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_amptek_mca(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_amptek_mca") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_ortec_listmode") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_lsrm_spe") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_tka(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_tka") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_multiact(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_multiact") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_phd(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_phd") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_lzs(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_lzs") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_radiacode(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_radiacode") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_radiacode_spectrogram") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_xml_scan_data") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_iaea(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_iaea") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_chn(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_chn") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_cnf(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_cnf") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_tracs_mps(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_tracs_mps") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_aram(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_aram") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_json(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_json") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_load_from_caen_gxml(farg1, farg2) & -bind(C, name="_wrap_SpecFile_load_from_caen_gxml") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -subroutine swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) & -bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_SpecFile_recalc_total_counts(farg1) & -bind(C, name="_wrap_SpecFile_recalc_total_counts") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) & -bind(C, name="_wrap_SpecFile_merge_neutron_meas_into_gamma_meas") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_rebin_measurement") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_rebin_all_measurements(farg1, farg2) & -bind(C, name="_wrap_SpecFile_rebin_all_measurements") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) & -bind(C, name="_wrap_SpecFile_set_energy_calibration_from_CALp_file") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_SpecFile_detector_names_to_numbers(farg1, farg2) & -bind(C, name="_wrap_SpecFile_detector_names_to_numbers") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT), intent(in) :: farg3 -end subroutine - -subroutine swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 -end subroutine - -subroutine swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_2") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 -end subroutine - -subroutine swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_to_file__SWIG_3") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 -end subroutine - -subroutine swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 -end subroutine - -subroutine swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT), intent(in) :: farg5 -end subroutine - -function swigc_SpecFile_write_pcf(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_pcf") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_2006_N42(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_2006_N42") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_csv(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_csv") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_txt(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_txt") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_SpecFile_write_binary_spc") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -type(SwigClassWrapper), intent(in) :: farg5 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_ascii_spc") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr130v0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr135v2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_iaea_spe") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_cnf") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_SpecFile_write_tka") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_2012N42_VERSION_get() & -bind(C, name="_wrap_SpecFile_2012N42_VERSION_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_create_2012_N42_xml(farg1) & -bind(C, name="_wrap_SpecFile_create_2012_N42_xml") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_write_2012_N42(farg1, farg2) & -bind(C, name="_wrap_SpecFile_write_2012_N42") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_SpecFile_mutex(farg1) & -bind(C, name="_wrap_SpecFile_mutex") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_measurement_at(farg1, farg2) & -bind(C, name="_wrap_SpecFile_measurement_at") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_SpecFile_get_max_channel_count(farg1) & -bind(C, name="_wrap_SpecFile_get_max_channel_count") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_SpecFile_op_assign__(farg1, farg2) & -bind(C, name="_wrap_SpecFile_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_DetectorAnalysisResult_remark__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_remark__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_remark__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_remark__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_nuclide__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_activity__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_activity__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_activity__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_activity__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_nuclide_type__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_id_confidence__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_distance__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_distance__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_distance__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_distance__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_dose_rate__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_real_time__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_real_time__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_real_time__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_detector__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_detector__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysisResult_detector__get(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_detector__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_new_DetectorAnalysisResult() & -bind(C, name="_wrap_new_DetectorAnalysisResult") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysisResult_reset(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_reset") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -function swigc_DetectorAnalysisResult_isEmpty(farg1) & -bind(C, name="_wrap_DetectorAnalysisResult_isEmpty") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_delete_DetectorAnalysisResult(farg1) & -bind(C, name="_wrap_delete_DetectorAnalysisResult") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysisResult_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_DetectorAnalysis_remarks__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_remarks__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_remarks__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_remarks__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_name__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_algorithm_name__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_name__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_algorithm_creator__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_description__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_algorithm_description__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_description__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_analysis_start_time__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_algorithm_result_description__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_results__set(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_results__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_DetectorAnalysis_results__get(farg1) & -bind(C, name="_wrap_DetectorAnalysis_results__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_DetectorAnalysis() & -bind(C, name="_wrap_new_DetectorAnalysis") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DetectorAnalysis_reset(farg1) & -bind(C, name="_wrap_DetectorAnalysis_reset") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -function swigc_DetectorAnalysis_is_empty(farg1) & -bind(C, name="_wrap_DetectorAnalysis_is_empty") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_delete_DetectorAnalysis(farg1) & -bind(C, name="_wrap_delete_DetectorAnalysis") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_DetectorAnalysis_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DetectorAnalysis_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_MultimediaData_remark__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_remark__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_MultimediaData_remark__get(farg1) & -bind(C, name="_wrap_MultimediaData_remark__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_MultimediaData_descriptions__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_descriptions__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_MultimediaData_descriptions__get(farg1) & -bind(C, name="_wrap_MultimediaData_descriptions__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_MultimediaData_data__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_data__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_MultimediaData_data__get(farg1) & -bind(C, name="_wrap_MultimediaData_data__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_MultimediaData_data_encoding__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_data_encoding__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -function swigc_MultimediaData_data_encoding__get(farg1) & -bind(C, name="_wrap_MultimediaData_data_encoding__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -subroutine swigc_MultimediaData_capture_start_time__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_capture_start_time__set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_MultimediaData_capture_start_time__get(farg1) & -bind(C, name="_wrap_MultimediaData_capture_start_time__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_MultimediaData_file_uri__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_file_uri__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_MultimediaData_file_uri__get(farg1) & -bind(C, name="_wrap_MultimediaData_file_uri__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_MultimediaData_mime_type__set(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_mime_type__set") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: farg2 -end subroutine - -function swigc_MultimediaData_mime_type__get(farg1) & -bind(C, name="_wrap_MultimediaData_mime_type__get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_new_MultimediaData() & -bind(C, name="_wrap_new_MultimediaData") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_delete_MultimediaData(farg1) & -bind(C, name="_wrap_delete_MultimediaData") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & -bind(C, name="_wrap_MultimediaData_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_pcf_det_name_to_dev_pair_index(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_pcf_det_name_to_dev_pair_index") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(C_PTR), value :: farg2 -type(C_PTR), value :: farg3 -type(C_PTR), value :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_new_DevPair__SWIG_0() & -bind(C, name="_wrap_new_DevPair__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_DevPair__SWIG_1(farg1, farg2) & -bind(C, name="_wrap_new_DevPair__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_FLOAT), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_DevPair__SWIG_2(farg1) & -bind(C, name="_wrap_new_DevPair__SWIG_2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DevPair_first_set(farg1, farg2) & -bind(C, name="_wrap_DevPair_first_set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DevPair_first_get(farg1) & -bind(C, name="_wrap_DevPair_first_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_DevPair_second_set(farg1, farg2) & -bind(C, name="_wrap_DevPair_second_set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT), intent(in) :: farg2 -end subroutine - -function swigc_DevPair_second_get(farg1) & -bind(C, name="_wrap_DevPair_second_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -subroutine swigc_delete_DevPair(farg1) & -bind(C, name="_wrap_delete_DevPair") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_DevPair_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DevPair_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_new_DeviationPairs__SWIG_0() & -bind(C, name="_wrap_new_DeviationPairs__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_DeviationPairs__SWIG_1(farg1) & -bind(C, name="_wrap_new_DeviationPairs__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_DeviationPairs__SWIG_2(farg1) & -bind(C, name="_wrap_new_DeviationPairs__SWIG_2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_INT), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_new_DeviationPairs__SWIG_3(farg1, farg2) & -bind(C, name="_wrap_new_DeviationPairs__SWIG_3") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_INT), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_DeviationPairs_size(farg1) & -bind(C, name="_wrap_DeviationPairs_size") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_DeviationPairs_capacity(farg1) & -bind(C, name="_wrap_DeviationPairs_capacity") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_DeviationPairs_empty(farg1) & -bind(C, name="_wrap_DeviationPairs_empty") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_DeviationPairs_front(farg1) & -bind(C, name="_wrap_DeviationPairs_front") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_DeviationPairs_back(farg1) & -bind(C, name="_wrap_DeviationPairs_back") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DeviationPairs_reserve(farg1, farg2) & -bind(C, name="_wrap_DeviationPairs_reserve") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_DeviationPairs_resize__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_DeviationPairs_resize__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_DeviationPairs_resize__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_DeviationPairs_resize__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_DeviationPairs_push_back(farg1, farg2) & -bind(C, name="_wrap_DeviationPairs_push_back") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -subroutine swigc_DeviationPairs_pop_back(farg1) & -bind(C, name="_wrap_DeviationPairs_pop_back") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_DeviationPairs_clear(farg1) & -bind(C, name="_wrap_DeviationPairs_clear") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -end subroutine - -subroutine swigc_DeviationPairs_set(farg1, farg2, farg3) & -bind(C, name="_wrap_DeviationPairs_set") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -function swigc_DeviationPairs_get(farg1, farg2) & -bind(C, name="_wrap_DeviationPairs_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_DeviationPairs_insert(farg1, farg2, farg3) & -bind(C, name="_wrap_DeviationPairs_insert") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -end subroutine - -subroutine swigc_DeviationPairs_erase__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_DeviationPairs_erase__SWIG_0") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -end subroutine - -subroutine swigc_DeviationPairs_erase__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_DeviationPairs_erase__SWIG_1") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -end subroutine - -function swigc_DeviationPairs_front_ref(farg1) & -bind(C, name="_wrap_DeviationPairs_front_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_DeviationPairs_back_ref(farg1) & -bind(C, name="_wrap_DeviationPairs_back_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_DeviationPairs_get_ref(farg1, farg2) & -bind(C, name="_wrap_DeviationPairs_get_ref") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_delete_DeviationPairs(farg1) & -bind(C, name="_wrap_delete_DeviationPairs") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_DeviationPairs_op_assign__(farg1, farg2) & -bind(C, name="_wrap_DeviationPairs_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_EnergyCalibration_type(farg1) & -bind(C, name="_wrap_EnergyCalibration_type") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_valid(farg1) & -bind(C, name="_wrap_EnergyCalibration_valid") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_coefficients(farg1) & -bind(C, name="_wrap_EnergyCalibration_coefficients") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_EnergyCalibration_deviation_pairs(farg1) & -bind(C, name="_wrap_EnergyCalibration_deviation_pairs") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_EnergyCalibration_channel_energies(farg1) & -bind(C, name="_wrap_EnergyCalibration_channel_energies") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_EnergyCalibration_num_channels(farg1) & -bind(C, name="_wrap_EnergyCalibration_num_channels") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_new_EnergyCalibration() & -bind(C, name="_wrap_new_EnergyCalibration") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper) :: fresult -end function - -subroutine swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_EnergyCalibration_set_polynomial") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -end subroutine - -subroutine swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_EnergyCalibration_set_default_polynomial") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -end subroutine - -subroutine swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_EnergyCalibration_set_full_range_fraction") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -end subroutine - -function swigc_EnergyCalibration_op_lt__(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibration_op_lt__") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_op_eq__(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibration_op_eq__") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_op_ne__(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibration_op_ne__") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_memmorysize(farg1) & -bind(C, name="_wrap_EnergyCalibration_memmorysize") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_channel_for_energy(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibration_channel_for_energy") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 -real(C_DOUBLE) :: fresult -end function - -function swigc_EnergyCalibration_energy_for_channel(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibration_energy_for_channel") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_DOUBLE), intent(in) :: farg2 -real(C_DOUBLE) :: fresult -end function - -function swigc_EnergyCalibration_lower_energy(farg1) & -bind(C, name="_wrap_EnergyCalibration_lower_energy") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_EnergyCalibration_upper_energy(farg1) & -bind(C, name="_wrap_EnergyCalibration_upper_energy") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -real(C_FLOAT) :: fresult -end function - -function swigc_EnergyCalibration_sm_min_channels_get() & -bind(C, name="_wrap_EnergyCalibration_sm_min_channels_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_sm_max_channels_get() & -bind(C, name="_wrap_EnergyCalibration_sm_max_channels_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: fresult -end function - -function swigc_EnergyCalibration_sm_polynomial_offset_limit_get() & -bind(C, name="_wrap_EnergyCalibration_sm_polynomial_offset_limit_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: fresult -end function - -subroutine swigc_delete_EnergyCalibration(farg1) & -bind(C, name="_wrap_delete_EnergyCalibration") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -end subroutine - -subroutine swigc_EnergyCalibration_op_assign__(farg1, farg2) & -bind(C, name="_wrap_EnergyCalibration_op_assign__") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(inout) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_energy_cal_combine_channels(farg1, farg2) & -bind(C, name="_wrap_energy_cal_combine_channels") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_polynomial_binning(farg1, farg2, farg3) & -bind(C, name="_wrap_polynomial_binning") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult -end function - -function swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_fullrangefraction_binning__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -integer(C_INT), intent(in) :: farg4 -type(SwigClassWrapper) :: fresult -end function - -function swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) & -bind(C, name="_wrap_fullrangefraction_binning__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult -end function - -function swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_fullrangefraction_energy") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -real(C_DOUBLE) :: fresult -end function - -function swigc_polynomial_energy(farg1, farg2, farg3) & -bind(C, name="_wrap_polynomial_energy") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -real(C_DOUBLE) :: fresult -end function - -function swigc_deviation_pair_correction(farg1, farg2) & -bind(C, name="_wrap_deviation_pair_correction") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -real(C_DOUBLE) :: fresult -end function - -function swigc_correction_due_to_dev_pairs(farg1, farg2) & -bind(C, name="_wrap_correction_due_to_dev_pairs") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -real(C_DOUBLE) :: fresult -end function - -function swigc_apply_deviation_pair(farg1, farg2) & -bind(C, name="_wrap_apply_deviation_pair") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) & -bind(C, name="_wrap_polynomial_coef_to_fullrangefraction") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) & -bind(C, name="_wrap_fullrangefraction_coef_to_polynomial") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) & -bind(C, name="_wrap_mid_channel_polynomial_to_fullrangeFraction") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -integer(C_INT), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_calibration_is_valid(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_calibration_is_valid") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_INT), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -integer(C_INT), intent(in) :: farg4 -integer(C_INT) :: fresult -end function - -function swigc_polynomial_cal_remove_first_channels(farg1, farg2) & -bind(C, name="_wrap_polynomial_cal_remove_first_channels") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -integer(C_INT), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_find_fullrangefraction_channel__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -real(C_DOUBLE), intent(in) :: farg5 -real(C_DOUBLE) :: fresult -end function - -function swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_find_fullrangefraction_channel__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -real(C_DOUBLE) :: fresult -end function - -function swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) & -bind(C, name="_wrap_find_polynomial_channel__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -real(C_DOUBLE), intent(in) :: farg5 -real(C_DOUBLE) :: fresult -end function - -function swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_find_polynomial_channel__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -real(C_DOUBLE), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -integer(C_INT), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -real(C_DOUBLE) :: fresult -end function - -subroutine swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) & -bind(C, name="_wrap_rebin_by_lower_edge") -use, intrinsic :: ISO_C_BINDING -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigClassWrapper), intent(in) :: farg3 -type(SwigClassWrapper), intent(in) :: farg4 -end subroutine - -function swigc_write_CALp_file(farg1, farg2, farg3) & -bind(C, name="_wrap_write_CALp_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigClassWrapper), intent(in) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -type(SwigArrayWrapper) :: farg3 -integer(C_INT) :: fresult -end function - -function swigc_remove_file(farg1) & -bind(C, name="_wrap_remove_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_is_file(farg1) & -bind(C, name="_wrap_is_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_rename_file(farg1, farg2) & -bind(C, name="_wrap_rename_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: fresult -end function - -function swigc_is_directory(farg1) & -bind(C, name="_wrap_is_directory") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_create_directory(farg1) & -bind(C, name="_wrap_create_directory") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_can_rw_in_directory(farg1) & -bind(C, name="_wrap_can_rw_in_directory") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_append_path(farg1, farg2) & -bind(C, name="_wrap_append_path") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_filename(farg1) & -bind(C, name="_wrap_filename") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_parent_path(farg1) & -bind(C, name="_wrap_parent_path") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_file_extension(farg1) & -bind(C, name="_wrap_file_extension") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_file_size(farg1) & -bind(C, name="_wrap_file_size") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_temp_dir() & -bind(C, name="_wrap_temp_dir") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: fresult -end function - -function swigc_is_absolute_path(farg1) & -bind(C, name="_wrap_is_absolute_path") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -function swigc_get_working_path() & -bind(C, name="_wrap_get_working_path") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: fresult -end function - -function swigc_temp_file_name(farg1, farg2) & -bind(C, name="_wrap_temp_file_name") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_sm_recursive_ls_max_depth_get() & -bind(C, name="_wrap_sm_recursive_ls_max_depth_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: fresult -end function - -function swigc_sm_ls_max_results_get() & -bind(C, name="_wrap_sm_ls_max_results_get") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: fresult -end function - -function swigc_recursive_ls__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_recursive_ls__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_recursive_ls__SWIG_1(farg1) & -bind(C, name="_wrap_recursive_ls__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_recursive_ls__SWIG_2(farg1, farg2, farg3) & -bind(C, name="_wrap_recursive_ls__SWIG_2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(C_FUNPTR), value :: farg2 -type(C_PTR), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult -end function - -function swigc_ls_files_in_directory__SWIG_0(farg1, farg2) & -bind(C, name="_wrap_ls_files_in_directory__SWIG_0") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: fresult -end function - -function swigc_ls_files_in_directory__SWIG_1(farg1) & -bind(C, name="_wrap_ls_files_in_directory__SWIG_1") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_ls_files_in_directory__SWIG_2(farg1, farg2, farg3) & -bind(C, name="_wrap_ls_files_in_directory__SWIG_2") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(C_FUNPTR), value :: farg2 -type(C_PTR), intent(in) :: farg3 -type(SwigClassWrapper) :: fresult -end function - -function swigc_ls_directories_in_directory(farg1) & -bind(C, name="_wrap_ls_directories_in_directory") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(SwigClassWrapper) :: fresult -end function - -function swigc_fs_relative(farg1, farg2) & -bind(C, name="_wrap_fs_relative") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 -type(SwigArrayWrapper) :: fresult -end function - -function swigc_lexically_normalize_path(farg1) & -bind(C, name="_wrap_lexically_normalize_path") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -type(SwigArrayWrapper) :: fresult -end function - -subroutine swigc_load_file_data(farg1, farg2) & -bind(C, name="_wrap_load_file_data") -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -import :: swigclasswrapper -type(SwigArrayWrapper) :: farg1 -type(SwigClassWrapper), intent(in) :: farg2 -end subroutine - -function swigc_likely_not_spec_file(farg1) & -bind(C, name="_wrap_likely_not_spec_file") & -result(fresult) -use, intrinsic :: ISO_C_BINDING -import :: swigarraywrapper -type(SwigArrayWrapper) :: farg1 -integer(C_INT) :: fresult -end function - -end interface - - -contains - ! MODULE SUBPROGRAMS -function swigf_new_FloatVector__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_FloatVector__SWIG_0() -self%swigdata = fresult -end function - -function swigf_new_FloatVector__SWIG_1(other) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -class(FloatVector), intent(in) :: other -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = other%swigdata -fresult = swigc_new_FloatVector__SWIG_1(farg1) -self%swigdata = fresult -end function - -function swigf_new_FloatVector__SWIG_2(count) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 - -farg1 = int(count, C_INT) -fresult = swigc_new_FloatVector__SWIG_2(farg1) -self%swigdata = fresult -end function - -function swigf_new_FloatVector__SWIG_3(count, v) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: self -integer, intent(in) :: count -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = int(count, C_INT) -farg2 = v -fresult = swigc_new_FloatVector__SWIG_3(farg1, farg2) -self%swigdata = fresult -end function - -function swigf_FloatVector_size(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(FloatVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_FloatVector_size(farg1) -swig_result = int(fresult) -end function - -function swigf_FloatVector_capacity(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(FloatVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_FloatVector_capacity(farg1) -swig_result = int(fresult) -end function - - -subroutine SWIGTM_fout_bool(imout, fout) - use, intrinsic :: ISO_C_BINDING - integer(kind=C_INT), intent(in) :: imout - logical, intent(out) :: fout - fout = (imout /= 0) -end subroutine - -function swigf_FloatVector_empty(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(FloatVector), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_FloatVector_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_FloatVector_front(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_FloatVector_front(farg1) -swig_result = fresult -end function - -function swigf_FloatVector_back(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_FloatVector_back(farg1) -swig_result = fresult -end function - -subroutine swigf_FloatVector_reserve(self, count) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_FloatVector_reserve(farg1, farg2) -end subroutine - -subroutine swigf_FloatVector_resize__SWIG_0(self, count) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_FloatVector_resize__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_FloatVector_resize__SWIG_1(self, count, v) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: count -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -farg3 = v -call swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) -end subroutine - -subroutine swigf_FloatVector_push_back(self, v) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = v -call swigc_FloatVector_push_back(farg1, farg2) -end subroutine - -subroutine swigf_FloatVector_pop_back(self) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_FloatVector_pop_back(farg1) -end subroutine - -subroutine swigf_FloatVector_clear(self) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_FloatVector_clear(farg1) -end subroutine - -subroutine swigf_FloatVector_set(self, index, v) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v -call swigc_FloatVector_set(farg1, farg2, farg3) -end subroutine - -function swigf_FloatVector_get(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_FloatVector_get(farg1, farg2) -swig_result = fresult -end function - -subroutine swigf_FloatVector_insert(self, index, v) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -real(C_FLOAT), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v -call swigc_FloatVector_insert(farg1, farg2, farg3) -end subroutine - -subroutine swigf_FloatVector_erase__SWIG_0(self, index) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -call swigc_FloatVector_erase__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_FloatVector_erase__SWIG_1(self, start_index, stop_index) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: self -integer, intent(in) :: start_index -integer, intent(in) :: stop_index -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 - -farg1 = self%swigdata -farg2 = int(start_index, C_INT) -farg3 = int(stop_index, C_INT) -call swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) -end subroutine - -function swigf_FloatVector_front_ref(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -type(C_PTR) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_FloatVector_front_ref(farg1) -call c_f_pointer(fresult, swig_result) -end function - -function swigf_FloatVector_back_ref(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -type(C_PTR) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_FloatVector_back_ref(farg1) -call c_f_pointer(fresult, swig_result) -end function - -function swigf_FloatVector_get_ref(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT), pointer :: swig_result -class(FloatVector), intent(in) :: self -integer, intent(in) :: index -type(C_PTR) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_FloatVector_get_ref(farg1, farg2) -call c_f_pointer(fresult, swig_result) -end function - -subroutine swigf_FloatVector_release(self) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_FloatVector(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_FloatVector_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(inout) :: self -type(FloatVector), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_FloatVector_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_new_MeasurementVector__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_MeasurementVector__SWIG_0() -self%swigdata = fresult -end function - -function swigf_new_MeasurementVector__SWIG_1(other) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -class(MeasurementVector), intent(in) :: other -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = other%swigdata -fresult = swigc_new_MeasurementVector__SWIG_1(farg1) -self%swigdata = fresult -end function - -function swigf_new_MeasurementVector__SWIG_2(count) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 - -farg1 = int(count, C_INT) -fresult = swigc_new_MeasurementVector__SWIG_2(farg1) -self%swigdata = fresult -end function - -function swigf_new_MeasurementVector__SWIG_3(count, v) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MeasurementVector) :: self -integer, intent(in) :: count -class(Measurement), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_SIZE_T) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = int(count, C_INT) -farg2 = v%swigdata -fresult = swigc_new_MeasurementVector__SWIG_3(farg1, farg2) -self%swigdata = fresult -end function - -function swigf_MeasurementVector_size(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementVector_size(farg1) -swig_result = int(fresult) -end function - -function swigf_MeasurementVector_capacity(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_SIZE_T) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementVector_capacity(farg1) -swig_result = int(fresult) -end function - -function swigf_MeasurementVector_empty(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(MeasurementVector), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementVector_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_MeasurementVector_front(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementVector_front(farg1) -swig_result%swigdata = fresult -end function - -function swigf_MeasurementVector_back(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementVector_back(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_MeasurementVector_reserve(self, count) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_MeasurementVector_reserve(farg1, farg2) -end subroutine - -subroutine swigf_MeasurementVector_resize__SWIG_0(self, count) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_MeasurementVector_resize__SWIG_1(self, count, v) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: count -class(Measurement), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) -end subroutine - -subroutine swigf_MeasurementVector_push_back(self, v) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -class(Measurement), intent(in) :: v -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = v%swigdata -call swigc_MeasurementVector_push_back(farg1, farg2) -end subroutine - -subroutine swigf_MeasurementVector_pop_back(self) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_MeasurementVector_pop_back(farg1) -end subroutine - -subroutine swigf_MeasurementVector_clear(self) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_MeasurementVector_clear(farg1) -end subroutine - -subroutine swigf_MeasurementVector_set(self, index, v) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -class(Measurement), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_set(farg1, farg2, farg3) -end subroutine - -function swigf_MeasurementVector_get(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_MeasurementVector_get(farg1, farg2) -swig_result%swigdata = fresult -end function - -subroutine swigf_MeasurementVector_insert(self, index, v) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -class(Measurement), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_MeasurementVector_insert(farg1, farg2, farg3) -end subroutine - -subroutine swigf_MeasurementVector_erase__SWIG_0(self, index) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -call swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_MeasurementVector_erase__SWIG_1(self, start_index, stop_index) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: start_index -integer, intent(in) :: stop_index -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 -integer(C_SIZE_T) :: farg3 - -farg1 = self%swigdata -farg2 = int(start_index, C_INT) -farg3 = int(stop_index, C_INT) -call swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) -end subroutine - -function swigf_MeasurementVector_front_ref(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementVector_front_ref(farg1) -swig_result%swigdata = fresult -end function - -function swigf_MeasurementVector_back_ref(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MeasurementVector_back_ref(farg1) -swig_result%swigdata = fresult -end function - -function swigf_MeasurementVector_get_ref(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(MeasurementVector), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_SIZE_T) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_MeasurementVector_get_ref(farg1, farg2) -swig_result%swigdata = fresult -end function - -subroutine swigf_MeasurementVector_release(self) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_MeasurementVector(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_MeasurementVector_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(MeasurementVector), intent(inout) :: self -type(MeasurementVector), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_MeasurementVector_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - - -subroutine SWIGTM_fin_char_Sm_(finp, iminp, temp) - use, intrinsic :: ISO_C_BINDING - character(len=*), intent(in) :: finp - type(SwigArrayWrapper), intent(out) :: iminp - character(kind=C_CHAR), dimension(:), target, allocatable, intent(out) :: temp - integer :: i - - allocate(character(kind=C_CHAR) :: temp(len(finp) + 1)) - do i=1,len(finp) - temp(i) = char(ichar(finp(i:i)), kind=C_CHAR) - end do - i = len(finp) + 1 - temp(i) = C_NULL_CHAR ! C finp compatibility - iminp%data = c_loc(temp) - iminp%size = len(finp, kind=C_SIZE_T) -end subroutine - -function spectrumTypeFromDescription(descrip) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(SpectrumType) :: swig_result -character(len=*), intent(in) :: descrip -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(descrip, farg1, farg1_temp) -fresult = swigc_spectrumTypeFromDescription(farg1) -swig_result = fresult -end function - - -subroutine SWIGTM_fout_char_Sm_(imout, fout) - use, intrinsic :: ISO_C_BINDING - type(SwigArrayWrapper), intent(in) :: imout - character(len=:), allocatable, intent(out) :: fout - character(kind=C_CHAR), dimension(:), pointer :: chars - integer(kind=C_SIZE_T) :: i - call c_f_pointer(imout%data, chars, [imout%size]) - allocate(character(len=imout%size) :: fout) - do i=1, imout%size - fout(i:i) = char(ichar(chars(i))) - end do -end subroutine - -function suggestedNameEnding(type) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -integer(SaveSpectrumAsType), intent(in) :: type -type(SwigArrayWrapper) :: fresult -integer(C_INT) :: farg1 - -farg1 = type -fresult = swigc_suggestedNameEnding(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -if (.false.) call SWIG_free(fresult%data) -end function - -function swigf_is_candidate_n42_file__SWIG_0(data) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: data -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -fresult = swigc_is_candidate_n42_file__SWIG_0(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_is_candidate_n42_file__SWIG_1(data, data_end) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) -fresult = swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function convert_n42_utf16_xml_to_utf8(data, data_end) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) -fresult = swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -if (.false.) call SWIG_free(fresult%data) -end function - -subroutine add_analysis_results_to_2012_N42(ana, radinstrumentdata, xmldocmutex) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: ana -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: radinstrumentdata -class(SWIGTYPE_p_std__mutex), intent(in) :: xmldocmutex -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = ana%swigdata -farg2 = radinstrumentdata%swigdata -farg3 = xmldocmutex%swigdata -call swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) -end subroutine - -subroutine set_analysis_info_from_n42(analysis_node, analysis) -use, intrinsic :: ISO_C_BINDING -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: analysis_node -class(DetectorAnalysis), intent(in) :: analysis -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = analysis_node%swigdata -farg2 = analysis%swigdata -call swigc_set_analysis_info_from_n42(farg1, farg2) -end subroutine - -function gamma_integral(hist, lowenergy, upperunergy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: hist -real(C_FLOAT), intent(in) :: lowenergy -real(C_FLOAT), intent(in) :: upperunergy -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = hist%swigdata -farg2 = lowenergy -farg3 = upperunergy -fresult = swigc_gamma_integral(farg1, farg2, farg3) -swig_result = fresult -end function - -function detectorTypeToString(type) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -integer(DetectorType), intent(in) :: type -type(SwigArrayWrapper) :: fresult -integer(C_INT) :: farg1 - -farg1 = type -fresult = swigc_detectorTypeToString(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_new_Measurement() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_Measurement() -self%swigdata = fresult -end function - -subroutine swigf_Measurement_release(self) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_Measurement(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -function swigf_Measurement_memmorysize(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_memmorysize(farg1) -swig_result = fresult -end function - -function swigf_Measurement_live_time(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_live_time(farg1) -swig_result = fresult -end function - -subroutine swigf_Measurement_set_live_time(self, time) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: time -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = time -call swigc_Measurement_set_live_time(farg1, farg2) -end subroutine - -function swigf_Measurement_real_time(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_real_time(farg1) -swig_result = fresult -end function - -subroutine swigf_Measurement_set_real_time(self, time) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: time -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = time -call swigc_Measurement_set_real_time(farg1, farg2) -end subroutine - -function swigf_Measurement_contained_neutron(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_contained_neutron(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_Measurement_sample_number(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_sample_number(farg1) -swig_result = fresult -end function - -function swigf_Measurement_title(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_title(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_Measurement_occupied(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(OccupancyStatus) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_occupied(farg1) -swig_result = fresult -end function - -function swigf_Measurement_gamma_count_sum(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_gamma_count_sum(farg1) -swig_result = fresult -end function - -function swigf_Measurement_neutron_live_time(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_neutron_live_time(farg1) -swig_result = fresult -end function - -function swigf_Measurement_neutron_counts_sum(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_neutron_counts_sum(farg1) -swig_result = fresult -end function - -function swigf_Measurement_speed(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_speed(farg1) -swig_result = fresult -end function - -function swigf_Measurement_dx(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_dx(farg1) -swig_result = fresult -end function - -function swigf_Measurement_dy(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_dy(farg1) -swig_result = fresult -end function - -function swigf_Measurement_latitude(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_latitude(farg1) -swig_result = fresult -end function - -function swigf_Measurement_longitude(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_longitude(farg1) -swig_result = fresult -end function - -function swigf_Measurement_has_gps_info(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_has_gps_info(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_Measurement_dose_rate(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_dose_rate(farg1) -swig_result = fresult -end function - -function swigf_Measurement_exposure_rate(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_exposure_rate(farg1) -swig_result = fresult -end function - -function swigf_Measurement_pcf_tag(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(C_CHAR) :: swig_result -class(Measurement), intent(in) :: self -character(C_CHAR) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_pcf_tag(farg1) -swig_result = fresult -end function - -function swigf_Measurement_source_description(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_source_description(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_Measurement_measurement_description(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_measurement_description(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_Measurement_position_time(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_position_time(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_detector_name(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_detector_name(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_Measurement_detector_number(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_detector_number(farg1) -swig_result = fresult -end function - -function swigf_Measurement_detector_type(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_detector_type(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_Measurement_quality_status(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(QualityStatus) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_quality_status(farg1) -swig_result = fresult -end function - -function swigf_Measurement_source_type(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(SourceType) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_source_type(farg1) -swig_result = fresult -end function - -function swigf_Measurement_remarks(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_remarks(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_mutable_remarks(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_mutable_remarks(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_parse_warnings(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_parse_warnings(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_start_time(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_start_time(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_start_time_copy(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_start_time_copy(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_energy_calibration_model(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(SWIGTYPE_SpecUtils__EnergyCalType) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_energy_calibration_model(farg1) -swig_result = fresult -end function - -function swigf_Measurement_calibration_coeffs(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_calibration_coeffs(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_deviation_pairs(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DeviationPairs) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_deviation_pairs(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_energy_calibration(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(EnergyCalibration) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_energy_calibration(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_channel_energies(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_channel_energies(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_gamma_counts(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_gamma_counts(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_neutron_counts(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_neutron_counts(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_location_state(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_location_state(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_Measurement_set_title(self, title) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: title -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) -call swigc_Measurement_set_title(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_start_time(self, timestamp) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = timestamp%swigdata -call swigc_Measurement_set_start_time(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_remarks(self, remarks) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = remarks%swigdata -call swigc_Measurement_set_remarks(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_parse_warnings(self, warnings) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = warnings%swigdata -call swigc_Measurement_set_parse_warnings(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_source_type(self, type) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(SourceType), intent(in) :: type -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = type -call swigc_Measurement_set_source_type(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_position(self, longitude, latitude, pos_time) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_DOUBLE), intent(in) :: longitude -real(C_DOUBLE), intent(in) :: latitude -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: pos_time -type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 -real(C_DOUBLE) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = longitude -farg3 = latitude -farg4 = pos_time%swigdata -call swigc_Measurement_set_position(farg1, farg2, farg3, farg4) -end subroutine - -subroutine swigf_Measurement_set_sample_number(self, samplenum) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: samplenum -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = samplenum -call swigc_Measurement_set_sample_number(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_occupancy_status(self, status) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(OccupancyStatus), intent(in) :: status -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = status -call swigc_Measurement_set_occupancy_status(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_detector_name(self, name) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: name -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) -call swigc_Measurement_set_detector_name(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_detector_number(self, detnum) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: detnum -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = detnum -call swigc_Measurement_set_detector_number(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_neutron_counts__SWIG_0(self, counts, neutron_live_time) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(FloatVector), intent(in) :: counts -real(C_FLOAT), intent(in) :: neutron_live_time -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = self%swigdata -farg2 = counts%swigdata -farg3 = neutron_live_time -call swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) -end subroutine - -subroutine swigf_Measurement_set_neutron_counts__SWIG_1(self, counts) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(FloatVector), intent(in) :: counts -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = counts%swigdata -call swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_pcf_tag(self, tag_char) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(C_CHAR), intent(in) :: tag_char -type(SwigClassWrapper) :: farg1 -character(C_CHAR) :: farg2 - -farg1 = self%swigdata -farg2 = tag_char -call swigc_Measurement_set_pcf_tag(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_source_description(self, description) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: description -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) -call swigc_Measurement_set_source_description(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_measurement_description(self, description) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: description -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) -call swigc_Measurement_set_measurement_description(farg1, farg2) -end subroutine - -function swigf_Measurement_num_gamma_channels(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_num_gamma_channels(farg1) -swig_result = fresult -end function - -function swigf_Measurement_find_gamma_channel(self, energy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: energy -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = energy -fresult = swigc_Measurement_find_gamma_channel(farg1, farg2) -swig_result = fresult -end function - -function swigf_Measurement_gamma_channel_content(self, channel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: channel -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_content(farg1, farg2) -swig_result = fresult -end function - -function swigf_Measurement_gamma_channel_lower(self, channel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: channel -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_lower(farg1, farg2) -swig_result = fresult -end function - -function swigf_Measurement_gamma_channel_center(self, channel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: channel -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_center(farg1, farg2) -swig_result = fresult -end function - -function swigf_Measurement_gamma_channel_upper(self, channel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: channel -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_upper(farg1, farg2) -swig_result = fresult -end function - -function swigf_Measurement_gamma_channel_width(self, channel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: channel -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = channel -fresult = swigc_Measurement_gamma_channel_width(farg1, farg2) -swig_result = fresult -end function - -function swigf_Measurement_gamma_integral(self, lower_energy, upper_energy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: lower_energy -real(C_FLOAT), intent(in) :: upper_energy -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -real(C_FLOAT) :: farg3 - -farg1 = self%swigdata -farg2 = lower_energy -farg3 = upper_energy -fresult = swigc_Measurement_gamma_integral(farg1, farg2, farg3) -swig_result = fresult -end function - -function swigf_Measurement_gamma_channels_sum(self, startbin, endbin) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: startbin -integer(C_INT), intent(in) :: endbin -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -integer(C_INT) :: farg3 - -farg1 = self%swigdata -farg2 = startbin -farg3 = endbin -fresult = swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) -swig_result = fresult -end function - -function swigf_Measurement_gamma_channel_energies(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_gamma_channel_energies(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_gamma_channel_contents(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_gamma_channel_contents(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_gamma_energy_min(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_gamma_energy_min(farg1) -swig_result = fresult -end function - -function swigf_Measurement_gamma_energy_max(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_gamma_energy_max(farg1) -swig_result = fresult -end function - -function swigf_Measurement_derived_data_properties(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_uint32_t) :: swig_result -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_derived_data_properties(farg1) -swig_result%swigdata = fresult -end function - -function swigf_Measurement_rpm_panel_number(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_rpm_panel_number(farg1) -swig_result = fresult -end function - -function swigf_Measurement_rpm_column_number(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_rpm_column_number(farg1) -swig_result = fresult -end function - -function swigf_Measurement_rpm_mca_number(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_rpm_mca_number(farg1) -swig_result = fresult -end function - -function swigf_Measurement_write_2006_N42_xml(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_2006_N42_xml(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_Measurement_write_csv(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_Measurement_write_txt(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(Measurement), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_Measurement_write_txt(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -subroutine swigf_Measurement_reset(self) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_Measurement_reset(farg1) -end subroutine - -subroutine swigf_Measurement_rebin(self, cal) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(EnergyCalibration), intent(in) :: cal -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_Measurement_rebin(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_energy_calibration(self, cal) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -class(EnergyCalibration), intent(in) :: cal -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_Measurement_set_energy_calibration(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -type(SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t), intent(in) :: spectrum -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = spectrum%swigdata -call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) -end subroutine - -function swigf_Measurement_gamma_count_at(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT), intent(in) :: index -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = index -fresult = swigc_Measurement_gamma_count_at(farg1, farg2) -swig_result = fresult -end function - -function swigf_Measurement_get_num_channels(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(Measurement), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_get_num_channels(farg1) -swig_result = fresult -end function - -function swigf_Measurement_get_start_time_string(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(Measurement), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_get_start_time_string(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_Measurement_set_start_time_from_string(self, time_str) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -character(len=*), intent(in) :: time_str -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(time_str, farg2, farg2_temp) -call swigc_Measurement_set_start_time_from_string(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_set_neutron_count(self, count) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), intent(in) :: count -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = count -call swigc_Measurement_set_neutron_count(farg1, farg2) -end subroutine - -function swigf_Measurement_get_neutron_count(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(Measurement), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_Measurement_get_neutron_count(farg1) -swig_result = fresult -end function - -subroutine SWIGTM_fin_float_Sb__SB_(finp, iminp) - use, intrinsic :: ISO_C_BINDING - real(C_FLOAT), dimension(:), intent(in), target :: finp - type(SwigArrayWrapper), intent(out) :: iminp - integer(C_SIZE_T) :: sz - real(C_FLOAT), pointer :: imtemp - - sz = size(finp, kind=C_SIZE_T) - if (sz > 0_c_size_t) then - imtemp => finp(1) - iminp%data = c_loc(imtemp) - else - iminp%data = c_null_ptr - end if - iminp%size = sz -end subroutine -subroutine swigf_Measurement_set_spectrum(self, spectrum) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), dimension(:), target :: spectrum -type(SwigClassWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) -call swigc_Measurement_set_spectrum(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_get_spectrum(self, spectrum) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(in) :: self -real(C_FLOAT), dimension(:), target :: spectrum -type(SwigClassWrapper) :: farg1 -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) -call swigc_Measurement_get_spectrum(farg1, farg2) -end subroutine - -subroutine swigf_Measurement_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(Measurement), intent(inout) :: self -type(Measurement), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_Measurement_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_new_SpecFile__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(SpecFile) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_SpecFile__SWIG_0() -self%swigdata = fresult -end function - -function swigf_new_SpecFile__SWIG_1(rhs) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(SpecFile) :: self -class(SpecFile), intent(in) :: rhs -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = rhs%swigdata -fresult = swigc_new_SpecFile__SWIG_1(farg1) -self%swigdata = fresult -end function - -subroutine swigf_SpecFile_release(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_SpecFile(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -function swigf_SpecFile_load_file__SWIG_0(self, filename, parser_type, file_ending_hint) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(ParserType), intent(in) :: parser_type -character(len=*), intent(in) :: file_ending_hint -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg4_temp -type(SwigArrayWrapper) :: farg4 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = parser_type -call SWIGTM_fin_char_Sm_(file_ending_hint, farg4, farg4_temp) -fresult = swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_file__SWIG_1(self, filename, parser_type) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(ParserType), intent(in) :: parser_type -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = parser_type -fresult = swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_parse_warnings(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_parse_warnings(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_modified(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_modified(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -subroutine swigf_SpecFile_reset_modified(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_SpecFile_reset_modified(farg1) -end subroutine - -function swigf_SpecFile_modified_since_decode(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_modified_since_decode(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -subroutine swigf_SpecFile_reset_modified_since_decode(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_SpecFile_reset_modified_since_decode(farg1) -end subroutine - -function swigf_SpecFile_gamma_live_time(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(SpecFile), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_live_time(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_gamma_real_time(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(SpecFile), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_real_time(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_gamma_count_sum(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_count_sum(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_neutron_counts_sum(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_neutron_counts_sum(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_filename(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_filename(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_detector_names(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_detector_names(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_detector_numbers(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_int_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_detector_numbers(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_gamma_detector_names(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_detector_names(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_neutron_detector_names(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_neutron_detector_names(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_uuid(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_uuid(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_remarks(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_remarks(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_lane_number(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_lane_number(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_measurement_location_name(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_measurement_location_name(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_inspection(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_inspection(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_measurement_operator(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_measurement_operator(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_sample_numbers(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_sample_numbers(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_num_measurements(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_num_measurements(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_detector_type(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(DetectorType) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_detector_type(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_instrument_type(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_type(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_manufacturer(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_manufacturer(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_instrument_model(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_model(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_instrument_id(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_instrument_id(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_SpecFile_measurements(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_measurements(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_measurement__SWIG_0(self, num) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: num -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = num -fresult = swigc_SpecFile_measurement__SWIG_0(farg1, farg2) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_detectors_analysis(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_detectors_analysis(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_multimedia_data(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_multimedia_data(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_has_gps_info(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_has_gps_info(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_mean_latitude(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_mean_latitude(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_mean_longitude(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(SpecFile), intent(in) :: self -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_mean_longitude(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_passthrough(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_passthrough(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_contains_derived_data(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_contains_derived_data(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_contains_non_derived_data(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_contains_non_derived_data(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -subroutine swigf_SpecFile_set_filename(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_filename(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_remarks__SWIG_0(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: n -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = n%swigdata -call swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_add_remark(self, remark) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: remark -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark, farg2, farg2_temp) -call swigc_SpecFile_add_remark(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_parse_warnings(self, warnings) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = warnings%swigdata -call swigc_SpecFile_set_parse_warnings(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_uuid(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_uuid(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_lane_number(self, num) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: num -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = num -call swigc_SpecFile_set_lane_number(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_measurement_location_name(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_measurement_location_name(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_inspection(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_inspection(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_instrument_type(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_type(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_detector_type(self, type) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -integer(DetectorType), intent(in) :: type -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = type -call swigc_SpecFile_set_detector_type(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_manufacturer(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_manufacturer(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_instrument_model(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_model(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_instrument_id(self, n) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: n -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) -call swigc_SpecFile_set_instrument_id(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_live_time(self, lt, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -real(C_FLOAT), intent(in) :: lt -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = lt -farg3 = measurement2%swigdata -call swigc_SpecFile_set_live_time(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_set_real_time(self, rt, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -real(C_FLOAT), intent(in) :: rt -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = rt -farg3 = measurement2%swigdata -call swigc_SpecFile_set_real_time(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_set_start_time(self, timestamp, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = timestamp%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_set_start_time(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_set_remarks__SWIG_1(self, remarks, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = remarks%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_set_source_type(self, type, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -integer(SourceType), intent(in) :: type -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = type -farg3 = measurement2%swigdata -call swigc_SpecFile_set_source_type(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_set_position(self, longitude, latitude, position_time, measurement4) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -real(C_DOUBLE), intent(in) :: longitude -real(C_DOUBLE), intent(in) :: latitude -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: position_time -class(Measurement), intent(in) :: measurement4 -type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 -real(C_DOUBLE) :: farg3 -type(SwigClassWrapper) :: farg4 -type(SwigClassWrapper) :: farg5 - -farg1 = self%swigdata -farg2 = longitude -farg3 = latitude -farg4 = position_time%swigdata -farg5 = measurement4%swigdata -call swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) -end subroutine - -subroutine swigf_SpecFile_set_title(self, title, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: title -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) -farg3 = measurement2%swigdata -call swigc_SpecFile_set_title(farg1, farg2, farg3) -end subroutine - - -subroutine SWIGTM_fin_bool(finp, iminp) - use, intrinsic :: ISO_C_BINDING - logical, intent(in) :: finp - integer(kind=C_INT), intent(out) :: iminp - if (finp .eqv. .true.) then - iminp = 1 - else - iminp = 0 - end if -end subroutine - -subroutine swigf_SpecFile_set_contained_neutrons(self, contained, counts, measurement3, neutron_live_time) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -logical, intent(in) :: contained -real(C_FLOAT), intent(in) :: counts -class(Measurement), intent(in) :: measurement3 -real(C_FLOAT), intent(in) :: neutron_live_time -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -real(C_FLOAT) :: farg3 -type(SwigClassWrapper) :: farg4 -real(C_FLOAT) :: farg5 - -farg1 = self%swigdata -call SWIGTM_fin_bool(contained, farg2) -farg3 = counts -farg4 = measurement3%swigdata -farg5 = neutron_live_time -call swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) -end subroutine - -subroutine swigf_SpecFile_set_detectors_analysis(self, ana) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(DetectorAnalysis), intent(in) :: ana -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ana%swigdata -call swigc_SpecFile_set_detectors_analysis(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_change_detector_name(self, original_name, new_name) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: original_name -character(len=*), intent(in) :: new_name -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(original_name, farg2, farg2_temp) -call SWIGTM_fin_char_Sm_(new_name, farg3, farg3_temp) -call swigc_SpecFile_change_detector_name(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_change_sample_numbers(self, from_to_sample_nums) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t), intent(in) :: from_to_sample_nums -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = from_to_sample_nums%swigdata -call swigc_SpecFile_change_sample_numbers(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_add_measurement__SWIG_0(self, meas, docleanup) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas -logical, intent(in) :: docleanup -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 - -farg1 = self%swigdata -farg2 = meas%swigdata -call SWIGTM_fin_bool(docleanup, farg3) -call swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_add_measurement__SWIG_1(self, meas) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = meas%swigdata -call swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_remove_measurement(self, meas, docleanup) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(Measurement), intent(in) :: meas -logical, intent(in) :: docleanup -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 - -farg1 = self%swigdata -farg2 = meas%swigdata -call SWIGTM_fin_bool(docleanup, farg3) -call swigc_SpecFile_remove_measurement(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_remove_measurements(self, meas) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: meas -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = meas%swigdata -call swigc_SpecFile_remove_measurements(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_clear_multimedia_data(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_SpecFile_clear_multimedia_data(farg1) -end subroutine - -subroutine swigf_SpecFile_add_multimedia_data(self, data) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(MultimediaData), intent(in) :: data -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = data%swigdata -call swigc_SpecFile_add_multimedia_data(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_multimedia_data(self, data) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7), intent(in) :: data -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = data%swigdata -call swigc_SpecFile_set_multimedia_data(farg1, farg2) -end subroutine - -function swigf_SpecFile_occupancy_number_from_remarks(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_occupancy_number_from_remarks(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_sample_measurements(self, sample_number) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = sample_number -fresult = swigc_SpecFile_sample_measurements(farg1, farg2) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_measurement__SWIG_1(self, sample_number, det_name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -character(len=*), intent(in) :: det_name -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = sample_number -call SWIGTM_fin_char_Sm_(det_name, farg3, farg3_temp) -fresult = swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_measurement__SWIG_2(self, sample_number, detector_number) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: sample_number -integer(C_INT), intent(in) :: detector_number -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -integer(C_INT) :: farg3 - -farg1 = self%swigdata -farg2 = sample_number -farg3 = detector_number -fresult = swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_suggested_sum_energy_calibration(self, sample_numbers, detector_names) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(EnergyCalibration) :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = sample_numbers%swigdata -farg3 = detector_names%swigdata -fresult = swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_sum_measurements(self, sample_numbers, detector_names, energy_cal) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names -class(EnergyCalibration), intent(in) :: energy_cal -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = sample_numbers%swigdata -farg3 = detector_names%swigdata -farg4 = energy_cal%swigdata -fresult = swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_memmorysize(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_memmorysize(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_gamma_channel_counts(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_gamma_channel_counts(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_num_gamma_channels(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_num_gamma_channels(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_keep_n_bin_spectra_only(self, nbin) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: nbin -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = nbin -fresult = swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) -swig_result = fresult -end function - -function swigf_SpecFile_contained_neutron(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_contained_neutron(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_energy_cal_variants(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_energy_cal_variants(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_keep_energy_cal_variants(self, variants) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: variants -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = variants%swigdata -fresult = swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) -swig_result = fresult -end function - -function swigf_SpecFile_keep_derived_data_variant(self, tokeep) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(SpecFile_DerivedVariantToKeep), intent(in) :: tokeep -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = tokeep -fresult = swigc_SpecFile_keep_derived_data_variant(farg1, farg2) -swig_result = fresult -end function - -function swigf_SpecFile_remove_detectors_data(self, dets_to_remove) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: dets_to_remove -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = dets_to_remove%swigdata -fresult = swigc_SpecFile_remove_detectors_data(farg1, farg2) -swig_result = fresult -end function - -function swigf_SpecFile_remove_neutron_measurements(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_remove_neutron_measurements(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_background_sample_number(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_background_sample_number(farg1) -swig_result = fresult -end function - -function swigf_SpecFile_generate_psuedo_uuid(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(SpecFile), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_generate_psuedo_uuid(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_SpecFile_reset(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_SpecFile_reset(farg1) -end subroutine - -function swigf_SpecFile_load_N42_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_N42_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_pcf_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_pcf_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_spc_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_spc_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_chn_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_chn_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_iaea_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_iaea_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_binary_exploranium_file(self, file_name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: file_name -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(file_name, farg2, farg2_temp) -fresult = swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_micro_raider_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_micro_raider_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_txt_or_csv_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_cnf_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_cnf_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_tracs_mps_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_tracs_mps_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_aram_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_aram_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_spectroscopic_daily_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_amptek_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_amptek_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_ortec_listmode_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_lsrm_spe_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_tka_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_tka_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_multiact_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_multiact_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_phd_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_phd_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_lzs_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_lzs_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_radiacode_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_radiacode_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_xml_scan_data_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_json_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_json_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_caen_gxml_file(self, filename) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -fresult = swigc_SpecFile_load_caen_gxml_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_N42(self, istr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_N42(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_N42_from_data__SWIG_0(self, data) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -fresult = swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_N42_from_data__SWIG_1(self, data, data_end) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data -character(len=*), intent(in) :: data_end -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -call SWIGTM_fin_char_Sm_(data_end, farg3, farg3_temp) -fresult = swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_iaea_spc(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_iaea_spc(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_binary_spc(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_binary_spc(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_N42_document(self, document_node) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: document_node -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = document_node%swigdata -fresult = swigc_SpecFile_load_from_N42_document(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_micro_raider_from_data(self, data) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: data -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) -fresult = swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_binary_exploranium(self, istr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_pcf(self, istr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_pcf(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_txt_or_csv(self, istr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_Gr135_txt(self, istr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_spectroscopic_daily_file(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_srpm210_csv(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_D3S_raw(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_D3S_raw(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_amptek_mca(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_amptek_mca(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_ortec_listmode(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_lsrm_spe(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_tka(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_tka(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_multiact(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_multiact(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_phd(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_phd(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_lzs(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_lzs(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_radiacode(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_radiacode(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_radiacode_spectrogram(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_xml_scan_data(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_iaea(self, istr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: istr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = istr%swigdata -fresult = swigc_SpecFile_load_from_iaea(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_chn(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_chn(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_cnf(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_cnf(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_tracs_mps(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_tracs_mps(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_aram(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_aram(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_json(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_json(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_load_from_caen_gxml(self, input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -fresult = swigc_SpecFile_load_from_caen_gxml(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -subroutine swigf_SpecFile_cleanup_after_load__SWIG_0(self, flags) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: flags -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = flags -call swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_cleanup_after_load__SWIG_1(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) -end subroutine - -subroutine swigf_SpecFile_recalc_total_counts(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_SpecFile_recalc_total_counts(farg1) -end subroutine - -subroutine swigf_SpecFile_merge_neutron_meas_into_gamma_meas(self) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) -end subroutine - -subroutine swigf_SpecFile_rebin_measurement(self, cal, measurement2) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(EnergyCalibration), intent(in) :: cal -class(Measurement), intent(in) :: measurement2 -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = cal%swigdata -farg3 = measurement2%swigdata -call swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_rebin_all_measurements(self, cal) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(EnergyCalibration), intent(in) :: cal -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = cal%swigdata -call swigc_SpecFile_rebin_all_measurements(farg1, farg2) -end subroutine - -subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__istream), intent(in) :: input -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = input%swigdata -call swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) -end subroutine - -function swigf_SpecFile_detector_names_to_numbers(self, det_names) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = det_names%swigdata -fresult = swigc_SpecFile_detector_names_to_numbers(farg1, farg2) -swig_result%swigdata = fresult -end function - -subroutine swigf_SpecFile_write_to_file__SWIG_0(self, filename, format) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -integer(SaveSpectrumAsType), intent(in) :: format -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -integer(C_INT) :: farg3 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = format -call swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) -end subroutine - -subroutine swigf_SpecFile_write_to_file__SWIG_1(self, filename, sample_nums, det_nums, format) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) -end subroutine - -subroutine swigf_SpecFile_write_to_file__SWIG_2(self, filename, sample_nums, det_nums, format) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -type(SWIGTYPE_p_std__vectorT_int_t), intent(in) :: sample_nums -type(SWIGTYPE_p_std__vectorT_int_t), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) -end subroutine - -subroutine swigf_SpecFile_write_to_file__SWIG_3(self, filename, sample_nums, det_names, format) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -character(len=*), intent(in) :: filename -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(SaveSpectrumAsType), intent(in) :: format -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -farg5 = format -call swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) -end subroutine - -subroutine swigf_SpecFile_write__SWIG_0(self, strm, sample_nums, det_nums, format) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: strm -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(SaveSpectrumAsType), intent(in) :: format -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 - -farg1 = self%swigdata -farg2 = strm%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -farg5 = format -call swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) -end subroutine - -subroutine swigf_SpecFile_write__SWIG_1(self, strm, sample_nums, det_names, format) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: strm -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(SaveSpectrumAsType), intent(in) :: format -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 -integer(C_INT) :: farg5 - -farg1 = self%swigdata -farg2 = strm%swigdata -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -farg5 = format -call swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) -end subroutine - -function swigf_SpecFile_write_pcf(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_pcf(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_2006_N42(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_2006_N42(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_csv(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_csv(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_txt(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_txt(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_integer_chn__SWIG_0(self, ostr, sample_nums, det_nums) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_integer_chn__SWIG_1(self, ostr, sample_nums, det_names) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = sample_nums%swigdata -farg4 = det_names%swigdata -fresult = swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_binary_spc(self, ostr, type, sample_nums, det_nums) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(SpecFile_SpcBinaryType), intent(in) :: type -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 -type(SwigClassWrapper) :: farg5 - -farg1 = self%swigdata -farg2 = ostr%swigdata -farg3 = type -farg4 = sample_nums%swigdata -farg5 = det_nums%swigdata -fresult = swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_ascii_spc(self, output, sample_nums, det_nums) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_binary_exploranium_gr130v0(self, output) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = output%swigdata -fresult = swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_binary_exploranium_gr135v2(self, output) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = output%swigdata -fresult = swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_iaea_spe(self, output, sample_nums, det_nums) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_cnf(self, output, sample_nums, det_nums) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_write_tka(self, output, sample_nums, det_nums) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: output -type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums -class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = output%swigdata -farg3 = sample_nums%swigdata -farg4 = det_nums%swigdata -fresult = swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function get_SpecFile_2012N42_VERSION() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -integer(C_INT) :: fresult - -fresult = swigc_SpecFile_2012N42_VERSION_get() -swig_result = fresult -end function - -function swigf_SpecFile_create_2012_N42_xml(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_create_2012_N42_xml(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_write_2012_N42(self, ostr) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SpecFile), intent(in) :: self -class(SWIGTYPE_p_std__ostream), intent(in) :: ostr -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = ostr%swigdata -fresult = swigc_SpecFile_write_2012_N42(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_SpecFile_mutex(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__recursive_mutex) :: swig_result -class(SpecFile), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_mutex(farg1) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_measurement_at(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(Measurement) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT), intent(in) :: index -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = index -fresult = swigc_SpecFile_measurement_at(farg1, farg2) -swig_result%swigdata = fresult -end function - -function swigf_SpecFile_get_max_channel_count(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(SpecFile), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_SpecFile_get_max_channel_count(farg1) -swig_result = fresult -end function - -subroutine swigf_SpecFile_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(SpecFile), intent(inout) :: self -type(SpecFile), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_SpecFile_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: remark_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_remark__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_remark__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_remark__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysisResult_nuclide__set(self, nuclide_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: nuclide_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(nuclide_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_nuclide__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_nuclide__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysisResult_activity__set(self, activity_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: activity_ -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = activity_ -call swigc_DetectorAnalysisResult_activity__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_activity__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_activity__get(farg1) -swig_result = fresult -end function - -subroutine swigf_DetectorAnalysisResult_nuclide_type__set(self, nuclide_type_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: nuclide_type_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(nuclide_type_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_nuclide_type__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_nuclide_type__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysisResult_id_confidence__set(self, id_confidence_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: id_confidence_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(id_confidence_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_id_confidence__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_id_confidence__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysisResult_distance__set(self, distance_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: distance_ -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = distance_ -call swigc_DetectorAnalysisResult_distance__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_distance__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_distance__get(farg1) -swig_result = fresult -end function - -subroutine swigf_DetectorAnalysisResult_dose_rate__set(self, dose_rate_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: dose_rate_ -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = dose_rate_ -call swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_dose_rate__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_dose_rate__get(farg1) -swig_result = fresult -end function - -subroutine swigf_DetectorAnalysisResult_real_time__set(self, real_time_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT), intent(in) :: real_time_ -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = real_time_ -call swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_real_time__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_real_time__get(farg1) -swig_result = fresult -end function - -subroutine swigf_DetectorAnalysisResult_detector__set(self, detector_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -character(len=*), intent(in) :: detector_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(detector_, farg2, farg2_temp) -call swigc_DetectorAnalysisResult_detector__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysisResult_detector__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_detector__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_new_DetectorAnalysisResult() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DetectorAnalysisResult) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_DetectorAnalysisResult() -self%swigdata = fresult -end function - -subroutine swigf_DetectorAnalysisResult_reset(self) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_DetectorAnalysisResult_reset(farg1) -end subroutine - -function swigf_DetectorAnalysisResult_isEmpty(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(DetectorAnalysisResult), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysisResult_isEmpty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -subroutine swigf_DetectorAnalysisResult_release(self) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DetectorAnalysisResult(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_DetectorAnalysisResult_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysisResult), intent(inout) :: self -type(DetectorAnalysisResult), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -subroutine swigf_DetectorAnalysis_remarks__set(self, remarks_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks_ -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = remarks_%swigdata -call swigc_DetectorAnalysis_remarks__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_remarks__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_remarks__get(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_DetectorAnalysis_algorithm_name__set(self, algorithm_name_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_name_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_name_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_algorithm_name__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_name__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysis_algorithm_component_versions__set(self, algorithm_component_versions_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t), intent(in) :: algorithm_component_versions_ -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = algorithm_component_versions_%swigdata -call swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_algorithm_component_versions__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_DetectorAnalysis_algorithm_creator__set(self, algorithm_creator_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_creator_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_creator_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_algorithm_creator__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_creator__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysis_algorithm_description__set(self, algorithm_description_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_description_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_description_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_algorithm_description__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_description__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysis_analysis_start_time__set(self, analysis_start_time_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: analysis_start_time_ -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = analysis_start_time_%swigdata -call swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_analysis_start_time__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_analysis_start_time__get(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_DetectorAnalysis_analysis_computation_duration__set(self, analysis_computation_duration_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -real(C_FLOAT), intent(in) :: analysis_computation_duration_ -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = analysis_computation_duration_ -call swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_analysis_computation_duration__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DetectorAnalysis), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) -swig_result = fresult -end function - -subroutine swigf_DetectorAnalysis_algorithm_result_description__set(self, algorithm_result_description_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -character(len=*), intent(in) :: algorithm_result_description_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(algorithm_result_description_, farg2, farg2_temp) -call swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_algorithm_result_description__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_algorithm_result_description__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_DetectorAnalysis_results__set(self, results_) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t), intent(in) :: results_ -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = results_%swigdata -call swigc_DetectorAnalysis_results__set(farg1, farg2) -end subroutine - -function swigf_DetectorAnalysis_results__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t) :: swig_result -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_results__get(farg1) -swig_result%swigdata = fresult -end function - -function swigf_new_DetectorAnalysis() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DetectorAnalysis) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_DetectorAnalysis() -self%swigdata = fresult -end function - -subroutine swigf_DetectorAnalysis_reset(self) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_DetectorAnalysis_reset(farg1) -end subroutine - -function swigf_DetectorAnalysis_is_empty(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(DetectorAnalysis), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DetectorAnalysis_is_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -subroutine swigf_DetectorAnalysis_release(self) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DetectorAnalysis(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_DetectorAnalysis_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(DetectorAnalysis), intent(inout) :: self -type(DetectorAnalysis), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DetectorAnalysis_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -subroutine swigf_MultimediaData_remark__set(self, remark_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: remark_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) -call swigc_MultimediaData_remark__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_remark__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_remark__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_MultimediaData_descriptions__set(self, descriptions_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: descriptions_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(descriptions_, farg2, farg2_temp) -call swigc_MultimediaData_descriptions__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_descriptions__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_descriptions__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_MultimediaData_data__set(self, data_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data_ -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = data_%swigdata -call swigc_MultimediaData_data__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_data__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_char_t) :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_data__get(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_MultimediaData_data_encoding__set(self, data_encoding_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -integer(MultimediaData_EncodingType), intent(in) :: data_encoding_ -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = data_encoding_ -call swigc_MultimediaData_data_encoding__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_data_encoding__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(MultimediaData_EncodingType) :: swig_result -class(MultimediaData), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_data_encoding__get(farg1) -swig_result = fresult -end function - -subroutine swigf_MultimediaData_capture_start_time__set(self, capture_start_time_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: capture_start_time_ -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = capture_start_time_%swigdata -call swigc_MultimediaData_capture_start_time__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_capture_start_time__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_capture_start_time__get(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_MultimediaData_file_uri__set(self, file_uri_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: file_uri_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(file_uri_, farg2, farg2_temp) -call swigc_MultimediaData_file_uri__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_file_uri__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_file_uri__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine swigf_MultimediaData_mime_type__set(self, mime_type_) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(in) :: self -character(len=*), intent(in) :: mime_type_ -type(SwigClassWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -farg1 = self%swigdata -call SWIGTM_fin_char_Sm_(mime_type_, farg2, farg2_temp) -call swigc_MultimediaData_mime_type__set(farg1, farg2) -end subroutine - -function swigf_MultimediaData_mime_type__get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -class(MultimediaData), intent(in) :: self -type(SwigArrayWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_MultimediaData_mime_type__get(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function swigf_new_MultimediaData() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(MultimediaData) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_MultimediaData() -self%swigdata = fresult -end function - -subroutine swigf_MultimediaData_release(self) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_MultimediaData(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_MultimediaData_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(MultimediaData), intent(inout) :: self -type(MultimediaData), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_MultimediaData_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function pcf_det_name_to_dev_pair_index(name, col, panel, mca) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -character(len=*), intent(in) :: name -integer(C_INT), target, intent(inout) :: col -integer(C_INT), target, intent(inout) :: panel -integer(C_INT), target, intent(inout) :: mca -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -type(C_PTR) :: farg2 -type(C_PTR) :: farg3 -type(C_PTR) :: farg4 - -call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) -farg2 = c_loc(col) -farg3 = c_loc(panel) -farg4 = c_loc(mca) -fresult = swigc_pcf_det_name_to_dev_pair_index(farg1, farg2, farg3, farg4) -swig_result = fresult -end function - -function swigf_new_DevPair__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_DevPair__SWIG_0() -self%swigdata = fresult -end function - -function swigf_new_DevPair__SWIG_1(first, second) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: self -real(C_FLOAT), intent(in) :: first -real(C_FLOAT), intent(in) :: second -type(SwigClassWrapper) :: fresult -real(C_FLOAT) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = first -farg2 = second -fresult = swigc_new_DevPair__SWIG_1(farg1, farg2) -self%swigdata = fresult -end function - -function swigf_new_DevPair__SWIG_2(p) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: self -class(DevPair), intent(in) :: p -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = p%swigdata -fresult = swigc_new_DevPair__SWIG_2(farg1) -self%swigdata = fresult -end function - -subroutine swigf_DevPair_first_set(self, first) -use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(in) :: self -real(C_FLOAT), intent(in) :: first -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = first -call swigc_DevPair_first_set(farg1, farg2) -end subroutine - -function swigf_DevPair_first_get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DevPair), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DevPair_first_get(farg1) -swig_result = fresult -end function - -subroutine swigf_DevPair_second_set(self, second) -use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(in) :: self -real(C_FLOAT), intent(in) :: second -type(SwigClassWrapper) :: farg1 -real(C_FLOAT) :: farg2 - -farg1 = self%swigdata -farg2 = second -call swigc_DevPair_second_set(farg1, farg2) -end subroutine - -function swigf_DevPair_second_get(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(DevPair), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DevPair_second_get(farg1) -swig_result = fresult -end function - -subroutine swigf_DevPair_release(self) -use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DevPair(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_DevPair_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(DevPair), intent(inout) :: self -type(DevPair), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DevPair_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_new_DeviationPairs__SWIG_0() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DeviationPairs) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_DeviationPairs__SWIG_0() -self%swigdata = fresult -end function - -function swigf_new_DeviationPairs__SWIG_1(other) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DeviationPairs) :: self -class(DeviationPairs), intent(in) :: other -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = other%swigdata -fresult = swigc_new_DeviationPairs__SWIG_1(farg1) -self%swigdata = fresult -end function - -function swigf_new_DeviationPairs__SWIG_2(count) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DeviationPairs) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: fresult -integer(C_INT) :: farg1 - -farg1 = int(count, C_INT) -fresult = swigc_new_DeviationPairs__SWIG_2(farg1) -self%swigdata = fresult -end function - -function swigf_new_DeviationPairs__SWIG_3(count, v) & -result(self) -use, intrinsic :: ISO_C_BINDING -type(DeviationPairs) :: self -integer, intent(in) :: count -class(DevPair), intent(in) :: v -type(SwigClassWrapper) :: fresult -integer(C_INT) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = int(count, C_INT) -farg2 = v%swigdata -fresult = swigc_new_DeviationPairs__SWIG_3(farg1, farg2) -self%swigdata = fresult -end function - -function swigf_DeviationPairs_size(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(DeviationPairs), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DeviationPairs_size(farg1) -swig_result = int(fresult) -end function - -function swigf_DeviationPairs_capacity(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer :: swig_result -class(DeviationPairs), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DeviationPairs_capacity(farg1) -swig_result = int(fresult) -end function - -function swigf_DeviationPairs_empty(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(DeviationPairs), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DeviationPairs_empty(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_DeviationPairs_front(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: swig_result -class(DeviationPairs), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DeviationPairs_front(farg1) -swig_result%swigdata = fresult -end function - -function swigf_DeviationPairs_back(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: swig_result -class(DeviationPairs), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DeviationPairs_back(farg1) -swig_result%swigdata = fresult -end function - -subroutine swigf_DeviationPairs_reserve(self, count) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_DeviationPairs_reserve(farg1, farg2) -end subroutine - -subroutine swigf_DeviationPairs_resize__SWIG_0(self, count) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: count -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -call swigc_DeviationPairs_resize__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_DeviationPairs_resize__SWIG_1(self, count, v) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: count -class(DevPair), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = int(count, C_INT) -farg3 = v%swigdata -call swigc_DeviationPairs_resize__SWIG_1(farg1, farg2, farg3) -end subroutine - -subroutine swigf_DeviationPairs_push_back(self, v) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -class(DevPair), intent(in) :: v -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = v%swigdata -call swigc_DeviationPairs_push_back(farg1, farg2) -end subroutine - -subroutine swigf_DeviationPairs_pop_back(self) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_DeviationPairs_pop_back(farg1) -end subroutine - -subroutine swigf_DeviationPairs_clear(self) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -call swigc_DeviationPairs_clear(farg1) -end subroutine - -subroutine swigf_DeviationPairs_set(self, index, v) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: index -class(DevPair), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_DeviationPairs_set(farg1, farg2, farg3) -end subroutine - -function swigf_DeviationPairs_get(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: swig_result -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_DeviationPairs_get(farg1, farg2) -swig_result%swigdata = fresult -end function - -subroutine swigf_DeviationPairs_insert(self, index, v) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: index -class(DevPair), intent(in) :: v -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -farg3 = v%swigdata -call swigc_DeviationPairs_insert(farg1, farg2, farg3) -end subroutine - -subroutine swigf_DeviationPairs_erase__SWIG_0(self, index) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -call swigc_DeviationPairs_erase__SWIG_0(farg1, farg2) -end subroutine - -subroutine swigf_DeviationPairs_erase__SWIG_1(self, start_index, stop_index) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: start_index -integer, intent(in) :: stop_index -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -integer(C_INT) :: farg3 - -farg1 = self%swigdata -farg2 = int(start_index, C_INT) -farg3 = int(stop_index, C_INT) -call swigc_DeviationPairs_erase__SWIG_1(farg1, farg2, farg3) -end subroutine - -function swigf_DeviationPairs_front_ref(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: swig_result -class(DeviationPairs), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DeviationPairs_front_ref(farg1) -swig_result%swigdata = fresult -end function - -function swigf_DeviationPairs_back_ref(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: swig_result -class(DeviationPairs), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_DeviationPairs_back_ref(farg1) -swig_result%swigdata = fresult -end function - -function swigf_DeviationPairs_get_ref(self, index) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DevPair) :: swig_result -class(DeviationPairs), intent(in) :: self -integer, intent(in) :: index -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = self%swigdata -farg2 = int(index, C_INT) -fresult = swigc_DeviationPairs_get_ref(farg1, farg2) -swig_result%swigdata = fresult -end function - -subroutine swigf_DeviationPairs_release(self) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_DeviationPairs(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_DeviationPairs_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(DeviationPairs), intent(inout) :: self -type(DeviationPairs), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_DeviationPairs_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function swigf_EnergyCalibration_type(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(EnergyCalType) :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_type(farg1) -swig_result = fresult -end function - -function swigf_EnergyCalibration_valid(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_valid(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_EnergyCalibration_coefficients(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(EnergyCalibration), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_coefficients(farg1) -swig_result%swigdata = fresult -end function - -function swigf_EnergyCalibration_deviation_pairs(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(DeviationPairs) :: swig_result -class(EnergyCalibration), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_deviation_pairs(farg1) -swig_result%swigdata = fresult -end function - -function swigf_EnergyCalibration_channel_energies(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(EnergyCalibration), intent(in) :: self -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_channel_energies(farg1) -swig_result%swigdata = fresult -end function - -function swigf_EnergyCalibration_num_channels(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_num_channels(farg1) -swig_result = fresult -end function - -function swigf_new_EnergyCalibration() & -result(self) -use, intrinsic :: ISO_C_BINDING -type(EnergyCalibration) :: self -type(SwigClassWrapper) :: fresult - -fresult = swigc_new_EnergyCalibration() -self%swigdata = fresult -end function - -subroutine swigf_EnergyCalibration_set_polynomial(self, num_channels, coeffs, dev_pairs) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(in) :: self -integer(C_INT), intent(in) :: num_channels -class(FloatVector), intent(in) :: coeffs -class(DeviationPairs), intent(in) :: dev_pairs -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = num_channels -farg3 = coeffs%swigdata -farg4 = dev_pairs%swigdata -call swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) -end subroutine - -subroutine swigf_EnergyCalibration_set_default_polynomial(self, num_channels, coeffs, dev_pairs) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(in) :: self -integer(C_INT), intent(in) :: num_channels -class(FloatVector), intent(in) :: coeffs -class(DeviationPairs), intent(in) :: dev_pairs -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = num_channels -farg3 = coeffs%swigdata -farg4 = dev_pairs%swigdata -call swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) -end subroutine - -subroutine swigf_EnergyCalibration_set_full_range_fraction(self, num_channels, coeffs, dev_pairs) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(in) :: self -integer(C_INT), intent(in) :: num_channels -class(FloatVector), intent(in) :: coeffs -class(DeviationPairs), intent(in) :: dev_pairs -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = self%swigdata -farg2 = num_channels -farg3 = coeffs%swigdata -farg4 = dev_pairs%swigdata -call swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) -end subroutine - -function swigf_EnergyCalibration_op_lt__(self, rhs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(EnergyCalibration), intent(in) :: self -class(EnergyCalibration), intent(in) :: rhs -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = rhs%swigdata -fresult = swigc_EnergyCalibration_op_lt__(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_EnergyCalibration_op_eq__(self, rhs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(EnergyCalibration), intent(in) :: self -class(EnergyCalibration), intent(in) :: rhs -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = rhs%swigdata -fresult = swigc_EnergyCalibration_op_eq__(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_EnergyCalibration_op_ne__(self, rhs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(EnergyCalibration), intent(in) :: self -class(EnergyCalibration), intent(in) :: rhs -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = rhs%swigdata -fresult = swigc_EnergyCalibration_op_ne__(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function swigf_EnergyCalibration_memmorysize(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -class(EnergyCalibration), intent(in) :: self -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_memmorysize(farg1) -swig_result = fresult -end function - -function swigf_EnergyCalibration_channel_for_energy(self, energy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_DOUBLE), intent(in) :: energy -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 - -farg1 = self%swigdata -farg2 = energy -fresult = swigc_EnergyCalibration_channel_for_energy(farg1, farg2) -swig_result = fresult -end function - -function swigf_EnergyCalibration_energy_for_channel(self, channel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_DOUBLE), intent(in) :: channel -real(C_DOUBLE) :: fresult -type(SwigClassWrapper) :: farg1 -real(C_DOUBLE) :: farg2 - -farg1 = self%swigdata -farg2 = channel -fresult = swigc_EnergyCalibration_energy_for_channel(farg1, farg2) -swig_result = fresult -end function - -function swigf_EnergyCalibration_lower_energy(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_lower_energy(farg1) -swig_result = fresult -end function - -function swigf_EnergyCalibration_upper_energy(self) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -class(EnergyCalibration), intent(in) :: self -real(C_FLOAT) :: fresult -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -fresult = swigc_EnergyCalibration_upper_energy(farg1) -swig_result = fresult -end function - -function swigf_EnergyCalibration_sm_min_channels_get() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -integer(C_INT) :: fresult - -fresult = swigc_EnergyCalibration_sm_min_channels_get() -swig_result = fresult -end function - -function swigf_EnergyCalibration_sm_max_channels_get() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -integer(C_INT) :: fresult - -fresult = swigc_EnergyCalibration_sm_max_channels_get() -swig_result = fresult -end function - -function swigf_EnergyCalibration_sm_polynomial_offset_limit_get() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_FLOAT) :: swig_result -real(C_FLOAT) :: fresult - -fresult = swigc_EnergyCalibration_sm_polynomial_offset_limit_get() -swig_result = fresult -end function - -subroutine swigf_EnergyCalibration_release(self) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(inout) :: self -type(SwigClassWrapper) :: farg1 - -farg1 = self%swigdata -if (btest(farg1%cmemflags, swig_cmem_own_bit)) then -call swigc_delete_EnergyCalibration(farg1) -endif -farg1%cptr = C_NULL_PTR -farg1%cmemflags = 0 -self%swigdata = farg1 -end subroutine - -subroutine swigf_EnergyCalibration_op_assign__(self, other) -use, intrinsic :: ISO_C_BINDING -class(EnergyCalibration), intent(inout) :: self -type(EnergyCalibration), intent(in) :: other -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = self%swigdata -farg2 = other%swigdata -call swigc_EnergyCalibration_op_assign__(farg1, farg2) -self%swigdata = farg1 -end subroutine - -function energy_cal_combine_channels(orig_cal, num_channel_combine) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(EnergyCalibration) :: swig_result -class(EnergyCalibration), intent(in) :: orig_cal -integer(C_INT), intent(in) :: num_channel_combine -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = orig_cal%swigdata -farg2 = num_channel_combine -fresult = swigc_energy_cal_combine_channels(farg1, farg2) -swig_result%swigdata = fresult -end function - -function polynomial_binning(coeffs, nchannel, deviation_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: deviation_pairs -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = coeffs%swigdata -farg2 = nchannel -farg3 = deviation_pairs%swigdata -fresult = swigc_polynomial_binning(farg1, farg2, farg3) -swig_result%swigdata = fresult -end function - -function swigf_fullrangefraction_binning__SWIG_0(coeffs, nchannel, dev_pairs, include_upper_energy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: dev_pairs -logical, intent(in) :: include_upper_energy -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 -integer(C_INT) :: farg4 - -farg1 = coeffs%swigdata -farg2 = nchannel -farg3 = dev_pairs%swigdata -call SWIGTM_fin_bool(include_upper_energy, farg4) -fresult = swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) -swig_result%swigdata = fresult -end function - -function swigf_fullrangefraction_binning__SWIG_1(coeffs, nchannel, dev_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: dev_pairs -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = coeffs%swigdata -farg2 = nchannel -farg3 = dev_pairs%swigdata -fresult = swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) -swig_result%swigdata = fresult -end function - -function fullrangefraction_energy(channel_number, coeffs, nchannel, deviation_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: channel_number -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = channel_number -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -fresult = swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) -swig_result = fresult -end function - -function polynomial_energy(channel_number, coeffs, deviation_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: channel_number -class(FloatVector), intent(in) :: coeffs -class(DeviationPairs), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 - -farg1 = channel_number -farg2 = coeffs%swigdata -farg3 = deviation_pairs%swigdata -fresult = swigc_polynomial_energy(farg1, farg2, farg3) -swig_result = fresult -end function - -function deviation_pair_correction(polynomial_energy0, dev_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: polynomial_energy0 -class(DeviationPairs), intent(in) :: dev_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = polynomial_energy0 -farg2 = dev_pairs%swigdata -fresult = swigc_deviation_pair_correction(farg1, farg2) -swig_result = fresult -end function - -function correction_due_to_dev_pairs(true_energy, dev_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: true_energy -class(DeviationPairs), intent(in) :: dev_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = true_energy -farg2 = dev_pairs%swigdata -fresult = swigc_correction_due_to_dev_pairs(farg1, farg2) -swig_result = fresult -end function - -function apply_deviation_pair(binning, dev_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result -class(FloatVector), intent(in) :: binning -class(DeviationPairs), intent(in) :: dev_pairs -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = binning%swigdata -farg2 = dev_pairs%swigdata -fresult = swigc_apply_deviation_pair(farg1, farg2) -swig_result%swigdata = fresult -end function - -function polynomial_coef_to_fullrangefraction(coeffs, nchannel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = coeffs%swigdata -farg2 = nchannel -fresult = swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) -swig_result%swigdata = fresult -end function - -function fullrangefraction_coef_to_polynomial(coeffs, nchannel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = coeffs%swigdata -farg2 = nchannel -fresult = swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) -swig_result%swigdata = fresult -end function - -function mid_channel_polynomial_to_fullrangeFraction(coeffs, nchannel) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -type(SwigClassWrapper) :: fresult -type(SwigClassWrapper) :: farg1 -integer(C_INT) :: farg2 - -farg1 = coeffs%swigdata -farg2 = nchannel -fresult = swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) -swig_result%swigdata = fresult -end function - -function calibration_is_valid(type, eqn, devpairs, nbin) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -integer(EnergyCalType), intent(in) :: type -class(FloatVector), intent(in) :: eqn -class(DeviationPairs), intent(in) :: devpairs -integer(C_INT), intent(in) :: nbin -integer(C_INT) :: fresult -integer(C_INT) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -integer(C_INT) :: farg4 - -farg1 = type -farg2 = eqn%swigdata -farg3 = devpairs%swigdata -farg4 = nbin -fresult = swigc_calibration_is_valid(farg1, farg2, farg3, farg4) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function polynomial_cal_remove_first_channels(num_channels_remove, orig_coefs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(FloatVector) :: swig_result -integer(C_INT), intent(in) :: num_channels_remove -class(FloatVector), intent(in) :: orig_coefs -type(SwigClassWrapper) :: fresult -integer(C_INT) :: farg1 -type(SwigClassWrapper) :: farg2 - -farg1 = num_channels_remove -farg2 = orig_coefs%swigdata -fresult = swigc_polynomial_cal_remove_first_channels(farg1, farg2) -swig_result%swigdata = fresult -end function - -function swigf_find_fullrangefraction_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: deviation_pairs -real(C_DOUBLE), intent(in) :: accuracy -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 -real(C_DOUBLE) :: farg5 - -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -farg5 = accuracy -fresult = swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) -swig_result = fresult -end function - -function swigf_find_fullrangefraction_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -fresult = swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) -swig_result = fresult -end function - -function swigf_find_polynomial_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: deviation_pairs -real(C_DOUBLE), intent(in) :: accuracy -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 -real(C_DOUBLE) :: farg5 - -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -farg5 = accuracy -fresult = swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) -swig_result = fresult -end function - -function swigf_find_polynomial_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -real(C_DOUBLE) :: swig_result -real(C_DOUBLE), intent(in) :: energy -class(FloatVector), intent(in) :: coeffs -integer(C_INT), intent(in) :: nchannel -class(DeviationPairs), intent(in) :: deviation_pairs -real(C_DOUBLE) :: fresult -real(C_DOUBLE) :: farg1 -type(SwigClassWrapper) :: farg2 -integer(C_INT) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = energy -farg2 = coeffs%swigdata -farg3 = nchannel -farg4 = deviation_pairs%swigdata -fresult = swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) -swig_result = fresult -end function - -subroutine rebin_by_lower_edge(original_energies, original_counts, new_energies, resulting_counts) -use, intrinsic :: ISO_C_BINDING -class(FloatVector), intent(in) :: original_energies -class(FloatVector), intent(in) :: original_counts -class(FloatVector), intent(in) :: new_energies -class(FloatVector), intent(in) :: resulting_counts -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -type(SwigClassWrapper) :: farg3 -type(SwigClassWrapper) :: farg4 - -farg1 = original_energies%swigdata -farg2 = original_counts%swigdata -farg3 = new_energies%swigdata -farg4 = resulting_counts%swigdata -call swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) -end subroutine - -function write_CALp_file(output, cal, detector_name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -class(SWIGTYPE_p_std__ostream), intent(in) :: output -class(EnergyCalibration), intent(in) :: cal -character(len=*), intent(in) :: detector_name -integer(C_INT) :: fresult -type(SwigClassWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp -type(SwigArrayWrapper) :: farg3 - -farg1 = output%swigdata -farg2 = cal%swigdata -call SWIGTM_fin_char_Sm_(detector_name, farg3, farg3_temp) -fresult = swigc_write_CALp_file(farg1, farg2, farg3) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function remove_file(name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: name -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) -fresult = swigc_remove_file(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function is_file(name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: name -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) -fresult = swigc_is_file(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function rename_file(source, destination) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: source -character(len=*), intent(in) :: destination -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(source, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(destination, farg2, farg2_temp) -fresult = swigc_rename_file(farg1, farg2) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function is_directory(name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: name -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) -fresult = swigc_is_directory(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function create_directory(name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -character(len=*), intent(in) :: name -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) -fresult = swigc_create_directory(farg1) -swig_result = fresult -end function - -function can_rw_in_directory(name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: name -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) -fresult = swigc_can_rw_in_directory(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function append_path(base, name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: base -character(len=*), intent(in) :: name -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(base, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) -fresult = swigc_append_path(farg1, farg2) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function filename(path_and_name) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: path_and_name -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(path_and_name, farg1, farg1_temp) -fresult = swigc_filename(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function parent_path(path) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: path -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) -fresult = swigc_parent_path(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function file_extension(path) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: path -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) -fresult = swigc_file_extension(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function file_size(path) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -character(len=*), intent(in) :: path -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) -fresult = swigc_file_size(farg1) -swig_result = fresult -end function - -function temp_dir() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -type(SwigArrayWrapper) :: fresult - -fresult = swigc_temp_dir() -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function is_absolute_path(path) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: path -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) -fresult = swigc_is_absolute_path(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - -function get_working_path() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -type(SwigArrayWrapper) :: fresult - -fresult = swigc_get_working_path() -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function temp_file_name(filebasename, directory) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: filebasename -character(len=*), intent(in) :: directory -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(filebasename, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(directory, farg2, farg2_temp) -fresult = swigc_temp_file_name(farg1, farg2) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function get_sm_recursive_ls_max_depth() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -integer(C_INT) :: fresult - -fresult = swigc_sm_recursive_ls_max_depth_get() -swig_result = fresult -end function - -function get_sm_ls_max_results() & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -integer(C_INT) :: swig_result -integer(C_INT) :: fresult - -fresult = swigc_sm_ls_max_results_get() -swig_result = fresult -end function - -function swigf_recursive_ls__SWIG_0(sourcedir, ending) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -character(len=*), intent(in) :: sourcedir -character(len=*), intent(in) :: ending -type(SwigClassWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(ending, farg2, farg2_temp) -fresult = swigc_recursive_ls__SWIG_0(farg1, farg2) -swig_result%swigdata = fresult -end function - -function swigf_recursive_ls__SWIG_1(sourcedir) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -character(len=*), intent(in) :: sourcedir -type(SwigClassWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) -fresult = swigc_recursive_ls__SWIG_1(farg1) -swig_result%swigdata = fresult -end function - -function swigf_recursive_ls__SWIG_2(sourcedir, match_fcn, user_data) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -character(len=*), intent(in) :: sourcedir -procedure(SWIGTYPE_f_r_q_const__std__string_p_void__bool) :: match_fcn -type(C_PTR), intent(in) :: user_data -type(SwigClassWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -type(C_FUNPTR) :: farg2 -type(C_PTR) :: farg3 - -call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) -farg2 = c_funloc(match_fcn) -farg3 = user_data -fresult = swigc_recursive_ls__SWIG_2(farg1, farg2, farg3) -swig_result%swigdata = fresult -end function - -function swigf_ls_files_in_directory__SWIG_0(sourcedir, ending) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -character(len=*), intent(in) :: sourcedir -character(len=*), intent(in) :: ending -type(SwigClassWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(ending, farg2, farg2_temp) -fresult = swigc_ls_files_in_directory__SWIG_0(farg1, farg2) -swig_result%swigdata = fresult -end function - -function swigf_ls_files_in_directory__SWIG_1(sourcedir) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -character(len=*), intent(in) :: sourcedir -type(SwigClassWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) -fresult = swigc_ls_files_in_directory__SWIG_1(farg1) -swig_result%swigdata = fresult -end function - -function swigf_ls_files_in_directory__SWIG_2(sourcedir, match_fcn, match_data) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -character(len=*), intent(in) :: sourcedir -procedure(SWIGTYPE_f_r_q_const__std__string_p_void__bool) :: match_fcn -type(C_PTR), intent(in) :: match_data -type(SwigClassWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -type(C_FUNPTR) :: farg2 -type(C_PTR) :: farg3 - -call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) -farg2 = c_funloc(match_fcn) -farg3 = match_data -fresult = swigc_ls_files_in_directory__SWIG_2(farg1, farg2, farg3) -swig_result%swigdata = fresult -end function - -function ls_directories_in_directory(src) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result -character(len=*), intent(in) :: src -type(SwigClassWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(src, farg1, farg1_temp) -fresult = swigc_ls_directories_in_directory(farg1) -swig_result%swigdata = fresult -end function - -function fs_relative(from_path, to_path) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: from_path -character(len=*), intent(in) :: to_path -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp -type(SwigArrayWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(from_path, farg1, farg1_temp) -call SWIGTM_fin_char_Sm_(to_path, farg2, farg2_temp) -fresult = swigc_fs_relative(farg1, farg2) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -function lexically_normalize_path(input) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -character(len=:), allocatable :: swig_result -character(len=*), intent(in) :: input -type(SwigArrayWrapper) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(input, farg1, farg1_temp) -fresult = swigc_lexically_normalize_path(farg1) -call SWIGTM_fout_char_Sm_(fresult, swig_result) -call SWIG_free(fresult%data) -end function - -subroutine load_file_data(filename0, data) -use, intrinsic :: ISO_C_BINDING -character(len=*), intent(in) :: filename0 -class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 -type(SwigClassWrapper) :: farg2 - -call SWIGTM_fin_char_Sm_(filename0, farg1, farg1_temp) -farg2 = data%swigdata -call swigc_load_file_data(farg1, farg2) -end subroutine - -function likely_not_spec_file(file) & -result(swig_result) -use, intrinsic :: ISO_C_BINDING -logical :: swig_result -character(len=*), intent(in) :: file -integer(C_INT) :: fresult -character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp -type(SwigArrayWrapper) :: farg1 - -call SWIGTM_fin_char_Sm_(file, farg1, farg1_temp) -fresult = swigc_likely_not_spec_file(farg1) -call SWIGTM_fout_bool(fresult, swig_result) -end function - - -end module From 7de1a45cce691c3f6cdbd5e4bbb84dffa4036236 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 18:22:50 -0600 Subject: [PATCH 089/100] Revert "Fix missed export" This reverts commit 13592289193ddb89f007663c994cd3a63cfb0df3. --- SpecUtils/EnergyCalibration.h | 1 - 1 file changed, 1 deletion(-) diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index 2b92d6d..b547962 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -496,7 +496,6 @@ namespace SpecUtils @returns the full range fraction coefficients. If input coefficients is empty or number of channels is zero, will return empty vector. */ - SPECUTILS_EXPORT std::vector polynomial_coef_to_fullrangefraction( const std::vector &coeffs, const size_t nchannel ); From 2cceea108f03310062945eed49dfe24a6ea384ae Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Thu, 17 Oct 2024 18:35:57 -0600 Subject: [PATCH 090/100] make it work --- bindings/swig/fortran/CMakeLists.txt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 229dd39..456e6f3 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -6,20 +6,22 @@ project (specutils-swig-fortran Fortran CXX C) # Define the SWIG interface file set(SWIG_INTERFACE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran.i) +set(SWIG_FORTRAN_WRAPPER ${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsWrap.f90) +set(SWIG_CPP_WRAPPER ${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsFortran_wrap.cxx) # Add a custom command to generate the wrapper code add_custom_command( - OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran_wrap.cxx ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsWrap.f90 + OUTPUT ${SWIG_CPP_WRAPPER} ${SWIG_FORTRAN_WRAPPER} COMMAND ${CMAKE_COMMAND} -E echo "Generating SWIG wrapper..." - COMMAND swig -I../../../ -fortran -c++ -outcurrentdir -debug-classes ${SWIG_INTERFACE_FILE} + COMMAND swig -I../../../ -fortran -c++ -outdir ${CMAKE_CURRENT_BINARY_DIR} -o ${SWIG_CPP_WRAPPER} -debug-classes ${SWIG_INTERFACE_FILE} DEPENDS ${SWIG_INTERFACE_FILE} COMMENT "Generating SWIG wrapper code" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) -add_library(specutils_fortran_wrap ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran_wrap.cxx ) +add_library(specutils_fortran_wrap ${SWIG_CPP_WRAPPER} ) set_property(TARGET specutils_fortran_wrap PROPERTY POSITION_INDEPENDENT_CODE ON ) -add_library(specutils_fortran SHARED SpecUtilsWrap.f90 ) +add_library(specutils_fortran SHARED ${SWIG_FORTRAN_WRAPPER} ) target_link_libraries(specutils_fortran_wrap PUBLIC SpecUtils) target_compile_options(specutils_fortran PUBLIC -ffree-line-length-none -ffixed-line-length-150) target_link_libraries(specutils_fortran PRIVATE specutils_fortran_wrap) From 874d8a5f18258afea008f69d3b5bb4647c998dd9 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Fri, 18 Oct 2024 12:05:22 -0600 Subject: [PATCH 091/100] keep the swig generated files in repo add option to turn on swig fortran wrapper generation --- CMakeLists.txt | 4 +- bindings/swig/fortran/CMakeLists.txt | 29 +- bindings/swig/fortran/SpecUtilsFortran.i | 22 +- .../swig/fortran/SpecUtilsFortran_wrap.cxx | 7999 ++++++++++ bindings/swig/fortran/SpecUtilsWrap.f90 | 12801 ++++++++++++++++ 5 files changed, 20818 insertions(+), 37 deletions(-) create mode 100644 bindings/swig/fortran/SpecUtilsFortran_wrap.cxx create mode 100644 bindings/swig/fortran/SpecUtilsWrap.f90 diff --git a/CMakeLists.txt b/CMakeLists.txt index 224c112..3f0b488 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,9 @@ option( SpecUtils_BUILD_REGRESSION_TEST "Creates executable to perform interacti option( SpecUtils_BUILD_EXAMPLE "Builds example SpecUtil applications" OFF ) option( SpecUtils_PYTHON_BINDINGS "Creates python bindings to the c++ code" OFF ) option( SpecUtils_JAVA_SWIG "Creates swig/java bindings to the c++ code" OFF ) -option( SpecUtils_FORTRAN_SWIG "Creates swig/FORTRAN bindings to the c++ code" OFF ) +option( SpecUtils_FORTRAN_SWIG "Enables build/test of swig/FORTRAN bindings" OFF ) +option( SpecUtils_FORTRAN_SWIG_GEN "When this is on, cmake will attemp to generate swig fortran bindings. + Requires swig-fortran: https://github.com/swig-fortran/swig" OFF ) option( SpecUtils_C_BINDINGS "Creates C bindings to the c++ code" OFF ) option( SpecUtils_INJA_TEMPLATES "Creates inja template interface" OFF ) option( SpecUtils_USE_SIMD "Use SIMD operations; i386/x64 only right now, and very alpha, and extremely minimally used" OFF ) diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 456e6f3..c8a5d6f 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -1,23 +1,20 @@ cmake_minimum_required (VERSION 3.25) project (specutils-swig-fortran Fortran CXX C) -# Set the SWIG library path -#set(SWIG_LIB /usr/local/share/swig/4.2.0/) - -# Define the SWIG interface file set(SWIG_INTERFACE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran.i) -set(SWIG_FORTRAN_WRAPPER ${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsWrap.f90) -set(SWIG_CPP_WRAPPER ${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsFortran_wrap.cxx) - -# Add a custom command to generate the wrapper code -add_custom_command( - OUTPUT ${SWIG_CPP_WRAPPER} ${SWIG_FORTRAN_WRAPPER} - COMMAND ${CMAKE_COMMAND} -E echo "Generating SWIG wrapper..." - COMMAND swig -I../../../ -fortran -c++ -outdir ${CMAKE_CURRENT_BINARY_DIR} -o ${SWIG_CPP_WRAPPER} -debug-classes ${SWIG_INTERFACE_FILE} - DEPENDS ${SWIG_INTERFACE_FILE} - COMMENT "Generating SWIG wrapper code" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -) +set(SWIG_FORTRAN_WRAPPER ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsWrap.f90) +set(SWIG_CPP_WRAPPER ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsFortran_wrap.cxx) + +if (SpecUtils_FORTRAN_SWIG_GEN) + add_custom_command( + OUTPUT ${SWIG_CPP_WRAPPER} ${SWIG_FORTRAN_WRAPPER} + COMMAND ${CMAKE_COMMAND} -E echo "Generating SWIG wrapper..." + COMMAND swig -I../../../ -fortran -c++ -outdir ${CMAKE_CURRENT_BINARY_DIR} -o ${SWIG_CPP_WRAPPER} ${SWIG_INTERFACE_FILE} + DEPENDS ${SWIG_INTERFACE_FILE} + COMMENT "Generating SWIG **Fortran** wrapper code" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + ) +endif() add_library(specutils_fortran_wrap ${SWIG_CPP_WRAPPER} ) set_property(TARGET specutils_fortran_wrap PROPERTY POSITION_INDEPENDENT_CODE ON ) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index b74a6e1..f7d33ce 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -14,10 +14,8 @@ %include "stl.i" //%include "std_vector.i" -/* instantiate the required template specializations */ + namespace std { - //%template(IntVector) vector; - //%template(DoubleVector) vector; %template(FloatVector) vector; %template(MeasurementVector) vector; @@ -29,18 +27,14 @@ namespace std { %shared_ptr(SpecUtils::MeasurementExt) %shared_ptr(SpecUtils::EnergyCalibration) %shared_ptr(SpecUtils::EnergyCalibrationExt) -//%shared_ptr(std::vector) // this casued me problems -hugh +//%shared_ptr(std::vector) // this caused me problems -hugh %include "std_string.i" %apply std::string { std::string& } -//%include "std_wstring.i" %include "wchar.i" -//%template(StringVector) std::vector; - %ignore combine_gamma_channels; %ignore truncate_gamma_channels; -//%ignore set_energy_calibration; %ignore descriptionText; %ignore operator=; %ignore set_gamma_counts; @@ -51,12 +45,10 @@ namespace std { %apply SWIGTYPE ARRAY[ANY][ANY][ANY][ANY][ANY] { float[ANY][ANY][ANY][ANY][ANY] }; -//%rename(set_ecal) SpecUtils::Measurement::set_energy_calibration; %ignore SpecUtils::SpecFile::set_energy_calibration; %include "SpecUtils/SpecFile.h" - %extend SpecUtils::Measurement { /// Return the count at a given index. @@ -152,8 +144,6 @@ namespace std { } } -//%include "SpecUtils/DateTime.h" - %include "std_pair.i" %template(DevPair) std::pair; @@ -164,14 +154,6 @@ namespace std { %include "SpecUtils/EnergyCalibration.h" -%extend SpecUtils::EnergyCalibration -{ - // void set_deviation_pairs(std::vector> devPairs) - // { - // $self->m_deviation_pairs = devPairs; - // } -} - %ignore make_canonical_path; %include "SpecUtils/FileSystem.h" diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx new file mode 100644 index 0000000..be7577b --- /dev/null +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -0,0 +1,7999 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (https://www.swig.org). + * Version 4.2.0 + * + * Do not make changes to this file unless you know what you are doing - modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ +/* ----------------------------------------------------------------------------- + * This section contains generic SWIG labels for method/variable + * declarations/attributes, and other compiler dependent labels. + * ----------------------------------------------------------------------------- */ + +/* template workaround for compilers that cannot correctly implement the C++ standard */ +#ifndef SWIGTEMPLATEDISAMBIGUATOR +# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560) +# define SWIGTEMPLATEDISAMBIGUATOR template +# elif defined(__HP_aCC) +/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */ +/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */ +# define SWIGTEMPLATEDISAMBIGUATOR template +# else +# define SWIGTEMPLATEDISAMBIGUATOR +# endif +#endif + +/* inline attribute */ +#ifndef SWIGINLINE +# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) +# define SWIGINLINE inline +# else +# define SWIGINLINE +# endif +#endif + +/* attribute recognised by some compilers to avoid 'unused' warnings */ +#ifndef SWIGUNUSED +# if defined(__GNUC__) +# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +# elif defined(__ICC) +# define SWIGUNUSED __attribute__ ((__unused__)) +# else +# define SWIGUNUSED +# endif +#endif + +#ifndef SWIG_MSC_UNSUPPRESS_4505 +# if defined(_MSC_VER) +# pragma warning(disable : 4505) /* unreferenced local function has been removed */ +# endif +#endif + +#ifndef SWIGUNUSEDPARM +# ifdef __cplusplus +# define SWIGUNUSEDPARM(p) +# else +# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# endif +#endif + +/* internal SWIG method */ +#ifndef SWIGINTERN +# define SWIGINTERN static SWIGUNUSED +#endif + +/* internal inline SWIG method */ +#ifndef SWIGINTERNINLINE +# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE +#endif + +/* exporting methods */ +#if defined(__GNUC__) +# if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +# ifndef GCC_HASCLASSVISIBILITY +# define GCC_HASCLASSVISIBILITY +# endif +# endif +#endif + +#ifndef SWIGEXPORT +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# if defined(STATIC_LINKED) +# define SWIGEXPORT +# else +# define SWIGEXPORT __declspec(dllexport) +# endif +# else +# if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) +# define SWIGEXPORT __attribute__ ((visibility("default"))) +# else +# define SWIGEXPORT +# endif +# endif +#endif + +/* calling conventions for Windows */ +#ifndef SWIGSTDCALL +# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) +# define SWIGSTDCALL __stdcall +# else +# define SWIGSTDCALL +# endif +#endif + +/* Deal with Microsoft's attempt at deprecating C standard runtime functions */ +#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) +# define _CRT_SECURE_NO_DEPRECATE +#endif + +/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */ +#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE) +# define _SCL_SECURE_NO_DEPRECATE +#endif + +/* Deal with Apple's deprecated 'AssertMacros.h' from Carbon-framework */ +#if defined(__APPLE__) && !defined(__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES) +# define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0 +#endif + +/* Intel's compiler complains if a variable which was never initialised is + * cast to void, which is a common idiom which we use to indicate that we + * are aware a variable isn't used. So we just silence that warning. + * See: https://github.com/swig/swig/issues/192 for more discussion. + */ +#ifdef __INTEL_COMPILER +# pragma warning disable 592 +#endif + +#if __cplusplus >=201103L +# define SWIG_NULLPTR nullptr +#else +# define SWIG_NULLPTR NULL +#endif + + +/* C99 and C++11 should provide snprintf, but define SWIG_NO_SNPRINTF + * if you're missing it. + */ +#if ((defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) || \ + (defined __cplusplus && __cplusplus >= 201103L) || \ + defined SWIG_HAVE_SNPRINTF) && \ + !defined SWIG_NO_SNPRINTF +# define SWIG_snprintf(O,S,F,A) snprintf(O,S,F,A) +# define SWIG_snprintf2(O,S,F,A,B) snprintf(O,S,F,A,B) +#else +/* Fallback versions ignore the buffer size, but most of our uses either have a + * fixed maximum possible size or dynamically allocate a buffer that's large + * enough. + */ +# define SWIG_snprintf(O,S,F,A) sprintf(O,F,A) +# define SWIG_snprintf2(O,S,F,A,B) sprintf(O,F,A,B) +#endif + + + +#ifndef SWIGEXTERN +# ifdef __cplusplus +# define SWIGEXTERN extern +# else +# define SWIGEXTERN +# endif +#endif + + +#define SWIG_exception_impl(DECL, CODE, MSG, RETURNNULL) \ + { throw std::logic_error("In " DECL ": " MSG); } + + +enum SwigMemFlags { + SWIG_MEM_OWN = 0x01, + SWIG_MEM_RVALUE = 0x02, +}; + + +#define SWIG_check_nonnull(PTR, TYPENAME, FNAME, FUNCNAME, RETURNNULL) \ + if (!(PTR)) { \ + SWIG_exception_impl(FUNCNAME, SWIG_NullReferenceError, \ + "Cannot pass null " TYPENAME " (class " FNAME ") " \ + "as a reference", RETURNNULL); \ + } + + +#define SWIG_check_range(INDEX, SIZE, FUNCNAME, RETURNNULL) \ + if (!(INDEX < SIZE)) { \ + SWIG_exception_impl(FUNCNAME, SWIG_IndexError, \ + "index out of range", RETURNNULL); \ + } + + +namespace swig { +enum AssignmentType { + ASSIGNMENT_DEFAULT, + ASSIGNMENT_NODESTRUCT, + ASSIGNMENT_SMARTPTR +}; +} + + +#define SWIG_check_sp_nonnull(PTR, TYPENAME, FNAME, FUNCNAME, RETURNNULL) \ + if (!(PTR)) { \ + SWIG_exception_impl(FUNCNAME, SWIG_NullReferenceError, \ + "Cannot pass null " TYPENAME " (class " FNAME ") " \ + "as a reference", RETURNNULL); \ + } + +#define SWIG_sp_mem_flags 0 + + + +#define SWIG_VERSION 0x040200 +#define SWIGFORTRAN +#define SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_Measurement_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_MeasurementExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibration_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_SpecUtils_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_shared_ptr_Sl__Sp_q_Sp_const_SP__Sf_SpecUtils_EnergyCalibrationExt_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_Measurement swig::ASSIGNMENT_SMARTPTR +#define SWIGPOLICY_SpecUtils_SpecFile swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_DetectorAnalysisResult swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_DetectorAnalysis swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_MultimediaData swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_ swig::ASSIGNMENT_DEFAULT +#define SWIGPOLICY_SpecUtils_EnergyCalibration swig::ASSIGNMENT_SMARTPTR + +#ifdef __cplusplus +#include +/* SwigValueWrapper is described in swig.swg */ +template class SwigValueWrapper { + struct SwigSmartPointer { + T *ptr; + SwigSmartPointer(T *p) : ptr(p) { } + ~SwigSmartPointer() { delete ptr; } + SwigSmartPointer& operator=(SwigSmartPointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; } + void reset(T *p) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = p; } + } pointer; + SwigValueWrapper& operator=(const SwigValueWrapper& rhs); + SwigValueWrapper(const SwigValueWrapper& rhs); +public: + SwigValueWrapper() : pointer(0) { } + SwigValueWrapper& operator=(const T& t) { SwigSmartPointer tmp(new T(t)); pointer = tmp; return *this; } +#if __cplusplus >=201103L + SwigValueWrapper& operator=(T&& t) { SwigSmartPointer tmp(new T(std::move(t))); pointer = tmp; return *this; } + operator T&&() const { return std::move(*pointer.ptr); } +#else + operator T&() const { return *pointer.ptr; } +#endif + T *operator&() const { return pointer.ptr; } + static void reset(SwigValueWrapper& t, T *p) { t.pointer.reset(p); } +}; + +/* + * SwigValueInit() is a generic initialisation solution as the following approach: + * + * T c_result = T(); + * + * doesn't compile for all types for example: + * + * unsigned int c_result = unsigned int(); + */ +template T SwigValueInit() { + return T(); +} + +#if __cplusplus >=201103L +# define SWIG_STD_MOVE(OBJ) std::move(OBJ) +#else +# define SWIG_STD_MOVE(OBJ) OBJ +#endif + +#endif + + +#include + + +/* Support for the `contract` feature. + * + * Note that RETURNNULL is first because it's inserted via a 'Replaceall' in + * the fortran.cxx file. + */ +#define SWIG_contract_assert(RETURNNULL, EXPR, MSG) \ + if (!(EXPR)) { SWIG_exception_impl("$decl", SWIG_ValueError, MSG, RETURNNULL); } + + +#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) +#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) + + +#include +#include +#include +#include +#include +#include +#include + + + +#include + + +#include + + +#include + + +#include + + +struct SwigClassWrapper { + void* cptr; + int cmemflags; +}; + + +SWIGINTERN SwigClassWrapper SwigClassWrapper_uninitialized() { + SwigClassWrapper result; + result.cptr = NULL; + result.cmemflags = 0; + return result; +} + +SWIGINTERN void std_vector_Sl_float_Sg__set(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN float const &std_vector_Sl_float_Sg__get(std::vector< float > *self,std::vector< float >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_float_Sg__insert(std::vector< float > *self,std::vector< float >::size_type index,float const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""float" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_0(std::vector< float > *self,std::vector< float >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_float_Sg__erase__SWIG_1(std::vector< float > *self,std::vector< float >::size_type start_index,std::vector< float >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""float" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""float" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN float &std_vector_Sl_float_Sg__front_ref(std::vector< float > *self){ + return (*self).front(); + } +SWIGINTERN float &std_vector_Sl_float_Sg__back_ref(std::vector< float > *self){ + return (*self).back(); + } +SWIGINTERN float &std_vector_Sl_float_Sg__get_ref(std::vector< float > *self,std::vector< float >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""float" ">::get_ref", + return self->front()); + return (*self)[index]; + } + +namespace swig { + +template +struct DestructorPolicy { + static SwigClassWrapper destroy(SwigClassWrapper self) { + delete static_cast(self.cptr); + return SwigClassWrapper_uninitialized(); + } +}; +template +struct DestructorPolicy { + static SwigClassWrapper destroy(SwigClassWrapper) { + SWIG_exception_impl("assignment", SWIG_TypeError, "Invalid assignment: class type has private destructor", return SwigClassWrapper_uninitialized()); + } +}; +} + + +namespace swig { + +SWIGINTERN SwigClassWrapper capture(SwigClassWrapper other) { + other.cmemflags &= ~SWIG_MEM_RVALUE; + return other; +} + +template +struct AssignmentPolicy { + static SwigClassWrapper destroy(SwigClassWrapper self) { + return DestructorPolicy::destroy(self); + } + static SwigClassWrapper alias(SwigClassWrapper other) { + SwigClassWrapper self = other; + self.cmemflags &= ~SWIG_MEM_OWN; + return self; + } + static SwigClassWrapper move_alias(SwigClassWrapper self, SwigClassWrapper other) { + if (self.cmemflags & SWIG_MEM_OWN) { + destroy(self); + } + return capture(other); + } + static SwigClassWrapper copy_alias(SwigClassWrapper self, SwigClassWrapper other) { + if (self.cmemflags & SWIG_MEM_OWN) { + destroy(self); + } + return capture(other); + } +}; + +template +struct AssignmentPolicy { + static SwigClassWrapper destroy(SwigClassWrapper self) { + return DestructorPolicy::destroy(self); + } + static SwigClassWrapper alias(SwigClassWrapper other) { + SwigClassWrapper self; + self.cptr = new T(*static_cast(other.cptr)); + self.cmemflags = other.cmemflags | SWIG_MEM_OWN; + return self; + } + static SwigClassWrapper move_alias(SwigClassWrapper self, SwigClassWrapper other) { + self = copy_alias(self, other); + self.cmemflags = other.cmemflags & ~SWIG_MEM_RVALUE; + destroy(other); + return self; + } + static SwigClassWrapper copy_alias(SwigClassWrapper self, SwigClassWrapper other) { + // LHS and RHS should both 'own' their shared pointers + T *pself = static_cast(self.cptr); + T *pother = static_cast(other.cptr); + *pself = *pother; + return self; + } +}; + +} // end namespace swig + +template +SWIGINTERN void SWIG_assign(SwigClassWrapper* self, SwigClassWrapper other) { + typedef swig::AssignmentPolicy Policy_t; + + if (self->cptr == NULL) { + /* LHS is unassigned */ + if (other.cmemflags & SWIG_MEM_RVALUE) { + /* Capture pointer from RHS, clear 'moving' flag */ + *self = swig::capture(other); + } else { + /* Aliasing another class; clear ownership or copy smart pointer */ + *self = Policy_t::alias(other); + } + } else if (other.cptr == NULL) { + /* Replace LHS with a null pointer */ + *self = Policy_t::destroy(*self); + } else if (self->cptr == other.cptr) { + /* Self-assignment: ignore */ + } else if (other.cmemflags & SWIG_MEM_RVALUE) { + /* Transferred ownership from a variable that's about to be lost. + * Move-assign and delete the transient data */ + *self = Policy_t::move_alias(*self, other); + } else { + /* RHS shouldn't be deleted, alias to LHS */ + *self = Policy_t::copy_alias(*self, other); + } +} + +template +SWIGINTERN void SWIG_free_rvalue(SwigClassWrapper other) { + typedef swig::AssignmentPolicy Policy_t; + if (other.cmemflags & SWIG_MEM_RVALUE + && other.cmemflags & SWIG_MEM_OWN) { + /* We own *and* are being passed an expiring value */ + Policy_t::destroy(other); + } +} + + +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__set(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index,SpecUtils::Measurement const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN SpecUtils::Measurement const &std_vector_Sl_SpecUtils_Measurement_Sg__get(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__insert(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index,SpecUtils::Measurement const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""SpecUtils::Measurement" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type start_index,std::vector< SpecUtils::Measurement >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""SpecUtils::Measurement" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""SpecUtils::Measurement" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(std::vector< SpecUtils::Measurement > *self){ + return (*self).front(); + } +SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(std::vector< SpecUtils::Measurement > *self){ + return (*self).back(); + } +SWIGINTERN SpecUtils::Measurement &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(std::vector< SpecUtils::Measurement > *self,std::vector< SpecUtils::Measurement >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""SpecUtils::Measurement" ">::get_ref", + return self->front()); + return (*self)[index]; + } + +#include + + +#include +#ifdef _MSC_VER +# ifndef strtoull +# define strtoull _strtoui64 +# endif +# ifndef strtoll +# define strtoll _strtoi64 +# endif +#endif + + +struct SwigArrayWrapper { + void* data; + size_t size; +}; + + +SWIGINTERN SwigArrayWrapper SwigArrayWrapper_uninitialized() { + SwigArrayWrapper result; + result.data = NULL; + result.size = 0; + return result; +} + + +#include + + +struct SWIG_null_deleter { + void operator() (void const *) const { + } +}; +#define SWIG_NO_NULL_DELETER_0 , SWIG_null_deleter() +#define SWIG_NO_NULL_DELETER_1 +#define SWIG_NO_NULL_DELETER_SWIG_POINTER_NEW +#define SWIG_NO_NULL_DELETER_SWIG_POINTER_OWN + +SWIGINTERN float SpecUtils_Measurement_gamma_count_at(SpecUtils::Measurement *self,int index){ + return self->gamma_counts()->at(index-1); + } +SWIGINTERN size_t SpecUtils_Measurement_get_num_channels(SpecUtils::Measurement *self){ + return self->gamma_counts()->size(); + } +SWIGINTERN std::string SpecUtils_Measurement_get_start_time_string(SpecUtils::Measurement *self){ + auto timeStr = SpecUtils::to_vax_string( self->start_time() ); + return timeStr; + } +SWIGINTERN void SpecUtils_Measurement_set_start_time_from_string(SpecUtils::Measurement *self,std::string time_str){ + auto tp = SpecUtils::time_from_string(time_str); + self->set_start_time(tp); + } +SWIGINTERN void SpecUtils_Measurement_set_neutron_count(SpecUtils::Measurement *self,float count){ + SpecUtils::FloatVec ncounts{count}; + self->set_neutron_counts(ncounts, 0.0F); + } +SWIGINTERN float SpecUtils_Measurement_get_neutron_count(SpecUtils::Measurement *self){ + auto count = 0.0F; + if (!self->neutron_counts().empty()) + count = self->neutron_counts().front(); + + return count; + } +SWIGINTERN void SpecUtils_Measurement_set_spectrum(SpecUtils::Measurement *self,float const *spectrum,size_t num_channels){ + SpecUtils::FloatVec counts; + for (size_t i = 0; i < num_channels; i++) + { + counts.push_back(spectrum[i]); + } + + self->set_gamma_counts(counts); + } +SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self,float *spectrum,size_t num_channels){ + auto & counts = *self->gamma_counts(); + for (size_t i = 0 ; i < num_channels ; i++) + { + spectrum[i] = counts.at(i); + } + } +SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ + + auto newIndex = static_cast(index-1); + + std::cout << __func__ << ": newIndex: " << newIndex << std::endl; + std::cout << __func__ << ": num_measurements: " << self->num_measurements() << std::endl; + return self->measurement(newIndex); + } +SWIGINTERN int SpecUtils_SpecFile_get_max_channel_count(SpecUtils::SpecFile *self){ + auto maxCount = 0; + auto numMeasurements = self->num_measurements(); + + for(int i = 0; i < numMeasurements; i++) + { + auto m = self->measurement(i); + auto numChannels = static_cast(m->num_gamma_channels()); + maxCount = std::max(maxCount, numChannels); + } + + return maxCount; + } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__set(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index,std::pair< float,float > const &v){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::set", + return); + (*self)[index] = v; + } +SWIGINTERN std::pair< float,float > const &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::get", + return self->front()); + return (*self)[index]; + } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__insert(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index,std::pair< float,float > const &v){ + SWIG_check_range(index, self->size() + 1, + "std::vector<""std::pair< float,float >" ">::insert", + return); + self->insert(self->begin() + index, v); + } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_0(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::remove", + return); + self->erase(self->begin() + index); + } +SWIGINTERN void std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_1(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type start_index,std::vector< std::pair< float,float > >::size_type stop_index){ + SWIG_check_range(start_index, stop_index + 1, + "std::vector<""std::pair< float,float >" ">::remove_range", + return); + SWIG_check_range(stop_index, self->size() + 1, + "std::vector<""std::pair< float,float >" ">::remove_range", + return); + self->erase(self->begin() + start_index, self->begin() + stop_index); + } +SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__front_ref(std::vector< std::pair< float,float > > *self){ + return (*self).front(); + } +SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__back_ref(std::vector< std::pair< float,float > > *self){ + return (*self).back(); + } +SWIGINTERN std::pair< float,float > &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get_ref(std::vector< std::pair< float,float > > *self,std::vector< std::pair< float,float > >::size_type index){ + SWIG_check_range(index, self->size(), + "std::vector<""std::pair< float,float >" ">::get_ref", + return self->front()); + return (*self)[index]; + } +extern "C" { +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< float > *result = 0 ; + + result = (std::vector< float > *)new std::vector< float >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + std::vector< float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "std::vector< float >::vector(std::vector< float > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + result = (std::vector< float > *)new std::vector< float >((std::vector< float > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_2(size_t const *farg1) { + SwigClassWrapper fresult ; + std::vector< float >::size_type arg1 ; + std::vector< float > *result = 0 ; + + arg1 = (std::vector< float >::size_type)(*farg1); + result = (std::vector< float > *)new std::vector< float >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_FloatVector__SWIG_3(size_t const *farg1, float const *farg2) { + SwigClassWrapper fresult ; + std::vector< float >::size_type arg1 ; + float *arg2 = 0 ; + float temp2 ; + std::vector< float > *result = 0 ; + + arg1 = (std::vector< float >::size_type)(*farg1); + temp2 = (float)(*farg2); + arg2 = &temp2; + result = (std::vector< float > *)new std::vector< float >(arg1,(float const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_FloatVector_size(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::size() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = ((std::vector< float > const *)arg1)->size(); + fresult = (std::vector< float >::size_type)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_FloatVector_capacity(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::capacity() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = ((std::vector< float > const *)arg1)->capacity(); + fresult = (std::vector< float >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_FloatVector_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::empty() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (bool)((std::vector< float > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT float _wrap_FloatVector_front(SwigClassWrapper *farg1) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::front() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &((std::vector< float > const *)arg1)->front(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT float _wrap_FloatVector_back(SwigClassWrapper *farg1) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const *", "FloatVector", "std::vector< float >::back() const", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &((std::vector< float > const *)arg1)->back(); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_FloatVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::reserve(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); + (arg1)->reserve(arg2); +} + + +SWIGEXPORT void _wrap_FloatVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); + (arg1)->resize(arg2); +} + + +SWIGEXPORT void _wrap_FloatVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::resize(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (std::vector< float >::size_type)(*farg2); + temp3 = (float)(*farg3); + arg3 = &temp3; + (arg1)->resize(arg2,(float const &)*arg3); +} + + +SWIGEXPORT void _wrap_FloatVector_push_back(SwigClassWrapper *farg1, float const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *arg2 = 0 ; + float temp2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::push_back(float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + temp2 = (float)(*farg2); + arg2 = &temp2; + (arg1)->push_back((float const &)*arg2); +} + + +SWIGEXPORT void _wrap_FloatVector_pop_back(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::pop_back()", return ); + arg1 = (std::vector< float > *)farg1->cptr; + (arg1)->pop_back(); +} + + +SWIGEXPORT void _wrap_FloatVector_clear(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::clear()", return ); + arg1 = (std::vector< float > *)farg1->cptr; + (arg1)->clear(); +} + + +SWIGEXPORT void _wrap_FloatVector_set(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::set(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (float)(*farg3); + arg3 = &temp3; + std_vector_Sl_float_Sg__set(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); +} + + +SWIGEXPORT float _wrap_FloatVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + float fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get(std::vector< float >::size_type)", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (float *) &std_vector_Sl_float_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult = *result; + return fresult; +} + + +SWIGEXPORT void _wrap_FloatVector_insert(SwigClassWrapper *farg1, size_t const *farg2, float const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *arg3 = 0 ; + float temp3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::insert(std::vector< float >::size_type,float const &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + temp3 = (float)(*farg3); + arg3 = &temp3; + std_vector_Sl_float_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(float const &)*arg3); +} + + +SWIGEXPORT void _wrap_FloatVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_float_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_FloatVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + std::vector< float >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::erase(std::vector< float >::size_type,std::vector< float >::size_type)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_float_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT float * _wrap_FloatVector_front_ref(SwigClassWrapper *farg1) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::front_ref()", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &std_vector_Sl_float_Sg__front_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT float * _wrap_FloatVector_back_ref(SwigClassWrapper *farg1) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::back_ref()", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + result = (float *) &std_vector_Sl_float_Sg__back_ref(arg1); + fresult = result; + return fresult; +} + + +SWIGEXPORT float * _wrap_FloatVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + float * fresult ; + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float >::size_type arg2 ; + float *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > *", "FloatVector", "std::vector< float >::get_ref(std::vector< float >::size_type)", return 0); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (float *) &std_vector_Sl_float_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult = result; + return fresult; +} + + +SWIGEXPORT void _wrap_delete_FloatVector(SwigClassWrapper *farg1) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + + arg1 = (std::vector< float > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_FloatVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< float > *arg1 = (std::vector< float > *) 0 ; + std::vector< float > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_float_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = 0 ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const &", "MeasurementVector", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >((std::vector< SpecUtils::Measurement > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_2(size_t const *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement >::size_type arg1 ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MeasurementVector__SWIG_3(size_t const *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement >::size_type arg1 ; + SpecUtils::Measurement *arg2 = 0 ; + std::vector< SpecUtils::Measurement > *result = 0 ; + + arg1 = (std::vector< SpecUtils::Measurement >::size_type)(*farg1); + SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::vector(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return SwigClassWrapper_uninitialized()); + arg2 = (SpecUtils::Measurement *)farg2->cptr; + result = (std::vector< SpecUtils::Measurement > *)new std::vector< SpecUtils::Measurement >(arg1,(SpecUtils::Measurement const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT size_t _wrap_MeasurementVector_size(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::size() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = ((std::vector< SpecUtils::Measurement > const *)arg1)->size(); + fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); + return fresult; +} + + +SWIGEXPORT size_t _wrap_MeasurementVector_capacity(SwigClassWrapper *farg1) { + size_t fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::capacity() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = ((std::vector< SpecUtils::Measurement > const *)arg1)->capacity(); + fresult = (std::vector< SpecUtils::Measurement >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_MeasurementVector_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::empty() const", return 0); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (bool)((std::vector< SpecUtils::Measurement > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->front(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > const *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &((std::vector< SpecUtils::Measurement > const *)arg1)->back(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_MeasurementVector_reserve(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::reserve(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); + (arg1)->reserve(arg2); +} + + +SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); + (arg1)->resize(arg2); +} + + +SWIGEXPORT void _wrap_MeasurementVector_resize__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = (std::vector< SpecUtils::Measurement >::size_type)(*farg2); + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::resize(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + (arg1)->resize(arg2,(SpecUtils::Measurement const &)*arg3); +} + + +SWIGEXPORT void _wrap_MeasurementVector_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::push_back(SpecUtils::Measurement const &)", return ); + arg2 = (SpecUtils::Measurement *)farg2->cptr; + (arg1)->push_back((SpecUtils::Measurement const &)*arg2); +} + + +SWIGEXPORT void _wrap_MeasurementVector_pop_back(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::pop_back()", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + (arg1)->pop_back(); +} + + +SWIGEXPORT void _wrap_MeasurementVector_clear(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::clear()", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + (arg1)->clear(); +} + + +SWIGEXPORT void _wrap_MeasurementVector_set(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::set(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + std_vector_Sl_SpecUtils_Measurement_Sg__set(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_MeasurementVector_insert(SwigClassWrapper *farg1, size_t const *farg2, SwigClassWrapper *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "SpecUtils::Measurement const &", "Measurement", "std::vector< SpecUtils::Measurement >::insert(std::vector< SpecUtils::Measurement >::size_type,SpecUtils::Measurement const &)", return ); + arg3 = (SpecUtils::Measurement *)farg3->cptr; + std_vector_Sl_SpecUtils_Measurement_Sg__insert(arg1,SWIG_STD_MOVE(arg2),(SpecUtils::Measurement const &)*arg3); +} + + +SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_0(SwigClassWrapper *farg1, size_t const *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_MeasurementVector_erase__SWIG_1(SwigClassWrapper *farg1, size_t const *farg2, size_t const *farg3) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + std::vector< SpecUtils::Measurement >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::erase(std::vector< SpecUtils::Measurement >::size_type,std::vector< SpecUtils::Measurement >::size_type)", return ); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_SpecUtils_Measurement_Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_front_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::front_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__front_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_back_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::back_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__back_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MeasurementVector_get_ref(SwigClassWrapper *farg1, size_t const *farg2) { + SwigClassWrapper fresult ; + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement >::size_type arg2 ; + SpecUtils::Measurement *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< SpecUtils::Measurement > *", "MeasurementVector", "std::vector< SpecUtils::Measurement >::get_ref(std::vector< SpecUtils::Measurement >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (SpecUtils::Measurement *) &std_vector_Sl_SpecUtils_Measurement_Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_MeasurementVector(SwigClassWrapper *farg1) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + + arg1 = (std::vector< SpecUtils::Measurement > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_MeasurementVector_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< SpecUtils::Measurement > *arg1 = (std::vector< SpecUtils::Measurement > *) 0 ; + std::vector< SpecUtils::Measurement > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_vector_Sl__Sp_SpecUtils_Measurement_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT int _wrap_spectrumTypeFromDescription(SwigArrayWrapper *farg1) { + int fresult ; + char *arg1 = (char *) 0 ; + SpecUtils::SpectrumType result; + + arg1 = (char *)(farg1->data); + result = (SpecUtils::SpectrumType)SpecUtils::spectrumTypeFromDescription((char const *)arg1); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_suggestedNameEnding(int const *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SaveSpectrumAsType arg1 ; + char *result = 0 ; + + arg1 = (SpecUtils::SaveSpectrumAsType)(*farg1); + result = (char *)SpecUtils::suggestedNameEnding(arg1); + fresult.size = strlen((char*)(result)); + fresult.data = const_cast< char * >(result); + return fresult; +} + + +SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_0(SwigArrayWrapper *farg1) { + int fresult ; + char *arg1 = (char *) 0 ; + bool result; + + arg1 = (char *)(farg1->data); + result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_is_candidate_n42_file__SWIG_1(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + char *arg1 = (char *) (char *)0 ; + char *arg2 = (char *) (char *)0 ; + bool result; + + arg1 = (char *)(farg1->data); + arg2 = (char *)(farg2->data); + result = (bool)SpecUtils::is_candidate_n42_file((char const *)arg1,(char const *)arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_convert_n42_utf16_xml_to_utf8(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + char *arg1 = (char *) 0 ; + char *arg2 = (char *) (char *)0 ; + char *result = 0 ; + + arg1 = (char *)(farg1->data); + arg2 = (char *)(farg2->data); + result = (char *)SpecUtils::convert_n42_utf16_xml_to_utf8(arg1,arg2); + fresult.size = strlen((char*)(result)); + fresult.data = const_cast< char * >(result); + return fresult; +} + + +SWIGEXPORT void _wrap_add_analysis_results_to_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + SpecUtils::DetectorAnalysis *arg1 = 0 ; + ::rapidxml::xml_node< char > *arg2 = (::rapidxml::xml_node< char > *) 0 ; + std::mutex *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (::rapidxml::xml_node< char > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::mutex &", "SWIGTYPE_p_std__mutex", "SpecUtils::add_analysis_results_to_2012_N42(SpecUtils::DetectorAnalysis const &,::rapidxml::xml_node< char > *,std::mutex &)", return ); + arg3 = (std::mutex *)farg3->cptr; + SpecUtils::add_analysis_results_to_2012_N42((SpecUtils::DetectorAnalysis const &)*arg1,arg2,*arg3); +} + + +SWIGEXPORT void _wrap_set_analysis_info_from_n42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + rapidxml::xml_node< char > *arg1 = (rapidxml::xml_node< char > *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; + + arg1 = (rapidxml::xml_node< char > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis &", "DetectorAnalysis", "SpecUtils::set_analysis_info_from_n42(rapidxml::xml_node< char > const *,SpecUtils::DetectorAnalysis &)", return ); + arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; + SpecUtils::set_analysis_info_from_n42((rapidxml::xml_node< char > const *)arg1,*arg2); +} + + +SWIGEXPORT double _wrap_gamma_integral(SwigClassWrapper const *farg1, float const *farg2, float const *farg3) { + double fresult ; + std::shared_ptr< SpecUtils::Measurement const > *arg1 = 0 ; + float arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > tempnull1 ; + double result; + + arg1 = farg1->cptr ? static_cast * >(farg1->cptr) : &tempnull1; + arg2 = (float)(*farg2); + arg3 = (float)(*farg3); + result = (double)SpecUtils::gamma_integral((std::shared_ptr< SpecUtils::Measurement const > const &)*arg1,arg2,arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_detectorTypeToString(int const *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorType arg1 ; + std::string *result = 0 ; + + arg1 = (SpecUtils::DetectorType)(*farg1); + result = (std::string *) &SpecUtils::detectorTypeToString(arg1); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_Measurement() { + SwigClassWrapper fresult ; + SpecUtils::Measurement *result = 0 ; + + result = (SpecUtils::Measurement *)new SpecUtils::Measurement(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::Measurement >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT void _wrap_delete_Measurement(SwigClassWrapper *farg1) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (void)arg1; delete smartarg1; +} + + +SWIGEXPORT int _wrap_Measurement_memmorysize(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->live_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_set_live_time(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + (arg1)->set_live_time(arg2); +} + + +SWIGEXPORT float _wrap_Measurement_real_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->real_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_set_real_time(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + (arg1)->set_real_time(arg2); +} + + +SWIGEXPORT int _wrap_Measurement_contained_neutron(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::Measurement const *)arg1)->contained_neutron(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_sample_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->sample_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_title(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->title(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_occupied(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::OccupancyStatus result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::OccupancyStatus)((SpecUtils::Measurement const *)arg1)->occupied(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_gamma_count_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_count_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_neutron_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->neutron_live_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_neutron_counts_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->neutron_counts_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_speed(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->speed(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_dx(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dx(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_dy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dy(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_latitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->latitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_longitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (double)((SpecUtils::Measurement const *)arg1)->longitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_has_gps_info(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::Measurement const *)arg1)->has_gps_info(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_dose_rate(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->dose_rate(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_exposure_rate(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->exposure_rate(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT char _wrap_Measurement_pcf_tag(SwigClassWrapper *farg1) { + char fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + char result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (char)((SpecUtils::Measurement const *)arg1)->pcf_tag(); + fresult = (char)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_source_description(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->source_description(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_measurement_description(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->measurement_description(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_position_time(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->position_time(); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_name(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_name(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_detector_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->detector_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_type(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::string *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::string *) &((SpecUtils::Measurement const *)arg1)->detector_type(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_quality_status(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::QualityStatus result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::QualityStatus)((SpecUtils::Measurement const *)arg1)->quality_status(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_source_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::SourceType result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::SourceType)((SpecUtils::Measurement const *)arg1)->source_type(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_remarks(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::string > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_mutable_remarks(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::vector< std::string > *result = 0 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &(arg1)->mutable_remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_parse_warnings(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::string > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::string > *) &((SpecUtils::Measurement const *)arg1)->parse_warnings(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::time_point_t *) &((SpecUtils::Measurement const *)arg1)->start_time(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_start_time_copy(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::time_point_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->start_time_copy(); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_energy_calibration_model(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + SpecUtils::EnergyCalType result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (SpecUtils::EnergyCalType)((SpecUtils::Measurement const *)arg1)->energy_calibration_model(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_calibration_coeffs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< float > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->calibration_coeffs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_deviation_pairs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< std::pair< float,float > > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< std::pair< float,float > > *) &((SpecUtils::Measurement const *)arg1)->deviation_pairs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_energy_calibration(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->energy_calibration(); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->channel_energies(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_counts(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_neutron_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::vector< float > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::vector< float > *) &((SpecUtils::Measurement const *)arg1)->neutron_counts(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_location_state(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< SpecUtils::LocationState const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< SpecUtils::LocationState const > *) &((SpecUtils::Measurement const *)arg1)->location_state(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_title((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::time_point_t *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_start_time(SpecUtils::time_point_t const &)", return ); + arg2 = (SpecUtils::time_point_t *)farg2->cptr; + (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_remarks(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_remarks(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_remarks((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::Measurement::set_parse_warnings(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_source_type(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::SourceType arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (SpecUtils::SourceType)(*farg2); + (arg1)->set_source_type(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + double arg2 ; + double arg3 ; + SpecUtils::time_point_t arg4 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (double)(*farg2); + arg3 = (double)(*farg3); + SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::Measurement::set_position(double,double,SpecUtils::time_point_t)", return ); + arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); + (arg1)->set_position(arg2,arg3,arg4); +} + + +SWIGEXPORT void _wrap_Measurement_set_sample_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + (arg1)->set_sample_number(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_occupancy_status(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::OccupancyStatus arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (SpecUtils::OccupancyStatus)(*farg2); + (arg1)->set_occupancy_status(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_detector_name((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_detector_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + (arg1)->set_detector_number(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, float const *farg3) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< float > *arg2 = 0 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &,float const)", return ); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (float)(*farg3); + (arg1)->set_neutron_counts((std::vector< float > const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_Measurement_set_neutron_counts__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::vector< float > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::Measurement::set_neutron_counts(std::vector< float > const &)", return ); + arg2 = (std::vector< float > *)farg2->cptr; + (arg1)->set_neutron_counts((std::vector< float > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_pcf_tag(SwigClassWrapper *farg1, char const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + char arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (char)(*farg2); + (arg1)->set_pcf_tag(arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_source_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_source_description((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_measurement_description(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string tempstr2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_measurement_description((std::string const &)*arg2); +} + + +SWIGEXPORT int _wrap_Measurement_num_gamma_channels(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->num_gamma_channels(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_find_gamma_channel(SwigClassWrapper *farg1, float const *farg2) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + result = ((SpecUtils::Measurement const *)arg1)->find_gamma_channel(arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_content(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_content(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_lower(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_lower(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_center(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_center(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_upper(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_upper(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_channel_width(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_channel_width(arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_gamma_integral(SwigClassWrapper *farg1, float const *farg2, float const *farg3) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + arg3 = (float)(*farg3); + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_integral(arg2,arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_Measurement_gamma_channels_sum(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { + double fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + size_t arg2 ; + size_t arg3 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + arg3 = (size_t)(*farg3); + result = (double)((SpecUtils::Measurement const *)arg1)->gamma_channels_sum(arg2,arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_energies(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_gamma_channel_contents(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::Measurement const *)arg1)->gamma_channel_contents(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_energy_min(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_min(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_Measurement_gamma_energy_max(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::Measurement const *)arg1)->gamma_energy_max(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsDerived = (int)(SpecUtils::Measurement::DerivedDataProperties::IsDerived); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ItemOfInterestSum = (int)(SpecUtils::Measurement::DerivedDataProperties::ItemOfInterestSum); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_UsedForAnalysis = (int)(SpecUtils::Measurement::DerivedDataProperties::UsedForAnalysis); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_ProcessedFurther = (int)(SpecUtils::Measurement::DerivedDataProperties::ProcessedFurther); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_BackgroundSubtracted = (int)(SpecUtils::Measurement::DerivedDataProperties::BackgroundSubtracted); + +SWIGEXPORT SWIGEXTERN const int _wrap_Measurement_DerivedDataProperties_IsBackground = (int)(SpecUtils::Measurement::DerivedDataProperties::IsBackground); + +SWIGEXPORT SwigClassWrapper _wrap_Measurement_derived_data_properties(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + uint32_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = ((SpecUtils::Measurement const *)arg1)->derived_data_properties(); + fresult.cptr = new (uint32_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_rpm_panel_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->rpm_panel_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_rpm_column_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->rpm_column_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_rpm_mca_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + int result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (int)((SpecUtils::Measurement const *)arg1)->rpm_mca_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_write_2006_N42_xml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_2006_N42_xml(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_2006_N42_xml(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_csv(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::ostream *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::Measurement::write_txt(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::Measurement const *)arg1)->write_txt(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_reset(SwigClassWrapper *farg1) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (arg1)->reset(); +} + + +SWIGEXPORT void _wrap_Measurement_rebin(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->rebin((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->set_energy_calibration((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); +} + + +SWIGEXPORT void _wrap_Measurement_set_info_from_2006_N42_spectrum_node(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) (rapidxml::xml_node< char > *)0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + SWIG_check_nonnull(farg2->cptr, "rapidxml::xml_node< char > *", "SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t", "SpecUtils::Measurement::set_info_from_2006_N42_spectrum_node(rapidxml::xml_node< char > const *const)", return ); + arg2 = *((rapidxml::xml_node< char > **)(farg2->cptr)); + (arg1)->set_info_from_2006_N42_spectrum_node((rapidxml::xml_node< char > const *)arg2); +} + + +SWIGEXPORT float _wrap_Measurement_gamma_count_at(SwigClassWrapper *farg1, int const *farg2) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (int)(*farg2); + result = (float)SpecUtils_Measurement_gamma_count_at(arg1,arg2); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_Measurement_get_num_channels(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = SpecUtils_Measurement_get_num_channels(arg1); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_Measurement_get_start_time_string(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::string result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = SpecUtils_Measurement_get_start_time_string(arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_set_start_time_from_string(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::string arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SpecUtils_Measurement_set_start_time_from_string(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_Measurement_set_neutron_count(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float)(*farg2); + SpecUtils_Measurement_set_neutron_count(arg1,arg2); +} + + +SWIGEXPORT float _wrap_Measurement_get_neutron_count(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (float)SpecUtils_Measurement_get_neutron_count(arg1); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_Measurement_set_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float *arg2 = (float *) 0 ; + size_t arg3 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float *)farg2->data; + arg3 = farg2->size; + SpecUtils_Measurement_set_spectrum(arg1,(float const *)arg2,SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT void _wrap_Measurement_get_spectrum(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + float *arg2 = (float *) 0 ; + size_t arg3 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = (float *)farg2->data; + arg3 = farg2->size; + SpecUtils_Measurement_get_spectrum(arg1,arg2,SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT void _wrap_Measurement_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + SpecUtils::Measurement *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_SpecUtils_Measurement>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_0() { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *result = 0 ; + + result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_SpecFile__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = 0 ; + SpecUtils::SpecFile *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const &", "SpecFile", "SpecUtils::SpecFile::SpecFile(SpecUtils::SpecFile const &)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (SpecUtils::SpecFile *)new SpecUtils::SpecFile((SpecUtils::SpecFile const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_SpecFile(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3, SwigArrayWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + SpecUtils::ParserType arg3 ; + std::string arg4 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType,std::string)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + arg3 = (SpecUtils::ParserType)(*farg3); + (&arg4)->assign(static_cast(farg4->data), farg4->size); + result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3,arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + SpecUtils::ParserType arg3 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_file(std::string const &,SpecUtils::ParserType)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + arg3 = (SpecUtils::ParserType)(*farg3); + result = (bool)(arg1)->load_file((std::string const &)*arg2,arg3); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_parse_warnings(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::parse_warnings() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->parse_warnings(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_modified(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->modified(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_reset_modified(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset_modified(); +} + + +SWIGEXPORT int _wrap_SpecFile_modified_since_decode(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::modified_since_decode() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->modified_since_decode(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_reset_modified_since_decode(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset_modified_since_decode()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset_modified_since_decode(); +} + + +SWIGEXPORT float _wrap_SpecFile_gamma_live_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_live_time() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_live_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_SpecFile_gamma_real_time(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_real_time() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (float)((SpecUtils::SpecFile const *)arg1)->gamma_real_time(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_gamma_count_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_count_sum() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->gamma_count_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_neutron_counts_sum(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_counts_sum() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->neutron_counts_sum(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_filename(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::filename() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->filename(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_numbers(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< int > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_numbers() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< int > *) &((SpecUtils::SpecFile const *)arg1)->detector_numbers(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->gamma_detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_neutron_detector_names(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::neutron_detector_names() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->neutron_detector_names(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_uuid(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::uuid() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->uuid(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_remarks(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::remarks() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::string > *) &((SpecUtils::SpecFile const *)arg1)->remarks(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_lane_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::lane_number() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)((SpecUtils::SpecFile const *)arg1)->lane_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_location_name(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_location_name() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_location_name(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_inspection(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::inspection() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->inspection(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_measurement_operator(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement_operator() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->measurement_operator(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_numbers(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< int,std::less< int >,std::allocator< int > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_numbers() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::set< int,std::less< int >,std::allocator< int > > *) &((SpecUtils::SpecFile const *)arg1)->sample_numbers(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_num_measurements(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_measurements() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->num_measurements(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_detector_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::DetectorType result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_type() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (SpecUtils::DetectorType)((SpecUtils::SpecFile const *)arg1)->detector_type(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_type(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_type() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_type(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_manufacturer(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::manufacturer() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->manufacturer(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_model(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_model() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_model(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_instrument_id(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::instrument_id() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::string *) &((SpecUtils::SpecFile const *)arg1)->instrument_id(); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurements(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurements() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->measurements(); + fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(size_t) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detectors_analysis(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::shared_ptr< SpecUtils::DetectorAnalysis const > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detectors_analysis() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->detectors_analysis(); + fresult.cptr = new (std::shared_ptr< SpecUtils::DetectorAnalysis const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_multimedia_data(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::multimedia_data() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *) &((SpecUtils::SpecFile const *)arg1)->multimedia_data(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_has_gps_info(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::has_gps_info() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->has_gps_info(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_mean_latitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_latitude() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->mean_latitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_SpecFile_mean_longitude(SwigClassWrapper *farg1) { + double fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mean_longitude() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (double)((SpecUtils::SpecFile const *)arg1)->mean_longitude(); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_passthrough(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::passthrough() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->passthrough(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_contains_derived_data(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_derived_data() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_derived_data(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_contains_non_derived_data(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contains_non_derived_data() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->contains_non_derived_data(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_set_filename(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_filename(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_filename((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_remarks((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_add_remark(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_remark(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->add_remark((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_parse_warnings(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_parse_warnings(std::vector< std::string > const &)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + (arg1)->set_parse_warnings((std::vector< std::string > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_uuid(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_uuid(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_uuid((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_lane_number(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_lane_number(int const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + (arg1)->set_lane_number(arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_measurement_location_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_measurement_location_name(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_measurement_location_name((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_inspection(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_inspection(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_inspection((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_instrument_type(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_type(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_type((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_detector_type(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::DetectorType arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detector_type(SpecUtils::DetectorType const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (SpecUtils::DetectorType)(*farg2); + (arg1)->set_detector_type(arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_manufacturer(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_manufacturer(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_manufacturer((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_instrument_model(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_model(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_model((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_instrument_id(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_instrument_id(std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + (arg1)->set_instrument_id((std::string const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_live_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_live_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (float)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_live_time(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_real_time(SwigClassWrapper *farg1, float const *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + float arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_real_time(float const,std::shared_ptr< SpecUtils::Measurement const >)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (float)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_real_time(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_start_time(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::time_point_t *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t const &", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_start_time(SpecUtils::time_point_t const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg2 = (SpecUtils::time_point_t *)farg2->cptr; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_start_time((SpecUtils::time_point_t const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_remarks__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::set_remarks(std::vector< std::string > const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg2 = (std::vector< std::string > *)farg2->cptr; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_remarks((std::vector< std::string > const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_source_type(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::SourceType arg2 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_source_type(SpecUtils::SourceType const,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (SpecUtils::SourceType)(*farg2); + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_source_type(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_position(SwigClassWrapper *farg1, double const *farg2, double const *farg3, SwigClassWrapper *farg4, SwigClassWrapper const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + double arg2 ; + double arg3 ; + SpecUtils::time_point_t arg4 ; + std::shared_ptr< SpecUtils::Measurement const > arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (double)(*farg2); + arg3 = (double)(*farg3); + SWIG_check_nonnull(farg4->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::SpecFile::set_position(double,double,SpecUtils::time_point_t,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg4 = *((SpecUtils::time_point_t *)(farg4->cptr)); + if (farg5->cptr) arg5 = *static_cast*>(farg5->cptr); + (arg1)->set_position(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_set_title(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg3 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_title(std::string const &,std::shared_ptr< SpecUtils::Measurement const > const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (farg3->cptr) arg3 = *static_cast*>(farg3->cptr); + (arg1)->set_title((std::string const &)*arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_set_contained_neutrons(SwigClassWrapper *farg1, int const *farg2, float const *farg3, SwigClassWrapper const *farg4, float const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool arg2 ; + float arg3 ; + std::shared_ptr< SpecUtils::Measurement const > arg4 ; + float arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_contained_neutrons(bool const,float const,std::shared_ptr< SpecUtils::Measurement const > const,float const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (*farg2 ? true : false); + arg3 = (float)(*farg3); + if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); + arg5 = (float)(*farg5); + (arg1)->set_contained_neutrons(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_set_detectors_analysis(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::DetectorAnalysis const &", "DetectorAnalysis", "SpecUtils::SpecFile::set_detectors_analysis(SpecUtils::DetectorAnalysis const &)", return ); + arg2 = (SpecUtils::DetectorAnalysis *)farg2->cptr; + (arg1)->set_detectors_analysis((SpecUtils::DetectorAnalysis const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_change_detector_name(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string *arg3 = 0 ; + std::string tempstr2 ; + std::string tempstr3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_detector_name(std::string const &,std::string const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + (arg1)->change_detector_name((std::string const &)*arg2,(std::string const &)*arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_change_sample_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::pair< int,int > > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< int,int > > const &", "SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t", "SpecUtils::SpecFile::change_sample_numbers(std::vector< std::pair< int,int > > const &)", return ); + arg2 = (std::vector< std::pair< int,int > > *)farg2->cptr; + (arg1)->change_sample_numbers((std::vector< std::pair< int,int > > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::Measurement > arg2 ; + bool arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >,bool const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + arg3 = (*farg3 ? true : false); + (arg1)->add_measurement(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_add_measurement__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::Measurement > arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_measurement(std::shared_ptr< SpecUtils::Measurement >)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + (arg1)->add_measurement(arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_remove_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, int const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::Measurement const > arg2 ; + bool arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurement(std::shared_ptr< SpecUtils::Measurement const >,bool const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + if (farg2->cptr) arg2 = *static_cast*>(farg2->cptr); + arg3 = (*farg3 ? true : false); + (arg1)->remove_measurement(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_remove_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::shared_ptr< SpecUtils::Measurement const > > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A", "SpecUtils::SpecFile::remove_measurements(std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)", return ); + arg2 = (std::vector< std::shared_ptr< SpecUtils::Measurement const > > *)farg2->cptr; + (arg1)->remove_measurements((std::vector< std::shared_ptr< SpecUtils::Measurement const > > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_clear_multimedia_data(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::clear_multimedia_data()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->clear_multimedia_data(); +} + + +SWIGEXPORT void _wrap_SpecFile_add_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::MultimediaData *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::MultimediaData const &", "MultimediaData", "SpecUtils::SpecFile::add_multimedia_data(SpecUtils::MultimediaData const &)", return ); + arg2 = (SpecUtils::MultimediaData *)farg2->cptr; + (arg1)->add_multimedia_data((SpecUtils::MultimediaData const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_multimedia_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &", "SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7", "SpecUtils::SpecFile::set_multimedia_data(std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > &)", return ); + arg2 = (std::vector< std::shared_ptr< SpecUtils::MultimediaData const > > *)farg2->cptr; + (arg1)->set_multimedia_data(*arg2); +} + + +SWIGEXPORT int _wrap_SpecFile_occupancy_number_from_remarks(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::occupancy_number_from_remarks() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)((SpecUtils::SpecFile const *)arg1)->occupancy_number_from_remarks(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sample_measurements(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + SwigValueWrapper< std::vector< std::shared_ptr< SpecUtils::Measurement const > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sample_measurements(int const) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + result = ((SpecUtils::SpecFile const *)arg1)->sample_measurements(arg2); + fresult.cptr = new (std::vector< std::shared_ptr< SpecUtils::Measurement const > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigArrayWrapper *farg3) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + std::string *arg3 = 0 ; + std::string tempstr3 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,std::string const &) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,(std::string const &)*arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement__SWIG_2(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + int arg3 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::measurement(int const,int const) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + arg3 = (int)(*farg3); + result = ((SpecUtils::SpecFile const *)arg1)->measurement(arg2,arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_suggested_sum_energy_calibration(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; + std::vector< std::string > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::suggested_sum_energy_calibration(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::string > *)farg3->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->suggested_sum_energy_calibration((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_sum_measurements(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper const *farg4) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg2 = 0 ; + std::vector< std::string > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > arg4 ; + std::shared_ptr< SpecUtils::Measurement > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::set< int,std::less< int >,std::allocator< int > > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::sum_measurements(std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,std::shared_ptr< SpecUtils::EnergyCalibration const >) const", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::string > *)farg3->cptr; + if (farg4->cptr) arg4 = *static_cast*>(farg4->cptr); + result = ((SpecUtils::SpecFile const *)arg1)->sum_measurements((std::set< int,std::less< int >,std::allocator< int > > const &)*arg2,(std::vector< std::string > const &)*arg3,arg4); + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::Measurement >(static_cast< const std::shared_ptr< SpecUtils::Measurement >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_memmorysize(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::memmorysize() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_gamma_channel_counts(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::set< size_t,std::less< size_t >,std::allocator< size_t > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::gamma_channel_counts() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->gamma_channel_counts(); + fresult.cptr = new (std::set< size_t,std::less< size_t >,std::allocator< size_t > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_num_gamma_channels(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::num_gamma_channels() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->num_gamma_channels(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_keep_n_bin_spectra_only(SwigClassWrapper *farg1, int const *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t arg2 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_n_bin_spectra_only(size_t)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = (arg1)->keep_n_bin_spectra_only(arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_contained_neutron(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::contained_neutron() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->contained_neutron(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_energy_cal_variants(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::set< std::string,std::less< std::string >,std::allocator< std::string > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::energy_cal_variants() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->energy_cal_variants(); + fresult.cptr = new (std::set< std::string,std::less< std::string >,std::allocator< std::string > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_keep_energy_cal_variants(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::keep_energy_cal_variants(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; + result = (arg1)->keep_energy_cal_variants((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_keep_derived_data_variant(SwigClassWrapper *farg1, int const *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::SpecFile::DerivedVariantToKeep arg2 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::keep_derived_data_variant(SpecUtils::SpecFile::DerivedVariantToKeep const)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (SpecUtils::SpecFile::DerivedVariantToKeep)(*farg2); + result = (arg1)->keep_derived_data_variant(arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_remove_detectors_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::set< std::string,std::less< std::string >,std::allocator< std::string > > *arg2 = 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &", "SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ", "SpecUtils::SpecFile::remove_detectors_data(std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)", return 0); + arg2 = (std::set< std::string,std::less< std::string >,std::allocator< std::string > > *)farg2->cptr; + result = (arg1)->remove_detectors_data((std::set< std::string,std::less< std::string >,std::allocator< std::string > > const &)*arg2); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_remove_neutron_measurements(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + size_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::remove_neutron_measurements()", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (arg1)->remove_neutron_measurements(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_background_sample_number(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::background_sample_number() const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)((SpecUtils::SpecFile const *)arg1)->background_sample_number(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_SpecFile_generate_psuedo_uuid(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::generate_psuedo_uuid() const", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->generate_psuedo_uuid(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_reset(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::reset()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->reset(); +} + + +SWIGEXPORT int _wrap_SpecFile_load_N42_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_N42_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_pcf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_pcf_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_pcf_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_spc_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spc_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_spc_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_chn_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_chn_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_chn_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_iaea_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_iaea_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_iaea_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_binary_exploranium_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_binary_exploranium_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_binary_exploranium_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_micro_raider_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_micro_raider_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_micro_raider_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_txt_or_csv_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_txt_or_csv_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_txt_or_csv_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_cnf_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_cnf_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_cnf_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_tracs_mps_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tracs_mps_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_tracs_mps_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_aram_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_aram_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_aram_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_spectroscopic_daily_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_spectroscopic_daily_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_amptek_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_amptek_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_amptek_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_ortec_listmode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_ortec_listmode_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_ortec_listmode_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_lsrm_spe_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lsrm_spe_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_lsrm_spe_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_tka_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_tka_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_tka_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_multiact_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_multiact_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_multiact_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_phd_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_phd_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_phd_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_lzs_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_lzs_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_lzs_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_radiacode_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_radiacode_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_radiacode_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_xml_scan_data_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_xml_scan_data_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_xml_scan_data_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_json_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_json_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_json_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_caen_gxml_file(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_caen_gxml_file(std::string const &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)(arg1)->load_caen_gxml_file((std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_N42(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_N42(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (char *)(farg2->data); + result = (bool)(arg1)->load_N42_from_data(arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_N42_from_data__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigArrayWrapper *farg3) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + char *arg2 = (char *) 0 ; + char *arg3 = (char *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_N42_from_data(char *,char *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (char *)(farg2->data); + arg3 = (char *)(farg3->data); + result = (bool)(arg1)->load_N42_from_data(arg2,arg3); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_iaea_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea_spc(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_iaea_spc(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_spc(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_binary_spc(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_N42_document(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_N42_document(rapidxml::xml_node< char > const *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (rapidxml::xml_node< char > *)farg2->cptr; + result = (bool)(arg1)->load_from_N42_document((rapidxml::xml_node< char > const *)arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_micro_raider_from_data(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + char *arg2 = (char *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_micro_raider_from_data(char const *)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (char *)(farg2->data); + result = (bool)(arg1)->load_from_micro_raider_from_data((char const *)arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_binary_exploranium(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_binary_exploranium(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_binary_exploranium(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_pcf(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_pcf(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_txt_or_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_txt_or_csv(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_txt_or_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_Gr135_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_Gr135_txt(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_Gr135_txt(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_spectroscopic_daily_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_spectroscopic_daily_file(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_spectroscopic_daily_file(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_srpm210_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_srpm210_csv(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_srpm210_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_D3S_raw(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_D3S_raw(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_D3S_raw(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_amptek_mca(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_amptek_mca(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_amptek_mca(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_ortec_listmode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_ortec_listmode(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_ortec_listmode(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_lsrm_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lsrm_spe(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_lsrm_spe(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tka(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_tka(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_multiact(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_multiact(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_multiact(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_phd(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_phd(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_phd(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_lzs(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_lzs(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_lzs(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_radiacode(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_radiacode(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_radiacode_spectrogram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_radiacode_spectrogram(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_radiacode_spectrogram(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_xml_scan_data(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_xml_scan_data(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_xml_scan_data(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_iaea(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_iaea(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_iaea(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_chn(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_chn(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_chn(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_cnf(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_cnf(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_tracs_mps(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_tracs_mps(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_tracs_mps(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_aram(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_aram(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_aram(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_json(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_json(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_json(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_load_from_caen_gxml(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::load_from_caen_gxml(std::istream &)", return 0); + arg2 = (std::istream *)farg2->cptr; + result = (bool)(arg1)->load_from_caen_gxml(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_RebinToCommonBinning = (int)(SpecUtils::SpecFile::RebinToCommonBinning); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_DontChangeOrReorderSamples = (int)(SpecUtils::SpecFile::DontChangeOrReorderSamples); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_ReorderSamplesByTime = (int)(SpecUtils::SpecFile::ReorderSamplesByTime); + +SWIGEXPORT SWIGEXTERN const int _wrap_SpecFile_StandardCleanup = (int)(SpecUtils::SpecFile::StandardCleanup); + +SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + unsigned int arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load(unsigned int const)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (unsigned int)(*farg2); + (arg1)->cleanup_after_load(arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_cleanup_after_load__SWIG_1(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::cleanup_after_load()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->cleanup_after_load(); +} + + +SWIGEXPORT void _wrap_SpecFile_recalc_total_counts(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::recalc_total_counts()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->recalc_total_counts(); +} + + +SWIGEXPORT void _wrap_SpecFile_merge_neutron_meas_into_gamma_meas(SwigClassWrapper *farg1) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::merge_neutron_meas_into_gamma_meas()", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (arg1)->merge_neutron_meas_into_gamma_meas(); +} + + +SWIGEXPORT void _wrap_SpecFile_rebin_measurement(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigClassWrapper const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement const > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + std::shared_ptr< SpecUtils::Measurement const > tempnull3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_measurement(std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::shared_ptr< SpecUtils::Measurement const > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + arg3 = farg3->cptr ? static_cast * >(farg3->cptr) : &tempnull3; + (arg1)->rebin_measurement((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::shared_ptr< SpecUtils::Measurement const > const &)*arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_rebin_all_measurements(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::rebin_all_measurements(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->rebin_all_measurements((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); +} + + +SWIGEXPORT void _wrap_SpecFile_set_energy_calibration_from_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::istream *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::istream &", "SWIGTYPE_p_std__istream", "SpecUtils::SpecFile::set_energy_calibration_from_CALp_file(std::istream &)", return ); + arg2 = (std::istream *)farg2->cptr; + (arg1)->set_energy_calibration_from_CALp_file(*arg2); +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_detector_names_to_numbers(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::vector< std::string > *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::detector_names_to_numbers(std::vector< std::string > const &) const", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< std::string > *)farg2->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->detector_names_to_numbers((std::vector< std::string > const &)*arg2); + fresult.cptr = new (std::set< int,std::less< int >,std::allocator< int > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_0(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, int const *farg3) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string arg2 ; + SpecUtils::SaveSpectrumAsType arg3 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + arg3 = (SpecUtils::SaveSpectrumAsType)(*farg3); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3); +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_1(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string arg2 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const,std::set< int,std::less< int >,std::allocator< int > > const,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_2(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string arg2 ; + SwigValueWrapper< std::vector< int > > arg3 ; + SwigValueWrapper< std::vector< int > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + (&arg2)->assign(static_cast(farg2->data), farg2->size); + SWIG_check_nonnull(farg3->cptr, "std::vector< int >", "SWIGTYPE_p_std__vectorT_int_t", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::vector< int > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< int >", "SWIGTYPE_p_std__vectorT_int_t", "SpecUtils::SpecFile::write_to_file(std::string const,std::vector< int > const,std::vector< int > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::vector< int > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file(arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write_to_file__SWIG_3(SwigClassWrapper *farg1, SwigArrayWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::string *arg2 = 0 ; + std::set< int,std::less< int >,std::allocator< int > > *arg3 = 0 ; + std::vector< std::string > *arg4 = 0 ; + SpecUtils::SaveSpectrumAsType arg5 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = (std::set< int,std::less< int >,std::allocator< int > > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_to_file(std::string const &,std::set< int,std::less< int >,std::allocator< int > > const &,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = (std::vector< std::string > *)farg4->cptr; + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write_to_file((std::string const &)*arg2,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg3,(std::vector< std::string > const &)*arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,arg4,arg5); +} + + +SWIGEXPORT void _wrap_SpecFile_write__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4, int const *farg5) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::vector< std::string > *arg4 = 0 ; + SpecUtils::SaveSpectrumAsType arg5 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &,SpecUtils::SaveSpectrumAsType const) const", return ); + arg4 = (std::vector< std::string > *)farg4->cptr; + arg5 = (SpecUtils::SaveSpectrumAsType)(*farg5); + ((SpecUtils::SpecFile const *)arg1)->write(*arg2,arg3,(std::vector< std::string > const &)*arg4,arg5); +} + + +SWIGEXPORT int _wrap_SpecFile_write_pcf(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_pcf(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_pcf(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_2006_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2006_N42(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2006_N42(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_csv(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_csv(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_csv(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_txt(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_txt(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_txt(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_0(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_integer_chn__SWIG_1(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::vector< std::string > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::string > const &", "SWIGTYPE_p_std__vectorT_std__string_t", "SpecUtils::SpecFile::write_integer_chn(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::vector< std::string > const &) const", return 0); + arg4 = (std::vector< std::string > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_integer_chn(*arg2,arg3,(std::vector< std::string > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_binary_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, SwigClassWrapper *farg5) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SpecUtils::SpecFile::SpcBinaryType arg3 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg4 ; + std::set< int,std::less< int >,std::allocator< int > > *arg5 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + arg3 = (SpecUtils::SpecFile::SpcBinaryType)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg4->cptr)); + SWIG_check_nonnull(farg5->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_binary_spc(std::ostream &,SpecUtils::SpecFile::SpcBinaryType const,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg5 = (std::set< int,std::less< int >,std::allocator< int > > *)farg5->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_spc(*arg2,arg3,arg4,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg5); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_ascii_spc(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_ascii_spc(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_ascii_spc(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr130v0(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr130v0(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr130v0(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_binary_exploranium_gr135v2(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_binary_exploranium_gr135v2(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_binary_exploranium_gr135v2(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_iaea_spe(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_iaea_spe(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_iaea_spe(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_cnf(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_cnf(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_cnf(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_tka(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + SwigValueWrapper< std::set< int,std::less< int >,std::allocator< int > > > arg3 ; + std::set< int,std::less< int >,std::allocator< int > > *arg4 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::set< int,std::less< int >,std::allocator< int > >", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg3 = *((std::set< int,std::less< int >,std::allocator< int > > *)(farg3->cptr)); + SWIG_check_nonnull(farg4->cptr, "std::set< int,std::less< int >,std::allocator< int > > const &", "SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2", "SpecUtils::SpecFile::write_tka(std::ostream &,std::set< int,std::less< int >,std::allocator< int > >,std::set< int,std::less< int >,std::allocator< int > > const &) const", return 0); + arg4 = (std::set< int,std::less< int >,std::allocator< int > > *)farg4->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_tka(*arg2,arg3,(std::set< int,std::less< int >,std::allocator< int > > const &)*arg4); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_2012N42_VERSION_get() { + int fresult ; + int result; + + result = (int)(5); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_create_2012_N42_xml(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SwigValueWrapper< std::shared_ptr< ::rapidxml::xml_document< char > > > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::create_2012_N42_xml() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = ((SpecUtils::SpecFile const *)arg1)->create_2012_N42_xml(); + fresult.cptr = new (std::shared_ptr< ::rapidxml::xml_document< char > >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_write_2012_N42(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::ostream *arg2 = 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::SpecFile::write_2012_N42(std::ostream &) const", return 0); + arg2 = (std::ostream *)farg2->cptr; + result = (bool)((SpecUtils::SpecFile const *)arg1)->write_2012_N42(*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_mutex(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + std::recursive_mutex *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile const *", "SpecFile", "SpecUtils::SpecFile::mutex() const", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (std::recursive_mutex *) &((SpecUtils::SpecFile const *)arg1)->mutex(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_SpecFile_measurement_at(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int arg2 ; + std::shared_ptr< SpecUtils::Measurement const > result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::measurement_at(int)", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + arg2 = (int)(*farg2); + result = SpecUtils_SpecFile_measurement_at(arg1,arg2); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT int _wrap_SpecFile_get_max_channel_count(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + int result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::SpecFile *", "SpecFile", "SpecUtils::SpecFile::get_max_channel_count()", return 0); + arg1 = (SpecUtils::SpecFile *)farg1->cptr; + result = (int)SpecUtils_SpecFile_get_max_channel_count(arg1); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_SpecFile_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::SpecFile *arg1 = (SpecUtils::SpecFile *) 0 ; + SpecUtils::SpecFile *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->remark_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_remark__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::remark_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->remark_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->nuclide_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->nuclide_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_activity__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->activity_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_activity__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::activity_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->activity_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_nuclide_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->nuclide_type_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_nuclide_type__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::nuclide_type_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->nuclide_type_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_id_confidence__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->id_confidence_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_id_confidence__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::id_confidence_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->id_confidence_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_distance__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->distance_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_distance__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::distance_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->distance_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_dose_rate__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->dose_rate_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_dose_rate__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::dose_rate_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->dose_rate_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_real_time__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->real_time_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysisResult_real_time__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::real_time_", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (float) ((arg1)->real_time_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_detector__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->detector_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysisResult_detector__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::detector_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (std::string *) & ((arg1)->detector_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysisResult() { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysisResult *result = 0 ; + + result = (SpecUtils::DetectorAnalysisResult *)new SpecUtils::DetectorAnalysisResult(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_reset(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::reset()", return ); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + (arg1)->reset(); +} + + +SWIGEXPORT int _wrap_DetectorAnalysisResult_isEmpty(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysisResult const *", "DetectorAnalysisResult", "SpecUtils::DetectorAnalysisResult::isEmpty() const", return 0); + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + result = (bool)((SpecUtils::DetectorAnalysisResult const *)arg1)->isEmpty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DetectorAnalysisResult(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + + arg1 = (SpecUtils::DetectorAnalysisResult *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DetectorAnalysisResult_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysisResult *arg1 = (SpecUtils::DetectorAnalysisResult *) 0 ; + SpecUtils::DetectorAnalysisResult *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_remarks__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::string > *arg2 = (std::vector< std::string > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< std::string > *)farg2->cptr; + if (arg1) (arg1)->remarks_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_remarks__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::string > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::remarks_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< std::string > *)& ((arg1)->remarks_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_name__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_name_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_name__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_name_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_name_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_component_versions__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::pair< std::string,std::string > > *arg2 = (std::vector< std::pair< std::string,std::string > > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< std::pair< std::string,std::string > > *)farg2->cptr; + if (arg1) (arg1)->algorithm_component_versions_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_algorithm_component_versions__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< std::pair< std::string,std::string > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_component_versions_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< std::pair< std::string,std::string > > *)& ((arg1)->algorithm_component_versions_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_creator__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_creator_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_creator__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_creator_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_creator_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_description_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_description__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_description_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_description_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_analysis_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::time_point_t arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::DetectorAnalysis::analysis_start_time_", return ); + arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); + if (arg1) (arg1)->analysis_start_time_ = arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_analysis_start_time__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::time_point_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_start_time_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = ((arg1)->analysis_start_time_); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_analysis_computation_duration__set(SwigClassWrapper *farg1, float const *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->analysis_computation_duration_ = arg2; +} + + +SWIGEXPORT float _wrap_DetectorAnalysis_analysis_computation_duration__get(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::analysis_computation_duration_", return 0); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (float) ((arg1)->analysis_computation_duration_); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_algorithm_result_description__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->algorithm_result_description_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_DetectorAnalysis_algorithm_result_description__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::algorithm_result_description_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::string *) & ((arg1)->algorithm_result_description_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_results__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< SpecUtils::DetectorAnalysisResult > *arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + arg2 = (std::vector< SpecUtils::DetectorAnalysisResult > *)farg2->cptr; + if (arg1) (arg1)->results_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DetectorAnalysis_results__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + std::vector< SpecUtils::DetectorAnalysisResult > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::results_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (std::vector< SpecUtils::DetectorAnalysisResult > *)& ((arg1)->results_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DetectorAnalysis() { + SwigClassWrapper fresult ; + SpecUtils::DetectorAnalysis *result = 0 ; + + result = (SpecUtils::DetectorAnalysis *)new SpecUtils::DetectorAnalysis(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_reset(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::reset()", return ); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + (arg1)->reset(); +} + + +SWIGEXPORT int _wrap_DetectorAnalysis_is_empty(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::DetectorAnalysis const *", "DetectorAnalysis", "SpecUtils::DetectorAnalysis::is_empty() const", return 0); + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + result = (bool)((SpecUtils::DetectorAnalysis const *)arg1)->is_empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DetectorAnalysis(SwigClassWrapper *farg1) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + + arg1 = (SpecUtils::DetectorAnalysis *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DetectorAnalysis_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::DetectorAnalysis *arg1 = (SpecUtils::DetectorAnalysis *) 0 ; + SpecUtils::DetectorAnalysis *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT void _wrap_MultimediaData_remark__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->remark_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_remark__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::remark_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->remark_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_descriptions__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->descriptions_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_descriptions__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::descriptions_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->descriptions_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_data__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::vector< char > *arg2 = (std::vector< char > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + arg2 = (std::vector< char > *)farg2->cptr; + if (arg1) (arg1)->data_ = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_data__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::vector< char > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::vector< char > *)& ((arg1)->data_); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_data_encoding__set(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData::EncodingType arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + arg2 = (SpecUtils::MultimediaData::EncodingType)(*farg2); + if (arg1) (arg1)->data_encoding_ = arg2; +} + + +SWIGEXPORT int _wrap_MultimediaData_data_encoding__get(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData::EncodingType result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::data_encoding_", return 0); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (SpecUtils::MultimediaData::EncodingType) ((arg1)->data_encoding_); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_capture_start_time__set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::time_point_t arg2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "SpecUtils::time_point_t", "SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN", "SpecUtils::MultimediaData::capture_start_time_", return ); + arg2 = *((SpecUtils::time_point_t *)(farg2->cptr)); + if (arg1) (arg1)->capture_start_time_ = arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_MultimediaData_capture_start_time__get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::time_point_t result; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::capture_start_time_", return SwigClassWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = ((arg1)->capture_start_time_); + fresult.cptr = new (SpecUtils::time_point_t)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_file_uri__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->file_uri_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_file_uri__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::file_uri_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->file_uri_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_MultimediaData_mime_type__set(SwigClassWrapper *farg1, SwigArrayWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *arg2 = 0 ; + std::string tempstr2 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return ); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + if (arg1) (arg1)->mime_type_ = *arg2; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_MultimediaData_mime_type__get(SwigClassWrapper *farg1) { + SwigArrayWrapper fresult ; + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + std::string *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "SpecUtils::MultimediaData *", "MultimediaData", "SpecUtils::MultimediaData::mime_type_", return SwigArrayWrapper_uninitialized()); + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + result = (std::string *) & ((arg1)->mime_type_); + fresult.size = result->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, result->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_MultimediaData() { + SwigClassWrapper fresult ; + SpecUtils::MultimediaData *result = 0 ; + + result = (SpecUtils::MultimediaData *)new SpecUtils::MultimediaData(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_MultimediaData(SwigClassWrapper *farg1) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + + arg1 = (SpecUtils::MultimediaData *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_MultimediaData_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::MultimediaData *arg1 = (SpecUtils::MultimediaData *) 0 ; + SpecUtils::MultimediaData *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign(farg1, *farg2); + +} + + +SWIGEXPORT int _wrap_pcf_det_name_to_dev_pair_index(SwigArrayWrapper *farg1, int *farg2, int *farg3, int *farg4) { + int fresult ; + std::string arg1 ; + int *arg2 = 0 ; + int *arg3 = 0 ; + int *arg4 = 0 ; + int result; + + (&arg1)->assign(static_cast(farg1->data), farg1->size); + arg2 = (int *)(farg2); + arg3 = (int *)(farg3); + arg4 = (int *)(farg4); + result = (int)SpecUtils::pcf_det_name_to_dev_pair_index(SWIG_STD_MOVE(arg1),*arg2,*arg3,*arg4); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_0() { + SwigClassWrapper fresult ; + std::pair< float,float > *result = 0 ; + + result = (std::pair< float,float > *)new std::pair< float,float >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_1(float const *farg1, float const *farg2) { + SwigClassWrapper fresult ; + float arg1 ; + float arg2 ; + std::pair< float,float > *result = 0 ; + + arg1 = (float)(*farg1); + arg2 = (float)(*farg2); + result = (std::pair< float,float > *)new std::pair< float,float >(arg1,arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DevPair__SWIG_2(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::pair< float,float > *arg1 = 0 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > const &", "DevPair", "std::pair< float,float >::pair(std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (std::pair< float,float > *)new std::pair< float,float >((std::pair< float,float > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DevPair_first_set(SwigClassWrapper *farg1, float const *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return ); + arg1 = (std::pair< float,float > *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->first = arg2; +} + + +SWIGEXPORT float _wrap_DevPair_first_get(SwigClassWrapper *farg1) { + float fresult ; + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::first", return 0); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (float) ((arg1)->first); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_DevPair_second_set(SwigClassWrapper *farg1, float const *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return ); + arg1 = (std::pair< float,float > *)farg1->cptr; + arg2 = (float)(*farg2); + if (arg1) (arg1)->second = arg2; +} + + +SWIGEXPORT float _wrap_DevPair_second_get(SwigClassWrapper *farg1) { + float fresult ; + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + float result; + + SWIG_check_nonnull(farg1->cptr, "std::pair< float,float > *", "DevPair", "std::pair< float,float >::second", return 0); + arg1 = (std::pair< float,float > *)farg1->cptr; + result = (float) ((arg1)->second); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DevPair(SwigClassWrapper *farg1) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + + arg1 = (std::pair< float,float > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DevPair_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::pair< float,float > *arg1 = (std::pair< float,float > *) 0 ; + std::pair< float,float > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_std_pair_Sl__Sp_float_Sc_float_SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_0() { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *result = 0 ; + + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_1(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = 0 ; + std::vector< std::pair< float,float > > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "std::vector< std::pair< float,float > >::vector(std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >((std::vector< std::pair< float,float > > const &)*arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_2(int const *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > >::size_type arg1 ; + std::vector< std::pair< float,float > > *result = 0 ; + + arg1 = (std::vector< std::pair< float,float > >::size_type)(*farg1); + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_DeviationPairs__SWIG_3(int const *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > >::size_type arg1 ; + std::pair< float,float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *result = 0 ; + + arg1 = (std::vector< std::pair< float,float > >::size_type)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::vector(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return SwigClassWrapper_uninitialized()); + arg2 = (std::pair< float,float > *)farg2->cptr; + result = (std::vector< std::pair< float,float > > *)new std::vector< std::pair< float,float > >(arg1,(std::pair< float,float > const &)*arg2); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (1 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_DeviationPairs_size(SwigClassWrapper *farg1) { + int fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::size() const", return 0); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = ((std::vector< std::pair< float,float > > const *)arg1)->size(); + fresult = (std::vector< std::pair< float,float > >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_DeviationPairs_capacity(SwigClassWrapper *farg1) { + int fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::capacity() const", return 0); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = ((std::vector< std::pair< float,float > > const *)arg1)->capacity(); + fresult = (std::vector< std::pair< float,float > >::size_type)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_DeviationPairs_empty(SwigClassWrapper *farg1) { + int fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::empty() const", return 0); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (bool)((std::vector< std::pair< float,float > > const *)arg1)->empty(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_front(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::front() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &((std::vector< std::pair< float,float > > const *)arg1)->front(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_back(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > const *", "DeviationPairs", "std::vector< std::pair< float,float > >::back() const", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &((std::vector< std::pair< float,float > > const *)arg1)->back(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DeviationPairs_reserve(SwigClassWrapper *farg1, int const *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::reserve(std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); + (arg1)->reserve(arg2); +} + + +SWIGEXPORT void _wrap_DeviationPairs_resize__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); + (arg1)->resize(arg2); +} + + +SWIGEXPORT void _wrap_DeviationPairs_resize__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = (std::vector< std::pair< float,float > >::size_type)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::resize(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg3 = (std::pair< float,float > *)farg3->cptr; + (arg1)->resize(arg2,(std::pair< float,float > const &)*arg3); +} + + +SWIGEXPORT void _wrap_DeviationPairs_push_back(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *arg2 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::push_back(std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::push_back(std::pair< float,float > const &)", return ); + arg2 = (std::pair< float,float > *)farg2->cptr; + (arg1)->push_back((std::pair< float,float > const &)*arg2); +} + + +SWIGEXPORT void _wrap_DeviationPairs_pop_back(SwigClassWrapper *farg1) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::pop_back()", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + (arg1)->pop_back(); +} + + +SWIGEXPORT void _wrap_DeviationPairs_clear(SwigClassWrapper *farg1) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::clear()", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + (arg1)->clear(); +} + + +SWIGEXPORT void _wrap_DeviationPairs_set(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::set(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::set(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg3 = (std::pair< float,float > *)farg3->cptr; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__set(arg1,SWIG_STD_MOVE(arg2),(std::pair< float,float > const &)*arg3); +} + + +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_get(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::get(std::vector< std::pair< float,float > >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_DeviationPairs_insert(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *arg3 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::insert(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + SWIG_check_nonnull(farg3->cptr, "std::pair< float,float > const &", "DevPair", "std::vector< std::pair< float,float > >::insert(std::vector< std::pair< float,float > >::size_type,std::pair< float,float > const &)", return ); + arg3 = (std::pair< float,float > *)farg3->cptr; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__insert(arg1,SWIG_STD_MOVE(arg2),(std::pair< float,float > const &)*arg3); +} + + +SWIGEXPORT void _wrap_DeviationPairs_erase__SWIG_0(SwigClassWrapper *farg1, int const *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::erase(std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_0(arg1,SWIG_STD_MOVE(arg2)); +} + + +SWIGEXPORT void _wrap_DeviationPairs_erase__SWIG_1(SwigClassWrapper *farg1, int const *farg2, int const *farg3) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::vector< std::pair< float,float > >::size_type arg3 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::erase(std::vector< std::pair< float,float > >::size_type,std::vector< std::pair< float,float > >::size_type)", return ); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + arg3 = *farg3 - 1; + std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__erase__SWIG_1(arg1,SWIG_STD_MOVE(arg2),SWIG_STD_MOVE(arg3)); +} + + +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_front_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::front_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__front_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_back_ref(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::back_ref()", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__back_ref(arg1); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_DeviationPairs_get_ref(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > >::size_type arg2 ; + std::pair< float,float > *result = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< std::pair< float,float > > *", "DeviationPairs", "std::vector< std::pair< float,float > >::get_ref(std::vector< std::pair< float,float > >::size_type)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + arg2 = *farg2 - 1; + result = (std::pair< float,float > *) &std_vector_Sl_std_pair_Sl_float_Sc_float_Sg__Sg__get_ref(arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_DeviationPairs(SwigClassWrapper *farg1) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + + arg1 = (std::vector< std::pair< float,float > > *)farg1->cptr; + delete arg1; +} + + +SWIGEXPORT void _wrap_DeviationPairs_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + std::vector< std::pair< float,float > > *arg1 = (std::vector< std::pair< float,float > > *) 0 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + + (void)sizeof(arg1); + (void)sizeof(arg2); + SWIG_assign >, SWIGPOLICY_std_vector_Sl__Sp_std_pair_Sl__Sp_float_Sc_float_SP__Sg__SP__Sg_>(farg1, *farg2); + +} + + +SWIGEXPORT int _wrap_EnergyCalibration_type(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + SpecUtils::EnergyCalType result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (SpecUtils::EnergyCalType)((SpecUtils::EnergyCalibration const *)arg1)->type(); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_valid(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->valid(); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_coefficients(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + std::vector< float > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::vector< float > *) &((SpecUtils::EnergyCalibration const *)arg1)->coefficients(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_deviation_pairs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + std::vector< std::pair< float,float > > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::vector< std::pair< float,float > > *) &((SpecUtils::EnergyCalibration const *)arg1)->deviation_pairs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_channel_energies(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *) &((SpecUtils::EnergyCalibration const *)arg1)->channel_energies(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_num_channels(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = ((SpecUtils::EnergyCalibration const *)arg1)->num_channels(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_new_EnergyCalibration() { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *result = 0 ; + + result = (SpecUtils::EnergyCalibration *)new SpecUtils::EnergyCalibration(); + fresult.cptr = result ? new std::shared_ptr< SpecUtils::EnergyCalibration >(result SWIG_NO_NULL_DELETER_1) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT void _wrap_EnergyCalibration_set_polynomial(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); +} + + +SWIGEXPORT void _wrap_EnergyCalibration_set_default_polynomial(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_default_polynomial(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_default_polynomial(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); +} + + +SWIGEXPORT void _wrap_EnergyCalibration_set_full_range_fraction(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::EnergyCalibration::set_full_range_fraction(size_t const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return ); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + (arg1)->set_full_range_fraction(arg2,(std::vector< float > const &)*arg3,(std::vector< std::pair< float,float > > const &)*arg4); +} + + +SWIGEXPORT int _wrap_EnergyCalibration_op_lt__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator <(SpecUtils::EnergyCalibration const &) const", return 0) + arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator <((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_op_eq__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator ==(SpecUtils::EnergyCalibration const &) const", return 0) + arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator ==((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_op_ne__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + bool result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + SWIG_check_sp_nonnull(farg2->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::EnergyCalibration::operator !=(SpecUtils::EnergyCalibration const &) const", return 0) + arg2 = (SpecUtils::EnergyCalibration*)static_cast*>(farg2->cptr)->get(); + result = (bool)((SpecUtils::EnergyCalibration const *)arg1)->operator !=((SpecUtils::EnergyCalibration const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_memmorysize(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + size_t result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = ((SpecUtils::EnergyCalibration const *)arg1)->memmorysize(); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_EnergyCalibration_channel_for_energy(SwigClassWrapper *farg1, double const *farg2) { + double fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + double arg2 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (double)(*farg2); + result = (double)((SpecUtils::EnergyCalibration const *)arg1)->channel_for_energy(arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_EnergyCalibration_energy_for_channel(SwigClassWrapper *farg1, double const *farg2) { + double fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + double arg2 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + double result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (double)(*farg2); + result = (double)((SpecUtils::EnergyCalibration const *)arg1)->energy_for_channel(arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_EnergyCalibration_lower_energy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::EnergyCalibration const *)arg1)->lower_energy(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_EnergyCalibration_upper_energy(SwigClassWrapper *farg1) { + float fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *smartarg1 ; + float result; + + smartarg1 = (std::shared_ptr*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (float)((SpecUtils::EnergyCalibration const *)arg1)->upper_energy(); + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_sm_min_channels_get() { + int fresult ; + size_t result; + + result = (size_t)SpecUtils::EnergyCalibration::sm_min_channels; + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_sm_max_channels_get() { + int fresult ; + size_t result; + + result = (size_t)SpecUtils::EnergyCalibration::sm_max_channels; + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT float _wrap_EnergyCalibration_sm_polynomial_offset_limit_get() { + float fresult ; + float result; + + result = (float)(float)SpecUtils::EnergyCalibration::sm_polynomial_offset_limit; + fresult = (float)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_delete_EnergyCalibration(SwigClassWrapper *farg1) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + (void)arg1; delete smartarg1; +} + + +SWIGEXPORT void _wrap_EnergyCalibration_op_assign__(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalibration *arg2 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + (void)sizeof(arg2); + SWIG_assign, SWIGPOLICY_SpecUtils_EnergyCalibration>(farg1, *farg2); + +} + + +SWIGEXPORT SwigClassWrapper _wrap_energy_cal_combine_channels(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = 0 ; + size_t arg2 ; + std::shared_ptr< SpecUtils::EnergyCalibration > result; + + SWIG_check_sp_nonnull(farg1->cptr, "SpecUtils::EnergyCalibration *", "EnergyCalibration", "SpecUtils::energy_cal_combine_channels(SpecUtils::EnergyCalibration const &,size_t const)", return SwigClassWrapper_uninitialized()) + arg1 = (SpecUtils::EnergyCalibration*)static_cast*>(farg1->cptr)->get(); + arg2 = (size_t)(*farg2); + result = SpecUtils::energy_cal_combine_channels((SpecUtils::EnergyCalibration const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = result ? (new std::shared_ptr< SpecUtils::EnergyCalibration >(static_cast< const std::shared_ptr< SpecUtils::EnergyCalibration >& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_polynomial_binning(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::polynomial_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = SpecUtils::polynomial_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_0(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3, int const *farg4) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + bool arg4 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,bool const)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + arg4 = (*farg4 ? true : false); + result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3,arg4); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_binning__SWIG_1(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_binning(std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = SpecUtils::fullrangefraction_binning((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2),(std::vector< std::pair< float,float > > const &)*arg3); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT double _wrap_fullrangefraction_energy(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::fullrangefraction_energy(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::fullrangefraction_energy(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_polynomial_energy(double const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::polynomial_energy(double const,std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return 0); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + result = (double)SpecUtils::polynomial_energy(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_deviation_pair_correction(double const *farg1, SwigClassWrapper *farg2) { + double fresult ; + double arg1 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::deviation_pair_correction(double const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = (double)SpecUtils::deviation_pair_correction(arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_correction_due_to_dev_pairs(double const *farg1, SwigClassWrapper *farg2) { + double fresult ; + double arg1 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::correction_due_to_dev_pairs(double const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = (double)SpecUtils::correction_due_to_dev_pairs(arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_apply_deviation_pair(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + std::vector< std::pair< float,float > > *arg2 = 0 ; + SwigValueWrapper< std::shared_ptr< std::vector< float > const > > result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::apply_deviation_pair(std::vector< float > const &,std::vector< std::pair< float,float > > const &)", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + result = SpecUtils::apply_deviation_pair((std::vector< float > const &)*arg1,(std::vector< std::pair< float,float > > const &)*arg2); + fresult.cptr = new (std::shared_ptr< std::vector< float > const >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_polynomial_coef_to_fullrangefraction(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_coef_to_fullrangefraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = SpecUtils::polynomial_coef_to_fullrangefraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_fullrangefraction_coef_to_polynomial(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::fullrangefraction_coef_to_polynomial(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = SpecUtils::fullrangefraction_coef_to_polynomial((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_mid_channel_polynomial_to_fullrangeFraction(SwigClassWrapper *farg1, int const *farg2) { + SwigClassWrapper fresult ; + std::vector< float > *arg1 = 0 ; + size_t arg2 ; + std::vector< float > result; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::mid_channel_polynomial_to_fullrangeFraction(std::vector< float > const &,size_t const)", return SwigClassWrapper_uninitialized()); + arg1 = (std::vector< float > *)farg1->cptr; + arg2 = (size_t)(*farg2); + result = SpecUtils::mid_channel_polynomial_to_fullrangeFraction((std::vector< float > const &)*arg1,SWIG_STD_MOVE(arg2)); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT int _wrap_calibration_is_valid(int const *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, int const *farg4) { + int fresult ; + SpecUtils::EnergyCalType arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< std::pair< float,float > > *arg3 = 0 ; + size_t arg4 ; + bool result; + + arg1 = (SpecUtils::EnergyCalType)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::calibration_is_valid(SpecUtils::EnergyCalType const,std::vector< float > const &,std::vector< std::pair< float,float > > const &,size_t)", return 0); + arg3 = (std::vector< std::pair< float,float > > *)farg3->cptr; + arg4 = (size_t)(*farg4); + result = (bool)SpecUtils::calibration_is_valid(arg1,(std::vector< float > const &)*arg2,(std::vector< std::pair< float,float > > const &)*arg3,SWIG_STD_MOVE(arg4)); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_polynomial_cal_remove_first_channels(int const *farg1, SwigClassWrapper *farg2) { + SwigClassWrapper fresult ; + int arg1 ; + std::vector< float > *arg2 = 0 ; + std::vector< float > result; + + arg1 = (int)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::polynomial_cal_remove_first_channels(int const,std::vector< float > const &)", return SwigClassWrapper_uninitialized()); + arg2 = (std::vector< float > *)farg2->cptr; + result = SpecUtils::polynomial_cal_remove_first_channels(arg1,(std::vector< float > const &)*arg2); + fresult.cptr = new (std::vector< float >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, double const *farg5) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double arg5 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + arg5 = (double)(*farg5); + result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_find_fullrangefraction_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_fullrangefraction_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::find_fullrangefraction_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_0(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4, double const *farg5) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double arg5 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &,double const)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + arg5 = (double)(*farg5); + result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4,arg5); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT double _wrap_find_polynomial_channel__SWIG_1(double const *farg1, SwigClassWrapper *farg2, int const *farg3, SwigClassWrapper *farg4) { + double fresult ; + double arg1 ; + std::vector< float > *arg2 = 0 ; + size_t arg3 ; + std::vector< std::pair< float,float > > *arg4 = 0 ; + double result; + + arg1 = (double)(*farg1); + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg2 = (std::vector< float > *)farg2->cptr; + arg3 = (size_t)(*farg3); + SWIG_check_nonnull(farg4->cptr, "std::vector< std::pair< float,float > > const &", "DeviationPairs", "SpecUtils::find_polynomial_channel(double const,std::vector< float > const &,size_t const,std::vector< std::pair< float,float > > const &)", return 0); + arg4 = (std::vector< std::pair< float,float > > *)farg4->cptr; + result = (double)SpecUtils::find_polynomial_channel(arg1,(std::vector< float > const &)*arg2,SWIG_STD_MOVE(arg3),(std::vector< std::pair< float,float > > const &)*arg4); + fresult = (double)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_rebin_by_lower_edge(SwigClassWrapper *farg1, SwigClassWrapper *farg2, SwigClassWrapper *farg3, SwigClassWrapper *farg4) { + std::vector< float > *arg1 = 0 ; + std::vector< float > *arg2 = 0 ; + std::vector< float > *arg3 = 0 ; + std::vector< float > *arg4 = 0 ; + + SWIG_check_nonnull(farg1->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg1 = (std::vector< float > *)farg1->cptr; + SWIG_check_nonnull(farg2->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg2 = (std::vector< float > *)farg2->cptr; + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + SWIG_check_nonnull(farg4->cptr, "std::vector< float > &", "FloatVector", "SpecUtils::rebin_by_lower_edge(std::vector< float > const &,std::vector< float > const &,std::vector< float > const &,std::vector< float > &)", return ); + arg4 = (std::vector< float > *)farg4->cptr; + SpecUtils::rebin_by_lower_edge((std::vector< float > const &)*arg1,(std::vector< float > const &)*arg2,(std::vector< float > const &)*arg3,*arg4); +} + + +SWIGEXPORT int _wrap_write_CALp_file(SwigClassWrapper *farg1, SwigClassWrapper const *farg2, SwigArrayWrapper *farg3) { + int fresult ; + std::ostream *arg1 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::string *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + std::string tempstr3 ; + bool result; + + SWIG_check_nonnull(farg1->cptr, "std::ostream &", "SWIGTYPE_p_std__ostream", "SpecUtils::write_CALp_file(std::ostream &,std::shared_ptr< SpecUtils::EnergyCalibration const > const &,std::string const &)", return 0); + arg1 = (std::ostream *)farg1->cptr; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + tempstr3 = std::string(static_cast(farg3->data), farg3->size); + arg3 = &tempstr3; + result = (bool)SpecUtils::write_CALp_file(*arg1,(std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2,(std::string const &)*arg3); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_remove_file(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::remove_file((std::string const &)*arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_is_file(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::is_file((std::string const &)*arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_rename_file(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + int fresult ; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + bool result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = (bool)SpecUtils::rename_file((std::string const &)*arg1,(std::string const &)*arg2); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_is_directory(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::is_directory((std::string const &)*arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT int _wrap_create_directory(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + int result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (int)SpecUtils::create_directory((std::string const &)*arg1); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_can_rw_in_directory(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::can_rw_in_directory((std::string const &)*arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_append_path(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + std::string result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = SpecUtils::append_path((std::string const &)*arg1,(std::string const &)*arg2); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_filename(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::filename((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_parent_path(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::parent_path((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_file_extension(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::file_extension((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_file_size(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + size_t result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::file_size((std::string const &)*arg1); + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_temp_dir() { + SwigArrayWrapper fresult ; + std::string result; + + result = SpecUtils::temp_dir(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_is_absolute_path(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::is_absolute_path((std::string const &)*arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_get_working_path() { + SwigArrayWrapper fresult ; + std::string result; + + result = SpecUtils::get_working_path(); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_temp_file_name(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + std::string arg1 ; + std::string arg2 ; + std::string result; + + (&arg1)->assign(static_cast(farg1->data), farg1->size); + (&arg2)->assign(static_cast(farg2->data), farg2->size); + result = SpecUtils::temp_file_name(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2)); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT int _wrap_sm_recursive_ls_max_depth_get() { + int fresult ; + size_t result; + + result = (size_t)SpecUtils::sm_recursive_ls_max_depth; + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT int _wrap_sm_ls_max_results_get() { + int fresult ; + size_t result; + + result = (size_t)SpecUtils::sm_ls_max_results; + fresult = (size_t)(result); + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_0(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = SpecUtils::recursive_ls((std::string const &)*arg1,(std::string const &)*arg2); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_1(SwigArrayWrapper *farg1) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::recursive_ls((std::string const &)*arg1); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_recursive_ls__SWIG_2(SwigArrayWrapper *farg1, SpecUtils::file_match_function_t farg2, void const **farg3) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + SpecUtils::file_match_function_t arg2 = (SpecUtils::file_match_function_t) 0 ; + void *arg3 = (void *) 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + arg2 = (SpecUtils::file_match_function_t)(*farg2); + arg3 = (void *)(*farg3); + result = SpecUtils::recursive_ls((std::string const &)*arg1,arg2,arg3); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_0(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + std::string *arg2 = 0 ; + std::string tempstr1 ; + std::string tempstr2 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + tempstr2 = std::string(static_cast(farg2->data), farg2->size); + arg2 = &tempstr2; + result = SpecUtils::ls_files_in_directory((std::string const &)*arg1,(std::string const &)*arg2); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_1(SwigArrayWrapper *farg1) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::ls_files_in_directory((std::string const &)*arg1); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_ls_files_in_directory__SWIG_2(SwigArrayWrapper *farg1, SpecUtils::file_match_function_t farg2, void const **farg3) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + SpecUtils::file_match_function_t arg2 = (SpecUtils::file_match_function_t) 0 ; + void *arg3 = (void *) 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + arg2 = (SpecUtils::file_match_function_t)(*farg2); + arg3 = (void *)(*farg3); + result = SpecUtils::ls_files_in_directory((std::string const &)*arg1,arg2,arg3); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigClassWrapper _wrap_ls_directories_in_directory(SwigArrayWrapper *farg1) { + SwigClassWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + SwigValueWrapper< std::vector< std::string > > result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::ls_directories_in_directory((std::string const &)*arg1); + fresult.cptr = new (std::vector< std::string >)(result); + fresult.cmemflags = SWIG_MEM_RVALUE | SWIG_MEM_OWN; + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_fs_relative(SwigArrayWrapper *farg1, SwigArrayWrapper *farg2) { + SwigArrayWrapper fresult ; + std::string arg1 ; + std::string arg2 ; + std::string result; + + (&arg1)->assign(static_cast(farg1->data), farg1->size); + (&arg2)->assign(static_cast(farg2->data), farg2->size); + result = SpecUtils::fs_relative(SWIG_STD_MOVE(arg1),SWIG_STD_MOVE(arg2)); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT SwigArrayWrapper _wrap_lexically_normalize_path(SwigArrayWrapper *farg1) { + SwigArrayWrapper fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + std::string result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = SpecUtils::lexically_normalize_path((std::string const &)*arg1); + fresult.size = (&result)->size(); + if (fresult.size > 0) { + fresult.data = malloc(fresult.size); + memcpy(fresult.data, (&result)->c_str(), fresult.size); + } else { + fresult.data = NULL; + } + return fresult; +} + + +SWIGEXPORT void _wrap_load_file_data(SwigArrayWrapper *farg1, SwigClassWrapper *farg2) { + char *arg1 = (char *) (char *)0 ; + std::vector< char > *arg2 = 0 ; + + arg1 = (char *)(farg1->data); + SWIG_check_nonnull(farg2->cptr, "std::vector< char > &", "SWIGTYPE_p_std__vectorT_char_t", "SpecUtils::load_file_data(char const *const,std::vector< char > &)", return ); + arg2 = (std::vector< char > *)farg2->cptr; + SpecUtils::load_file_data((char const *)arg1,*arg2); +} + + +SWIGEXPORT int _wrap_likely_not_spec_file(SwigArrayWrapper *farg1) { + int fresult ; + std::string *arg1 = 0 ; + std::string tempstr1 ; + bool result; + + tempstr1 = std::string(static_cast(farg1->data), farg1->size); + arg1 = &tempstr1; + result = (bool)SpecUtils::likely_not_spec_file((std::string const &)*arg1); + fresult = (result ? 1 : 0); + return fresult; +} + + +} // extern + diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 new file mode 100644 index 0000000..d361800 --- /dev/null +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -0,0 +1,12801 @@ +! This file was automatically generated by SWIG (https://www.swig.org). +! Version 4.2.0 +! +! Do not make changes to this file unless you know what you are doing - modify +! the SWIG interface file instead. +module specutilswrap + use, intrinsic :: ISO_C_BINDING + implicit none + private + + ! DECLARATION CONSTRUCTS + + integer, parameter :: swig_cmem_own_bit = 0 + integer, parameter :: swig_cmem_rvalue_bit = 1 + type, bind(C) :: SwigClassWrapper + type(C_PTR), public :: cptr = C_NULL_PTR + integer(C_INT), public :: cmemflags = 0 + end type + ! class std::vector< float > + type, public :: FloatVector + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_FloatVector_size + procedure :: capacity => swigf_FloatVector_capacity + procedure :: empty => swigf_FloatVector_empty + procedure :: front => swigf_FloatVector_front + procedure :: back => swigf_FloatVector_back + procedure :: reserve => swigf_FloatVector_reserve + procedure, private :: swigf_FloatVector_resize__SWIG_0 + procedure, private :: swigf_FloatVector_resize__SWIG_1 + procedure :: push_back => swigf_FloatVector_push_back + procedure :: pop_back => swigf_FloatVector_pop_back + procedure :: clear => swigf_FloatVector_clear + procedure :: set => swigf_FloatVector_set + procedure :: get => swigf_FloatVector_get + procedure :: insert => swigf_FloatVector_insert + procedure, private :: swigf_FloatVector_erase__SWIG_0 + procedure, private :: swigf_FloatVector_erase__SWIG_1 + procedure :: front_ref => swigf_FloatVector_front_ref + procedure :: back_ref => swigf_FloatVector_back_ref + procedure :: get_ref => swigf_FloatVector_get_ref + procedure :: release => swigf_FloatVector_release + procedure, private :: swigf_FloatVector_op_assign__ + generic :: resize => swigf_FloatVector_resize__SWIG_0, swigf_FloatVector_resize__SWIG_1 + generic :: assignment(=) => swigf_FloatVector_op_assign__ + generic :: erase => swigf_FloatVector_erase__SWIG_0, swigf_FloatVector_erase__SWIG_1 + end type FloatVector + ! class std::vector< SpecUtils::Measurement > + type, public :: MeasurementVector + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_MeasurementVector_size + procedure :: capacity => swigf_MeasurementVector_capacity + procedure :: empty => swigf_MeasurementVector_empty + procedure :: front => swigf_MeasurementVector_front + procedure :: back => swigf_MeasurementVector_back + procedure :: reserve => swigf_MeasurementVector_reserve + procedure, private :: swigf_MeasurementVector_resize__SWIG_0 + procedure, private :: swigf_MeasurementVector_resize__SWIG_1 + procedure :: push_back => swigf_MeasurementVector_push_back + procedure :: pop_back => swigf_MeasurementVector_pop_back + procedure :: clear => swigf_MeasurementVector_clear + procedure :: set => swigf_MeasurementVector_set + procedure :: get => swigf_MeasurementVector_get + procedure :: insert => swigf_MeasurementVector_insert + procedure, private :: swigf_MeasurementVector_erase__SWIG_0 + procedure, private :: swigf_MeasurementVector_erase__SWIG_1 + procedure :: front_ref => swigf_MeasurementVector_front_ref + procedure :: back_ref => swigf_MeasurementVector_back_ref + procedure :: get_ref => swigf_MeasurementVector_get_ref + procedure :: release => swigf_MeasurementVector_release + procedure, private :: swigf_MeasurementVector_op_assign__ + generic :: resize => swigf_MeasurementVector_resize__SWIG_0, swigf_MeasurementVector_resize__SWIG_1 + generic :: assignment(=) => swigf_MeasurementVector_op_assign__ + generic :: erase => swigf_MeasurementVector_erase__SWIG_0, swigf_MeasurementVector_erase__SWIG_1 + end type MeasurementVector + ! enum class SpecUtils::ParserType + enum, bind(c) + enumerator :: ParserType_N42_2006 + enumerator :: ParserType_N42_2012 + enumerator :: ParserType_Spc + enumerator :: ParserType_Exploranium + enumerator :: ParserType_Pcf + enumerator :: ParserType_Chn + enumerator :: ParserType_SpeIaea + enumerator :: ParserType_TxtOrCsv + enumerator :: ParserType_Cnf + enumerator :: ParserType_TracsMps + enumerator :: ParserType_Aram + enumerator :: ParserType_SPMDailyFile + enumerator :: ParserType_AmptekMca + enumerator :: ParserType_MicroRaider + enumerator :: ParserType_RadiaCode + enumerator :: ParserType_OrtecListMode + enumerator :: ParserType_LsrmSpe + enumerator :: ParserType_Tka + enumerator :: ParserType_MultiAct + enumerator :: ParserType_Phd + enumerator :: ParserType_Lzs + enumerator :: ParserType_ScanDataXml + enumerator :: ParserType_Json + enumerator :: ParserType_CaenHexagonGXml + enumerator :: ParserType_Auto + end enum + integer, parameter, public :: ParserType = kind(ParserType_N42_2006) + public :: ParserType_N42_2006, ParserType_N42_2012, ParserType_Spc, ParserType_Exploranium, ParserType_Pcf, ParserType_Chn, & + ParserType_SpeIaea, ParserType_TxtOrCsv, ParserType_Cnf, ParserType_TracsMps, ParserType_Aram, ParserType_SPMDailyFile, & + ParserType_AmptekMca, ParserType_MicroRaider, ParserType_RadiaCode, ParserType_OrtecListMode, ParserType_LsrmSpe, & + ParserType_Tka, ParserType_MultiAct, ParserType_Phd, ParserType_Lzs, ParserType_ScanDataXml, ParserType_Json, & + ParserType_CaenHexagonGXml, ParserType_Auto + ! enum class SpecUtils::SaveSpectrumAsType + enum, bind(c) + enumerator :: SaveSpectrumAsType_Txt + enumerator :: SaveSpectrumAsType_Csv + enumerator :: SaveSpectrumAsType_Pcf + enumerator :: SaveSpectrumAsType_N42_2006 + enumerator :: SaveSpectrumAsType_N42_2012 + enumerator :: SaveSpectrumAsType_Chn + enumerator :: SaveSpectrumAsType_SpcBinaryInt + enumerator :: SaveSpectrumAsType_SpcBinaryFloat + enumerator :: SaveSpectrumAsType_SpcAscii + enumerator :: SaveSpectrumAsType_ExploraniumGr130v0 + enumerator :: SaveSpectrumAsType_ExploraniumGr135v2 + enumerator :: SaveSpectrumAsType_SpeIaea + enumerator :: SaveSpectrumAsType_Cnf + enumerator :: SaveSpectrumAsType_Tka + enumerator :: SaveSpectrumAsType_NumTypes + end enum + integer, parameter, public :: SaveSpectrumAsType = kind(SaveSpectrumAsType_Txt) + public :: SaveSpectrumAsType_Txt, SaveSpectrumAsType_Csv, SaveSpectrumAsType_Pcf, SaveSpectrumAsType_N42_2006, & + SaveSpectrumAsType_N42_2012, SaveSpectrumAsType_Chn, SaveSpectrumAsType_SpcBinaryInt, SaveSpectrumAsType_SpcBinaryFloat, & + SaveSpectrumAsType_SpcAscii, SaveSpectrumAsType_ExploraniumGr130v0, SaveSpectrumAsType_ExploraniumGr135v2, & + SaveSpectrumAsType_SpeIaea, SaveSpectrumAsType_Cnf, SaveSpectrumAsType_Tka, SaveSpectrumAsType_NumTypes + ! enum class SpecUtils::DetectorType + enum, bind(c) + enumerator :: DetectorType_Exploranium + enumerator :: DetectorType_IdentiFinder + enumerator :: DetectorType_IdentiFinderNG + enumerator :: DetectorType_IdentiFinderLaBr3 + enumerator :: DetectorType_IdentiFinderTungsten + enumerator :: DetectorType_IdentiFinderR425NaI + enumerator :: DetectorType_IdentiFinderR425LaBr + enumerator :: DetectorType_IdentiFinderR500NaI + enumerator :: DetectorType_IdentiFinderR500LaBr + enumerator :: DetectorType_IdentiFinderUnknown + enumerator :: DetectorType_DetectiveUnknown + enumerator :: DetectorType_DetectiveEx + enumerator :: DetectorType_DetectiveEx100 + enumerator :: DetectorType_DetectiveEx200 + enumerator :: DetectorType_DetectiveX + enumerator :: DetectorType_SAIC8 + enumerator :: DetectorType_Falcon5000 + enumerator :: DetectorType_MicroDetective + enumerator :: DetectorType_MicroRaider + enumerator :: DetectorType_RadiaCode + enumerator :: DetectorType_Interceptor + enumerator :: DetectorType_RadHunterNaI + enumerator :: DetectorType_RadHunterLaBr3 + enumerator :: DetectorType_Rsi701 + enumerator :: DetectorType_Rsi705 + enumerator :: DetectorType_AvidRsi + enumerator :: DetectorType_OrtecRadEagleNai + enumerator :: DetectorType_OrtecRadEagleCeBr2Inch + enumerator :: DetectorType_OrtecRadEagleCeBr3Inch + enumerator :: DetectorType_OrtecRadEagleLaBr + enumerator :: DetectorType_Sam940LaBr3 + enumerator :: DetectorType_Sam940 + enumerator :: DetectorType_Sam945 + enumerator :: DetectorType_Srpm210 + enumerator :: DetectorType_RIIDEyeNaI + enumerator :: DetectorType_RIIDEyeLaBr + enumerator :: DetectorType_RadSeekerNaI + enumerator :: DetectorType_RadSeekerLaBr + enumerator :: DetectorType_VerifinderNaI + enumerator :: DetectorType_VerifinderLaBr + enumerator :: DetectorType_KromekD3S + enumerator :: DetectorType_Fulcrum + enumerator :: DetectorType_Fulcrum40h + enumerator :: DetectorType_Sam950 + enumerator :: DetectorType_Unknown + end enum + integer, parameter, public :: DetectorType = kind(DetectorType_Exploranium) + public :: DetectorType_Exploranium, DetectorType_IdentiFinder, DetectorType_IdentiFinderNG, DetectorType_IdentiFinderLaBr3, & + DetectorType_IdentiFinderTungsten, DetectorType_IdentiFinderR425NaI, DetectorType_IdentiFinderR425LaBr, & + DetectorType_IdentiFinderR500NaI, DetectorType_IdentiFinderR500LaBr, DetectorType_IdentiFinderUnknown, & + DetectorType_DetectiveUnknown, DetectorType_DetectiveEx, DetectorType_DetectiveEx100, DetectorType_DetectiveEx200, & + DetectorType_DetectiveX, DetectorType_SAIC8, DetectorType_Falcon5000, DetectorType_MicroDetective, DetectorType_MicroRaider, & + DetectorType_RadiaCode, DetectorType_Interceptor, DetectorType_RadHunterNaI, DetectorType_RadHunterLaBr3, & + DetectorType_Rsi701, DetectorType_Rsi705, DetectorType_AvidRsi, DetectorType_OrtecRadEagleNai, & + DetectorType_OrtecRadEagleCeBr2Inch, DetectorType_OrtecRadEagleCeBr3Inch, DetectorType_OrtecRadEagleLaBr, & + DetectorType_Sam940LaBr3, DetectorType_Sam940, DetectorType_Sam945, DetectorType_Srpm210, DetectorType_RIIDEyeNaI, & + DetectorType_RIIDEyeLaBr, DetectorType_RadSeekerNaI, DetectorType_RadSeekerLaBr, DetectorType_VerifinderNaI, & + DetectorType_VerifinderLaBr, DetectorType_KromekD3S, DetectorType_Fulcrum, DetectorType_Fulcrum40h, DetectorType_Sam950, & + DetectorType_Unknown + ! enum class SpecUtils::OccupancyStatus + enum, bind(c) + enumerator :: OccupancyStatus_NotOccupied + enumerator :: OccupancyStatus_Occupied + enumerator :: OccupancyStatus_Unknown + end enum + integer, parameter, public :: OccupancyStatus = kind(OccupancyStatus_NotOccupied) + public :: OccupancyStatus_NotOccupied, OccupancyStatus_Occupied, OccupancyStatus_Unknown + ! enum class SpecUtils::SourceType + enum, bind(c) + enumerator :: SourceType_IntrinsicActivity + enumerator :: SourceType_Calibration + enumerator :: SourceType_Background + enumerator :: SourceType_Foreground + enumerator :: SourceType_Unknown + end enum + integer, parameter, public :: SourceType = kind(SourceType_IntrinsicActivity) + public :: SourceType_IntrinsicActivity, SourceType_Calibration, SourceType_Background, SourceType_Foreground, & + SourceType_Unknown + ! enum class SpecUtils::QualityStatus + enum, bind(c) + enumerator :: QualityStatus_Good + enumerator :: QualityStatus_Suspect + enumerator :: QualityStatus_Bad + enumerator :: QualityStatus_Missing + end enum + integer, parameter, public :: QualityStatus = kind(QualityStatus_Good) + public :: QualityStatus_Good, QualityStatus_Suspect, QualityStatus_Bad, QualityStatus_Missing + ! enum class SpecUtils::SpectrumType + enum, bind(c) + enumerator :: SpectrumType_Foreground + enumerator :: SpectrumType_SecondForeground + enumerator :: SpectrumType_Background + end enum + integer, parameter, public :: SpectrumType = kind(SpectrumType_Foreground) + public :: SpectrumType_Foreground, SpectrumType_SecondForeground, SpectrumType_Background + type, bind(C) :: SwigArrayWrapper + type(C_PTR), public :: data = C_NULL_PTR + integer(C_SIZE_T), public :: size = 0 + end type + public :: spectrumTypeFromDescription + public :: suggestedNameEnding + public :: convert_n42_utf16_xml_to_utf8 + type, public :: SWIGTYPE_p_std__mutex + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_rapidxml__xml_nodeT_char_t + type(SwigClassWrapper), public :: swigdata + end type + public :: add_analysis_results_to_2012_N42 + public :: set_analysis_info_from_n42 + public :: gamma_integral + public :: detectorTypeToString + type, public :: SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__string_t + type(SwigClassWrapper), public :: swigdata + end type +integer, parameter, public :: SWIGTYPE_SpecUtils__EnergyCalType = C_INT + type, public :: SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t + type(SwigClassWrapper), public :: swigdata + end type + ! enum class SpecUtils::Measurement::DerivedDataProperties + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_IsDerived") :: Measurement_DerivedDataProperties_IsDerived + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_ItemOfInterestSum") :: Measurement_DerivedDataProperties_ItemOfInterestSum + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_UsedForAnalysis") :: Measurement_DerivedDataProperties_UsedForAnalysis + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_ProcessedFurther") :: Measurement_DerivedDataProperties_ProcessedFurther + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_BackgroundSubtracted") :: Measurement_DerivedDataProperties_BackgroundSubtracted + integer(C_INT), protected, public, & + bind(C, name="_wrap_Measurement_DerivedDataProperties_IsBackground") :: Measurement_DerivedDataProperties_IsBackground + integer, parameter, public :: Measurement_DerivedDataProperties = C_INT + type, public :: SWIGTYPE_p_uint32_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__ostream + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t + type(SwigClassWrapper), public :: swigdata + end type + ! class SpecUtils::Measurement + type, public :: Measurement + type(SwigClassWrapper), public :: swigdata + contains + procedure :: release => swigf_Measurement_release + procedure :: memmorysize => swigf_Measurement_memmorysize + procedure :: live_time => swigf_Measurement_live_time + procedure :: set_live_time => swigf_Measurement_set_live_time + procedure :: real_time => swigf_Measurement_real_time + procedure :: set_real_time => swigf_Measurement_set_real_time + procedure :: contained_neutron => swigf_Measurement_contained_neutron + procedure :: sample_number => swigf_Measurement_sample_number + procedure :: title => swigf_Measurement_title + procedure :: occupied => swigf_Measurement_occupied + procedure :: gamma_count_sum => swigf_Measurement_gamma_count_sum + procedure :: neutron_live_time => swigf_Measurement_neutron_live_time + procedure :: neutron_counts_sum => swigf_Measurement_neutron_counts_sum + procedure :: speed => swigf_Measurement_speed + procedure :: dx => swigf_Measurement_dx + procedure :: dy => swigf_Measurement_dy + procedure :: latitude => swigf_Measurement_latitude + procedure :: longitude => swigf_Measurement_longitude + procedure :: has_gps_info => swigf_Measurement_has_gps_info + procedure :: dose_rate => swigf_Measurement_dose_rate + procedure :: exposure_rate => swigf_Measurement_exposure_rate + procedure :: pcf_tag => swigf_Measurement_pcf_tag + procedure :: source_description => swigf_Measurement_source_description + procedure :: measurement_description => swigf_Measurement_measurement_description + procedure :: position_time => swigf_Measurement_position_time + procedure :: detector_name => swigf_Measurement_detector_name + procedure :: detector_number => swigf_Measurement_detector_number + procedure :: detector_type => swigf_Measurement_detector_type + procedure :: quality_status => swigf_Measurement_quality_status + procedure :: source_type => swigf_Measurement_source_type + procedure :: remarks => swigf_Measurement_remarks + procedure :: mutable_remarks => swigf_Measurement_mutable_remarks + procedure :: parse_warnings => swigf_Measurement_parse_warnings + procedure :: start_time => swigf_Measurement_start_time + procedure :: start_time_copy => swigf_Measurement_start_time_copy + procedure :: energy_calibration_model => swigf_Measurement_energy_calibration_model + procedure :: calibration_coeffs => swigf_Measurement_calibration_coeffs + procedure :: deviation_pairs => swigf_Measurement_deviation_pairs + procedure :: energy_calibration => swigf_Measurement_energy_calibration + procedure :: channel_energies => swigf_Measurement_channel_energies + procedure :: gamma_counts => swigf_Measurement_gamma_counts + procedure :: neutron_counts => swigf_Measurement_neutron_counts + procedure :: location_state => swigf_Measurement_location_state + procedure :: set_title => swigf_Measurement_set_title + procedure :: set_start_time => swigf_Measurement_set_start_time + procedure :: set_remarks => swigf_Measurement_set_remarks + procedure :: set_parse_warnings => swigf_Measurement_set_parse_warnings + procedure :: set_source_type => swigf_Measurement_set_source_type + procedure :: set_position => swigf_Measurement_set_position + procedure :: set_sample_number => swigf_Measurement_set_sample_number + procedure :: set_occupancy_status => swigf_Measurement_set_occupancy_status + procedure :: set_detector_name => swigf_Measurement_set_detector_name + procedure :: set_detector_number => swigf_Measurement_set_detector_number + procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_0 + procedure, private :: swigf_Measurement_set_neutron_counts__SWIG_1 + procedure :: set_pcf_tag => swigf_Measurement_set_pcf_tag + procedure :: set_source_description => swigf_Measurement_set_source_description + procedure :: set_measurement_description => swigf_Measurement_set_measurement_description + procedure :: num_gamma_channels => swigf_Measurement_num_gamma_channels + procedure :: find_gamma_channel => swigf_Measurement_find_gamma_channel + procedure :: gamma_channel_content => swigf_Measurement_gamma_channel_content + procedure :: gamma_channel_lower => swigf_Measurement_gamma_channel_lower + procedure :: gamma_channel_center => swigf_Measurement_gamma_channel_center + procedure :: gamma_channel_upper => swigf_Measurement_gamma_channel_upper + procedure :: gamma_channel_width => swigf_Measurement_gamma_channel_width + procedure :: gamma_integral => swigf_Measurement_gamma_integral + procedure :: gamma_channels_sum => swigf_Measurement_gamma_channels_sum + procedure :: gamma_channel_energies => swigf_Measurement_gamma_channel_energies + procedure :: gamma_channel_contents => swigf_Measurement_gamma_channel_contents + procedure :: gamma_energy_min => swigf_Measurement_gamma_energy_min + procedure :: gamma_energy_max => swigf_Measurement_gamma_energy_max + procedure :: derived_data_properties => swigf_Measurement_derived_data_properties + procedure :: rpm_panel_number => swigf_Measurement_rpm_panel_number + procedure :: rpm_column_number => swigf_Measurement_rpm_column_number + procedure :: rpm_mca_number => swigf_Measurement_rpm_mca_number + procedure :: write_2006_N42_xml => swigf_Measurement_write_2006_N42_xml + procedure :: write_csv => swigf_Measurement_write_csv + procedure :: write_txt => swigf_Measurement_write_txt + procedure :: reset => swigf_Measurement_reset + procedure :: rebin => swigf_Measurement_rebin + procedure :: set_energy_calibration => swigf_Measurement_set_energy_calibration + procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node + procedure :: gamma_count_at => swigf_Measurement_gamma_count_at + procedure :: get_num_channels => swigf_Measurement_get_num_channels + procedure :: get_start_time_string => swigf_Measurement_get_start_time_string + procedure :: set_start_time_from_string => swigf_Measurement_set_start_time_from_string + procedure :: set_neutron_count => swigf_Measurement_set_neutron_count + procedure :: get_neutron_count => swigf_Measurement_get_neutron_count + procedure :: set_spectrum => swigf_Measurement_set_spectrum + procedure :: get_spectrum => swigf_Measurement_get_spectrum + procedure, private :: swigf_Measurement_op_assign__ + generic :: assignment(=) => swigf_Measurement_op_assign__ + generic :: set_neutron_counts => swigf_Measurement_set_neutron_counts__SWIG_0, swigf_Measurement_set_neutron_counts__SWIG_1 + end type Measurement + type, public :: SWIGTYPE_p_std__vectorT_int_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2 + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7 + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ + type(SwigClassWrapper), public :: swigdata + end type + ! enum class SpecUtils::SpecFile::DerivedVariantToKeep + enum, bind(c) + enumerator :: SpecFile_DerivedVariantToKeep_NonDerived + enumerator :: SpecFile_DerivedVariantToKeep_Derived + end enum + integer, parameter, public :: SpecFile_DerivedVariantToKeep = kind(SpecFile_DerivedVariantToKeep_NonDerived) + public :: SpecFile_DerivedVariantToKeep_NonDerived, SpecFile_DerivedVariantToKeep_Derived + type, public :: SWIGTYPE_p_std__istream + type(SwigClassWrapper), public :: swigdata + end type + ! enum SpecUtils::SpecFile::CleanupAfterLoadFlags + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_RebinToCommonBinning") :: SpecFile_RebinToCommonBinning + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_DontChangeOrReorderSamples") :: SpecFile_DontChangeOrReorderSamples + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_ReorderSamplesByTime") :: SpecFile_ReorderSamplesByTime + integer(C_INT), protected, public, & + bind(C, name="_wrap_SpecFile_StandardCleanup") :: SpecFile_StandardCleanup + integer, parameter, public :: SpecFile_CleanupAfterLoadFlags = C_INT + ! enum SpecUtils::SpecFile::SpcBinaryType + enum, bind(c) + enumerator :: SpecFile_IntegerSpcType + enumerator :: SpecFile_FloatSpcType + end enum + integer, parameter, public :: SpecFile_SpcBinaryType = kind(SpecFile_IntegerSpcType) + public :: SpecFile_IntegerSpcType, SpecFile_FloatSpcType + public :: get_SpecFile_2012N42_VERSION + type, public :: SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__recursive_mutex + type(SwigClassWrapper), public :: swigdata + end type + ! class SpecUtils::SpecFile + type, public :: SpecFile + type(SwigClassWrapper), public :: swigdata + contains + procedure :: release => swigf_SpecFile_release + procedure, private :: swigf_SpecFile_load_file__SWIG_0 + procedure, private :: swigf_SpecFile_load_file__SWIG_1 + procedure :: parse_warnings => swigf_SpecFile_parse_warnings + procedure :: modified => swigf_SpecFile_modified + procedure :: reset_modified => swigf_SpecFile_reset_modified + procedure :: modified_since_decode => swigf_SpecFile_modified_since_decode + procedure :: reset_modified_since_decode => swigf_SpecFile_reset_modified_since_decode + procedure :: gamma_live_time => swigf_SpecFile_gamma_live_time + procedure :: gamma_real_time => swigf_SpecFile_gamma_real_time + procedure :: gamma_count_sum => swigf_SpecFile_gamma_count_sum + procedure :: neutron_counts_sum => swigf_SpecFile_neutron_counts_sum + procedure :: filename => swigf_SpecFile_filename + procedure :: detector_names => swigf_SpecFile_detector_names + procedure :: detector_numbers => swigf_SpecFile_detector_numbers + procedure :: gamma_detector_names => swigf_SpecFile_gamma_detector_names + procedure :: neutron_detector_names => swigf_SpecFile_neutron_detector_names + procedure :: uuid => swigf_SpecFile_uuid + procedure :: remarks => swigf_SpecFile_remarks + procedure :: lane_number => swigf_SpecFile_lane_number + procedure :: measurement_location_name => swigf_SpecFile_measurement_location_name + procedure :: inspection => swigf_SpecFile_inspection + procedure :: measurement_operator => swigf_SpecFile_measurement_operator + procedure :: sample_numbers => swigf_SpecFile_sample_numbers + procedure :: num_measurements => swigf_SpecFile_num_measurements + procedure :: detector_type => swigf_SpecFile_detector_type + procedure :: instrument_type => swigf_SpecFile_instrument_type + procedure :: manufacturer => swigf_SpecFile_manufacturer + procedure :: instrument_model => swigf_SpecFile_instrument_model + procedure :: instrument_id => swigf_SpecFile_instrument_id + procedure :: measurements => swigf_SpecFile_measurements + procedure, private :: swigf_SpecFile_measurement__SWIG_0 + procedure :: detectors_analysis => swigf_SpecFile_detectors_analysis + procedure :: multimedia_data => swigf_SpecFile_multimedia_data + procedure :: has_gps_info => swigf_SpecFile_has_gps_info + procedure :: mean_latitude => swigf_SpecFile_mean_latitude + procedure :: mean_longitude => swigf_SpecFile_mean_longitude + procedure :: passthrough => swigf_SpecFile_passthrough + procedure :: contains_derived_data => swigf_SpecFile_contains_derived_data + procedure :: contains_non_derived_data => swigf_SpecFile_contains_non_derived_data + procedure :: set_filename => swigf_SpecFile_set_filename + procedure, private :: swigf_SpecFile_set_remarks__SWIG_0 + procedure :: add_remark => swigf_SpecFile_add_remark + procedure :: set_parse_warnings => swigf_SpecFile_set_parse_warnings + procedure :: set_uuid => swigf_SpecFile_set_uuid + procedure :: set_lane_number => swigf_SpecFile_set_lane_number + procedure :: set_measurement_location_name => swigf_SpecFile_set_measurement_location_name + procedure :: set_inspection => swigf_SpecFile_set_inspection + procedure :: set_instrument_type => swigf_SpecFile_set_instrument_type + procedure :: set_detector_type => swigf_SpecFile_set_detector_type + procedure :: set_manufacturer => swigf_SpecFile_set_manufacturer + procedure :: set_instrument_model => swigf_SpecFile_set_instrument_model + procedure :: set_instrument_id => swigf_SpecFile_set_instrument_id + procedure :: set_live_time => swigf_SpecFile_set_live_time + procedure :: set_real_time => swigf_SpecFile_set_real_time + procedure :: set_start_time => swigf_SpecFile_set_start_time + procedure, private :: swigf_SpecFile_set_remarks__SWIG_1 + procedure :: set_source_type => swigf_SpecFile_set_source_type + procedure :: set_position => swigf_SpecFile_set_position + procedure :: set_title => swigf_SpecFile_set_title + procedure :: set_contained_neutrons => swigf_SpecFile_set_contained_neutrons + procedure :: set_detectors_analysis => swigf_SpecFile_set_detectors_analysis + procedure :: change_detector_name => swigf_SpecFile_change_detector_name + procedure :: change_sample_numbers => swigf_SpecFile_change_sample_numbers + procedure, private :: swigf_SpecFile_add_measurement__SWIG_0 + procedure, private :: swigf_SpecFile_add_measurement__SWIG_1 + procedure :: remove_measurement => swigf_SpecFile_remove_measurement + procedure :: remove_measurements => swigf_SpecFile_remove_measurements + procedure :: clear_multimedia_data => swigf_SpecFile_clear_multimedia_data + procedure :: add_multimedia_data => swigf_SpecFile_add_multimedia_data + procedure :: set_multimedia_data => swigf_SpecFile_set_multimedia_data + procedure :: occupancy_number_from_remarks => swigf_SpecFile_occupancy_number_from_remarks + procedure :: sample_measurements => swigf_SpecFile_sample_measurements + procedure, private :: swigf_SpecFile_measurement__SWIG_1 + procedure, private :: swigf_SpecFile_measurement__SWIG_2 + procedure :: suggested_sum_energy_calibration => swigf_SpecFile_suggested_sum_energy_calibration + procedure :: sum_measurements => swigf_SpecFile_sum_measurements + procedure :: memmorysize => swigf_SpecFile_memmorysize + procedure :: gamma_channel_counts => swigf_SpecFile_gamma_channel_counts + procedure :: num_gamma_channels => swigf_SpecFile_num_gamma_channels + procedure :: keep_n_bin_spectra_only => swigf_SpecFile_keep_n_bin_spectra_only + procedure :: contained_neutron => swigf_SpecFile_contained_neutron + procedure :: energy_cal_variants => swigf_SpecFile_energy_cal_variants + procedure :: keep_energy_cal_variants => swigf_SpecFile_keep_energy_cal_variants + procedure :: keep_derived_data_variant => swigf_SpecFile_keep_derived_data_variant + procedure :: remove_detectors_data => swigf_SpecFile_remove_detectors_data + procedure :: remove_neutron_measurements => swigf_SpecFile_remove_neutron_measurements + procedure :: background_sample_number => swigf_SpecFile_background_sample_number + procedure :: generate_psuedo_uuid => swigf_SpecFile_generate_psuedo_uuid + procedure :: reset => swigf_SpecFile_reset + procedure :: load_N42_file => swigf_SpecFile_load_N42_file + procedure :: load_pcf_file => swigf_SpecFile_load_pcf_file + procedure :: load_spc_file => swigf_SpecFile_load_spc_file + procedure :: load_chn_file => swigf_SpecFile_load_chn_file + procedure :: load_iaea_file => swigf_SpecFile_load_iaea_file + procedure :: load_binary_exploranium_file => swigf_SpecFile_load_binary_exploranium_file + procedure :: load_micro_raider_file => swigf_SpecFile_load_micro_raider_file + procedure :: load_txt_or_csv_file => swigf_SpecFile_load_txt_or_csv_file + procedure :: load_cnf_file => swigf_SpecFile_load_cnf_file + procedure :: load_tracs_mps_file => swigf_SpecFile_load_tracs_mps_file + procedure :: load_aram_file => swigf_SpecFile_load_aram_file + procedure :: load_spectroscopic_daily_file => swigf_SpecFile_load_spectroscopic_daily_file + procedure :: load_amptek_file => swigf_SpecFile_load_amptek_file + procedure :: load_ortec_listmode_file => swigf_SpecFile_load_ortec_listmode_file + procedure :: load_lsrm_spe_file => swigf_SpecFile_load_lsrm_spe_file + procedure :: load_tka_file => swigf_SpecFile_load_tka_file + procedure :: load_multiact_file => swigf_SpecFile_load_multiact_file + procedure :: load_phd_file => swigf_SpecFile_load_phd_file + procedure :: load_lzs_file => swigf_SpecFile_load_lzs_file + procedure :: load_radiacode_file => swigf_SpecFile_load_radiacode_file + procedure :: load_xml_scan_data_file => swigf_SpecFile_load_xml_scan_data_file + procedure :: load_json_file => swigf_SpecFile_load_json_file + procedure :: load_caen_gxml_file => swigf_SpecFile_load_caen_gxml_file + procedure :: load_from_N42 => swigf_SpecFile_load_from_N42 + procedure, private :: swigf_SpecFile_load_N42_from_data__SWIG_0 + procedure, private :: swigf_SpecFile_load_N42_from_data__SWIG_1 + procedure :: load_from_iaea_spc => swigf_SpecFile_load_from_iaea_spc + procedure :: load_from_binary_spc => swigf_SpecFile_load_from_binary_spc + procedure :: load_from_N42_document => swigf_SpecFile_load_from_N42_document + procedure :: load_from_micro_raider_from_data => swigf_SpecFile_load_from_micro_raider_from_data + procedure :: load_from_binary_exploranium => swigf_SpecFile_load_from_binary_exploranium + procedure :: load_from_pcf => swigf_SpecFile_load_from_pcf + procedure :: load_from_txt_or_csv => swigf_SpecFile_load_from_txt_or_csv + procedure :: load_from_Gr135_txt => swigf_SpecFile_load_from_Gr135_txt + procedure :: load_from_spectroscopic_daily_file => swigf_SpecFile_load_from_spectroscopic_daily_file + procedure :: load_from_srpm210_csv => swigf_SpecFile_load_from_srpm210_csv + procedure :: load_from_D3S_raw => swigf_SpecFile_load_from_D3S_raw + procedure :: load_from_amptek_mca => swigf_SpecFile_load_from_amptek_mca + procedure :: load_from_ortec_listmode => swigf_SpecFile_load_from_ortec_listmode + procedure :: load_from_lsrm_spe => swigf_SpecFile_load_from_lsrm_spe + procedure :: load_from_tka => swigf_SpecFile_load_from_tka + procedure :: load_from_multiact => swigf_SpecFile_load_from_multiact + procedure :: load_from_phd => swigf_SpecFile_load_from_phd + procedure :: load_from_lzs => swigf_SpecFile_load_from_lzs + procedure :: load_from_radiacode => swigf_SpecFile_load_from_radiacode + procedure :: load_from_radiacode_spectrogram => swigf_SpecFile_load_from_radiacode_spectrogram + procedure :: load_from_xml_scan_data => swigf_SpecFile_load_from_xml_scan_data + procedure :: load_from_iaea => swigf_SpecFile_load_from_iaea + procedure :: load_from_chn => swigf_SpecFile_load_from_chn + procedure :: load_from_cnf => swigf_SpecFile_load_from_cnf + procedure :: load_from_tracs_mps => swigf_SpecFile_load_from_tracs_mps + procedure :: load_from_aram => swigf_SpecFile_load_from_aram + procedure :: load_from_json => swigf_SpecFile_load_from_json + procedure :: load_from_caen_gxml => swigf_SpecFile_load_from_caen_gxml + procedure, private :: swigf_SpecFile_cleanup_after_load__SWIG_0 + procedure, private :: swigf_SpecFile_cleanup_after_load__SWIG_1 + procedure :: recalc_total_counts => swigf_SpecFile_recalc_total_counts + procedure :: merge_neutron_meas_into_gamma_meas => swigf_SpecFile_merge_neutron_meas_into_gamma_meas + procedure :: rebin_measurement => swigf_SpecFile_rebin_measurement + procedure :: rebin_all_measurements => swigf_SpecFile_rebin_all_measurements + procedure :: set_energy_calibration_from_CALp_file => swigf_SpecFile_set_energy_calibration_from_CALp_file + procedure :: detector_names_to_numbers => swigf_SpecFile_detector_names_to_numbers + procedure, private :: swigf_SpecFile_write_to_file__SWIG_0 + procedure, private :: swigf_SpecFile_write_to_file__SWIG_1 + procedure, private :: swigf_SpecFile_write_to_file__SWIG_2 + procedure, private :: swigf_SpecFile_write_to_file__SWIG_3 + procedure, private :: swigf_SpecFile_write__SWIG_0 + procedure, private :: swigf_SpecFile_write__SWIG_1 + procedure :: write_pcf => swigf_SpecFile_write_pcf + procedure :: write_2006_N42 => swigf_SpecFile_write_2006_N42 + procedure :: write_csv => swigf_SpecFile_write_csv + procedure :: write_txt => swigf_SpecFile_write_txt + procedure, private :: swigf_SpecFile_write_integer_chn__SWIG_0 + procedure, private :: swigf_SpecFile_write_integer_chn__SWIG_1 + procedure :: write_binary_spc => swigf_SpecFile_write_binary_spc + procedure :: write_ascii_spc => swigf_SpecFile_write_ascii_spc + procedure :: write_binary_exploranium_gr130v0 => swigf_SpecFile_write_binary_exploranium_gr130v0 + procedure :: write_binary_exploranium_gr135v2 => swigf_SpecFile_write_binary_exploranium_gr135v2 + procedure :: write_iaea_spe => swigf_SpecFile_write_iaea_spe + procedure :: write_cnf => swigf_SpecFile_write_cnf + procedure :: write_tka => swigf_SpecFile_write_tka + procedure :: create_2012_N42_xml => swigf_SpecFile_create_2012_N42_xml + procedure :: write_2012_N42 => swigf_SpecFile_write_2012_N42 + procedure :: mutex => swigf_SpecFile_mutex + procedure :: measurement_at => swigf_SpecFile_measurement_at + procedure :: get_max_channel_count => swigf_SpecFile_get_max_channel_count + procedure, private :: swigf_SpecFile_op_assign__ + generic :: measurement => swigf_SpecFile_measurement__SWIG_0, swigf_SpecFile_measurement__SWIG_1, & + swigf_SpecFile_measurement__SWIG_2 + generic :: write => swigf_SpecFile_write__SWIG_0, swigf_SpecFile_write__SWIG_1 + generic :: write_integer_chn => swigf_SpecFile_write_integer_chn__SWIG_0, swigf_SpecFile_write_integer_chn__SWIG_1 + generic :: cleanup_after_load => swigf_SpecFile_cleanup_after_load__SWIG_0, swigf_SpecFile_cleanup_after_load__SWIG_1 + generic :: add_measurement => swigf_SpecFile_add_measurement__SWIG_0, swigf_SpecFile_add_measurement__SWIG_1 + generic :: assignment(=) => swigf_SpecFile_op_assign__ + generic :: set_remarks => swigf_SpecFile_set_remarks__SWIG_0, swigf_SpecFile_set_remarks__SWIG_1 + generic :: load_N42_from_data => swigf_SpecFile_load_N42_from_data__SWIG_0, swigf_SpecFile_load_N42_from_data__SWIG_1 + generic :: load_file => swigf_SpecFile_load_file__SWIG_0, swigf_SpecFile_load_file__SWIG_1 + generic :: write_to_file => swigf_SpecFile_write_to_file__SWIG_0, swigf_SpecFile_write_to_file__SWIG_1, & + swigf_SpecFile_write_to_file__SWIG_2, swigf_SpecFile_write_to_file__SWIG_3 + end type SpecFile + ! class SpecUtils::DetectorAnalysisResult + type, public :: DetectorAnalysisResult + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_remark_ => swigf_DetectorAnalysisResult_remark__set + procedure :: get_remark_ => swigf_DetectorAnalysisResult_remark__get + procedure :: set_nuclide_ => swigf_DetectorAnalysisResult_nuclide__set + procedure :: get_nuclide_ => swigf_DetectorAnalysisResult_nuclide__get + procedure :: set_activity_ => swigf_DetectorAnalysisResult_activity__set + procedure :: get_activity_ => swigf_DetectorAnalysisResult_activity__get + procedure :: set_nuclide_type_ => swigf_DetectorAnalysisResult_nuclide_type__set + procedure :: get_nuclide_type_ => swigf_DetectorAnalysisResult_nuclide_type__get + procedure :: set_id_confidence_ => swigf_DetectorAnalysisResult_id_confidence__set + procedure :: get_id_confidence_ => swigf_DetectorAnalysisResult_id_confidence__get + procedure :: set_distance_ => swigf_DetectorAnalysisResult_distance__set + procedure :: get_distance_ => swigf_DetectorAnalysisResult_distance__get + procedure :: set_dose_rate_ => swigf_DetectorAnalysisResult_dose_rate__set + procedure :: get_dose_rate_ => swigf_DetectorAnalysisResult_dose_rate__get + procedure :: set_real_time_ => swigf_DetectorAnalysisResult_real_time__set + procedure :: get_real_time_ => swigf_DetectorAnalysisResult_real_time__get + procedure :: set_detector_ => swigf_DetectorAnalysisResult_detector__set + procedure :: get_detector_ => swigf_DetectorAnalysisResult_detector__get + procedure :: reset => swigf_DetectorAnalysisResult_reset + procedure :: isEmpty => swigf_DetectorAnalysisResult_isEmpty + procedure :: release => swigf_DetectorAnalysisResult_release + procedure, private :: swigf_DetectorAnalysisResult_op_assign__ + generic :: assignment(=) => swigf_DetectorAnalysisResult_op_assign__ + end type DetectorAnalysisResult + type, public :: SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t + type(SwigClassWrapper), public :: swigdata + end type + type, public :: SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t + type(SwigClassWrapper), public :: swigdata + end type + ! class SpecUtils::DetectorAnalysis + type, public :: DetectorAnalysis + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_remarks_ => swigf_DetectorAnalysis_remarks__set + procedure :: get_remarks_ => swigf_DetectorAnalysis_remarks__get + procedure :: set_algorithm_name_ => swigf_DetectorAnalysis_algorithm_name__set + procedure :: get_algorithm_name_ => swigf_DetectorAnalysis_algorithm_name__get + procedure :: set_algorithm_component_versions_ => swigf_DetectorAnalysis_algorithm_component_versions__set + procedure :: get_algorithm_component_versions_ => swigf_DetectorAnalysis_algorithm_component_versions__get + procedure :: set_algorithm_creator_ => swigf_DetectorAnalysis_algorithm_creator__set + procedure :: get_algorithm_creator_ => swigf_DetectorAnalysis_algorithm_creator__get + procedure :: set_algorithm_description_ => swigf_DetectorAnalysis_algorithm_description__set + procedure :: get_algorithm_description_ => swigf_DetectorAnalysis_algorithm_description__get + procedure :: set_analysis_start_time_ => swigf_DetectorAnalysis_analysis_start_time__set + procedure :: get_analysis_start_time_ => swigf_DetectorAnalysis_analysis_start_time__get + procedure :: set_analysis_computation_duration_ => swigf_DetectorAnalysis_analysis_computation_duration__set + procedure :: get_analysis_computation_duration_ => swigf_DetectorAnalysis_analysis_computation_duration__get + procedure :: set_algorithm_result_description_ => swigf_DetectorAnalysis_algorithm_result_description__set + procedure :: get_algorithm_result_description_ => swigf_DetectorAnalysis_algorithm_result_description__get + procedure :: set_results_ => swigf_DetectorAnalysis_results__set + procedure :: get_results_ => swigf_DetectorAnalysis_results__get + procedure :: reset => swigf_DetectorAnalysis_reset + procedure :: is_empty => swigf_DetectorAnalysis_is_empty + procedure :: release => swigf_DetectorAnalysis_release + procedure, private :: swigf_DetectorAnalysis_op_assign__ + generic :: assignment(=) => swigf_DetectorAnalysis_op_assign__ + end type DetectorAnalysis + type, public :: SWIGTYPE_p_std__vectorT_char_t + type(SwigClassWrapper), public :: swigdata + end type + ! enum class SpecUtils::MultimediaData::EncodingType + enum, bind(c) + enumerator :: MultimediaData_EncodingType_BinaryUTF8 + enumerator :: MultimediaData_EncodingType_BinaryHex + enumerator :: MultimediaData_EncodingType_BinaryBase64 + end enum + integer, parameter, public :: MultimediaData_EncodingType = kind(MultimediaData_EncodingType_BinaryUTF8) + public :: MultimediaData_EncodingType_BinaryUTF8, MultimediaData_EncodingType_BinaryHex, & + MultimediaData_EncodingType_BinaryBase64 + ! struct SpecUtils::MultimediaData + type, public :: MultimediaData + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_remark_ => swigf_MultimediaData_remark__set + procedure :: get_remark_ => swigf_MultimediaData_remark__get + procedure :: set_descriptions_ => swigf_MultimediaData_descriptions__set + procedure :: get_descriptions_ => swigf_MultimediaData_descriptions__get + procedure :: set_data_ => swigf_MultimediaData_data__set + procedure :: get_data_ => swigf_MultimediaData_data__get + procedure :: set_data_encoding_ => swigf_MultimediaData_data_encoding__set + procedure :: get_data_encoding_ => swigf_MultimediaData_data_encoding__get + procedure :: set_capture_start_time_ => swigf_MultimediaData_capture_start_time__set + procedure :: get_capture_start_time_ => swigf_MultimediaData_capture_start_time__get + procedure :: set_file_uri_ => swigf_MultimediaData_file_uri__set + procedure :: get_file_uri_ => swigf_MultimediaData_file_uri__get + procedure :: set_mime_type_ => swigf_MultimediaData_mime_type__set + procedure :: get_mime_type_ => swigf_MultimediaData_mime_type__get + procedure :: release => swigf_MultimediaData_release + procedure, private :: swigf_MultimediaData_op_assign__ + generic :: assignment(=) => swigf_MultimediaData_op_assign__ + end type MultimediaData + public :: pcf_det_name_to_dev_pair_index + ! struct std::pair< float,float > + type, public :: DevPair + type(SwigClassWrapper), public :: swigdata + contains + procedure :: set_first => swigf_DevPair_first_set + procedure :: get_first => swigf_DevPair_first_get + procedure :: set_second => swigf_DevPair_second_set + procedure :: get_second => swigf_DevPair_second_get + procedure :: release => swigf_DevPair_release + procedure, private :: swigf_DevPair_op_assign__ + generic :: assignment(=) => swigf_DevPair_op_assign__ + end type DevPair + ! class std::vector< std::pair< float,float > > + type, public :: DeviationPairs + type(SwigClassWrapper), public :: swigdata + contains + procedure :: size => swigf_DeviationPairs_size + procedure :: capacity => swigf_DeviationPairs_capacity + procedure :: empty => swigf_DeviationPairs_empty + procedure :: front => swigf_DeviationPairs_front + procedure :: back => swigf_DeviationPairs_back + procedure :: reserve => swigf_DeviationPairs_reserve + procedure, private :: swigf_DeviationPairs_resize__SWIG_0 + procedure, private :: swigf_DeviationPairs_resize__SWIG_1 + procedure :: push_back => swigf_DeviationPairs_push_back + procedure :: pop_back => swigf_DeviationPairs_pop_back + procedure :: clear => swigf_DeviationPairs_clear + procedure :: set => swigf_DeviationPairs_set + procedure :: get => swigf_DeviationPairs_get + procedure :: insert => swigf_DeviationPairs_insert + procedure, private :: swigf_DeviationPairs_erase__SWIG_0 + procedure, private :: swigf_DeviationPairs_erase__SWIG_1 + procedure :: front_ref => swigf_DeviationPairs_front_ref + procedure :: back_ref => swigf_DeviationPairs_back_ref + procedure :: get_ref => swigf_DeviationPairs_get_ref + procedure :: release => swigf_DeviationPairs_release + procedure, private :: swigf_DeviationPairs_op_assign__ + generic :: resize => swigf_DeviationPairs_resize__SWIG_0, swigf_DeviationPairs_resize__SWIG_1 + generic :: assignment(=) => swigf_DeviationPairs_op_assign__ + generic :: erase => swigf_DeviationPairs_erase__SWIG_0, swigf_DeviationPairs_erase__SWIG_1 + end type DeviationPairs + ! enum class SpecUtils::EnergyCalType + enum, bind(c) + enumerator :: EnergyCalType_Polynomial + enumerator :: EnergyCalType_FullRangeFraction + enumerator :: EnergyCalType_LowerChannelEdge + enumerator :: EnergyCalType_UnspecifiedUsingDefaultPolynomial + enumerator :: EnergyCalType_InvalidEquationType + end enum + integer, parameter, public :: EnergyCalType = kind(EnergyCalType_Polynomial) + public :: EnergyCalType_Polynomial, EnergyCalType_FullRangeFraction, EnergyCalType_LowerChannelEdge, & + EnergyCalType_UnspecifiedUsingDefaultPolynomial, EnergyCalType_InvalidEquationType + ! struct SpecUtils::EnergyCalibration + type, public :: EnergyCalibration + type(SwigClassWrapper), public :: swigdata + contains + procedure :: type => swigf_EnergyCalibration_type + procedure :: valid => swigf_EnergyCalibration_valid + procedure :: coefficients => swigf_EnergyCalibration_coefficients + procedure :: deviation_pairs => swigf_EnergyCalibration_deviation_pairs + procedure :: channel_energies => swigf_EnergyCalibration_channel_energies + procedure :: num_channels => swigf_EnergyCalibration_num_channels + procedure :: set_polynomial => swigf_EnergyCalibration_set_polynomial + procedure :: set_default_polynomial => swigf_EnergyCalibration_set_default_polynomial + procedure :: set_full_range_fraction => swigf_EnergyCalibration_set_full_range_fraction + procedure, private :: swigf_EnergyCalibration_op_lt__ + procedure, private :: swigf_EnergyCalibration_op_eq__ + procedure, private :: swigf_EnergyCalibration_op_ne__ + procedure :: memmorysize => swigf_EnergyCalibration_memmorysize + procedure :: channel_for_energy => swigf_EnergyCalibration_channel_for_energy + procedure :: energy_for_channel => swigf_EnergyCalibration_energy_for_channel + procedure :: lower_energy => swigf_EnergyCalibration_lower_energy + procedure :: upper_energy => swigf_EnergyCalibration_upper_energy + procedure, nopass :: get_sm_min_channels => swigf_EnergyCalibration_sm_min_channels_get + procedure, nopass :: get_sm_max_channels => swigf_EnergyCalibration_sm_max_channels_get + procedure, nopass :: get_sm_polynomial_offset_limit => swigf_EnergyCalibration_sm_polynomial_offset_limit_get + procedure :: release => swigf_EnergyCalibration_release + procedure, private :: swigf_EnergyCalibration_op_assign__ + generic :: operator(.lt.) => swigf_EnergyCalibration_op_lt__ + generic :: operator(.ne.) => swigf_EnergyCalibration_op_ne__ + generic :: operator(.eq.) => swigf_EnergyCalibration_op_eq__ + generic :: assignment(=) => swigf_EnergyCalibration_op_assign__ + end type EnergyCalibration + public :: energy_cal_combine_channels + public :: polynomial_binning + public :: fullrangefraction_energy + public :: polynomial_energy + public :: deviation_pair_correction + public :: correction_due_to_dev_pairs + public :: apply_deviation_pair + public :: polynomial_coef_to_fullrangefraction + public :: fullrangefraction_coef_to_polynomial + public :: mid_channel_polynomial_to_fullrangeFraction + public :: calibration_is_valid + public :: polynomial_cal_remove_first_channels + public :: rebin_by_lower_edge + public :: write_CALp_file + public :: remove_file + public :: is_file + public :: rename_file + public :: is_directory + public :: create_directory + public :: can_rw_in_directory + public :: append_path + public :: filename + public :: parent_path + public :: file_extension + public :: file_size + public :: temp_dir + public :: is_absolute_path + public :: get_working_path + public :: temp_file_name + public :: get_sm_recursive_ls_max_depth + public :: get_sm_ls_max_results + public :: SWIGTYPE_f_r_q_const__std__string_p_void__bool + public :: ls_directories_in_directory + public :: fs_relative + public :: lexically_normalize_path + public :: load_file_data + public :: likely_not_spec_file + interface is_candidate_n42_file + module procedure swigf_is_candidate_n42_file__SWIG_0, swigf_is_candidate_n42_file__SWIG_1 + end interface + public :: is_candidate_n42_file + interface DevPair + module procedure swigf_new_DevPair__SWIG_0, swigf_new_DevPair__SWIG_1, swigf_new_DevPair__SWIG_2 + end interface + interface DetectorAnalysisResult + module procedure swigf_new_DetectorAnalysisResult + end interface + interface MeasurementVector + module procedure swigf_new_MeasurementVector__SWIG_0, swigf_new_MeasurementVector__SWIG_1, & + swigf_new_MeasurementVector__SWIG_2, swigf_new_MeasurementVector__SWIG_3 + end interface + interface find_fullrangefraction_channel + module procedure swigf_find_fullrangefraction_channel__SWIG_0, swigf_find_fullrangefraction_channel__SWIG_1 + end interface + public :: find_fullrangefraction_channel + interface FloatVector + module procedure swigf_new_FloatVector__SWIG_0, swigf_new_FloatVector__SWIG_1, swigf_new_FloatVector__SWIG_2, & + swigf_new_FloatVector__SWIG_3 + end interface + interface DetectorAnalysis + module procedure swigf_new_DetectorAnalysis + end interface + interface DeviationPairs + module procedure swigf_new_DeviationPairs__SWIG_0, swigf_new_DeviationPairs__SWIG_1, swigf_new_DeviationPairs__SWIG_2, & + swigf_new_DeviationPairs__SWIG_3 + end interface + interface recursive_ls + module procedure swigf_recursive_ls__SWIG_0, swigf_recursive_ls__SWIG_1, swigf_recursive_ls__SWIG_2 + end interface + public :: recursive_ls + interface ls_files_in_directory + module procedure swigf_ls_files_in_directory__SWIG_0, swigf_ls_files_in_directory__SWIG_1, & + swigf_ls_files_in_directory__SWIG_2 + end interface + public :: ls_files_in_directory + interface EnergyCalibration + module procedure swigf_new_EnergyCalibration + end interface + interface SpecFile + module procedure swigf_new_SpecFile__SWIG_0, swigf_new_SpecFile__SWIG_1 + end interface + interface fullrangefraction_binning + module procedure swigf_fullrangefraction_binning__SWIG_0, swigf_fullrangefraction_binning__SWIG_1 + end interface + public :: fullrangefraction_binning + interface find_polynomial_channel + module procedure swigf_find_polynomial_channel__SWIG_0, swigf_find_polynomial_channel__SWIG_1 + end interface + public :: find_polynomial_channel + interface Measurement + module procedure swigf_new_Measurement + end interface + interface MultimediaData + module procedure swigf_new_MultimediaData + end interface + +! FUNCTION POINTER DECLARATIONS +abstract interface +function SWIGTYPE_f_r_q_const__std__string_p_void__bool(arg0, arg1) & +bind(C) & +result(fresult) +use, intrinsic :: ISO_C_BINDING +type(C_PTR), value :: arg0 +type(C_PTR), intent(in), value :: arg1 +logical(C_BOOL) :: fresult +end function + +end interface + + +! WRAPPER DECLARATIONS +interface +function swigc_new_FloatVector__SWIG_0() & +bind(C, name="_wrap_new_FloatVector__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_FloatVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_FloatVector__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_FloatVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_FloatVector__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_FloatVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_FloatVector__SWIG_3") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_FloatVector_size(farg1) & +bind(C, name="_wrap_FloatVector_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_FloatVector_capacity(farg1) & +bind(C, name="_wrap_FloatVector_capacity") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_FloatVector_empty(farg1) & +bind(C, name="_wrap_FloatVector_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_FloatVector_front(farg1) & +bind(C, name="_wrap_FloatVector_front") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_FloatVector_back(farg1) & +bind(C, name="_wrap_FloatVector_back") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_FloatVector_reserve(farg1, farg2) & +bind(C, name="_wrap_FloatVector_reserve") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_FloatVector_resize__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_resize__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +subroutine swigc_FloatVector_push_back(farg1, farg2) & +bind(C, name="_wrap_FloatVector_push_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_pop_back(farg1) & +bind(C, name="_wrap_FloatVector_pop_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_FloatVector_clear(farg1) & +bind(C, name="_wrap_FloatVector_clear") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_FloatVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +function swigc_FloatVector_get(farg1, farg2) & +bind(C, name="_wrap_FloatVector_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_FloatVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_insert") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +subroutine swigc_FloatVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_FloatVector_erase__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_FloatVector_erase__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +end subroutine + +function swigc_FloatVector_front_ref(farg1) & +bind(C, name="_wrap_FloatVector_front_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_FloatVector_back_ref(farg1) & +bind(C, name="_wrap_FloatVector_back_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(C_PTR) :: fresult +end function + +function swigc_FloatVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_FloatVector_get_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(C_PTR) :: fresult +end function + +subroutine swigc_delete_FloatVector(farg1) & +bind(C, name="_wrap_delete_FloatVector") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_FloatVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_FloatVector_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_new_MeasurementVector__SWIG_0() & +bind(C, name="_wrap_new_MeasurementVector__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_MeasurementVector__SWIG_1(farg1) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_MeasurementVector__SWIG_2(farg1) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_MeasurementVector__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_MeasurementVector__SWIG_3") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_SIZE_T), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_size(farg1) & +bind(C, name="_wrap_MeasurementVector_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_MeasurementVector_capacity(farg1) & +bind(C, name="_wrap_MeasurementVector_capacity") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T) :: fresult +end function + +function swigc_MeasurementVector_empty(farg1) & +bind(C, name="_wrap_MeasurementVector_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_MeasurementVector_front(farg1) & +bind(C, name="_wrap_MeasurementVector_front") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_back(farg1) & +bind(C, name="_wrap_MeasurementVector_back") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MeasurementVector_reserve(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_reserve") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_resize__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_resize__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_MeasurementVector_push_back(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_push_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_pop_back(farg1) & +bind(C, name="_wrap_MeasurementVector_pop_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_MeasurementVector_clear(farg1) & +bind(C, name="_wrap_MeasurementVector_clear") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_MeasurementVector_set(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +function swigc_MeasurementVector_get(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MeasurementVector_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_insert") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_erase__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +end subroutine + +subroutine swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_MeasurementVector_erase__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +integer(C_SIZE_T), intent(in) :: farg3 +end subroutine + +function swigc_MeasurementVector_front_ref(farg1) & +bind(C, name="_wrap_MeasurementVector_front_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_back_ref(farg1) & +bind(C, name="_wrap_MeasurementVector_back_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_MeasurementVector_get_ref(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_get_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_SIZE_T), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_MeasurementVector(farg1) & +bind(C, name="_wrap_delete_MeasurementVector") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_MeasurementVector_op_assign__(farg1, farg2) & +bind(C, name="_wrap_MeasurementVector_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_spectrumTypeFromDescription(farg1) & +bind(C, name="_wrap_spectrumTypeFromDescription") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + + subroutine SWIG_free(cptr) & + bind(C, name="free") + use, intrinsic :: ISO_C_BINDING + type(C_PTR), value :: cptr +end subroutine +function swigc_suggestedNameEnding(farg1) & +bind(C, name="_wrap_suggestedNameEnding") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +integer(C_INT), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_is_candidate_n42_file__SWIG_0(farg1) & +bind(C, name="_wrap_is_candidate_n42_file__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_is_candidate_n42_file__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) & +bind(C, name="_wrap_convert_n42_utf16_xml_to_utf8") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) & +bind(C, name="_wrap_add_analysis_results_to_2012_N42") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_set_analysis_info_from_n42(farg1, farg2) & +bind(C, name="_wrap_set_analysis_info_from_n42") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_gamma_integral(farg1, farg2, farg3) & +bind(C, name="_wrap_gamma_integral") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_detectorTypeToString(farg1) & +bind(C, name="_wrap_detectorTypeToString") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +integer(C_INT), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_new_Measurement() & +bind(C, name="_wrap_new_Measurement") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_Measurement(farg1) & +bind(C, name="_wrap_delete_Measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +function swigc_Measurement_memmorysize(farg1) & +bind(C, name="_wrap_Measurement_memmorysize") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_live_time(farg1) & +bind(C, name="_wrap_Measurement_live_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_Measurement_set_live_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_live_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_Measurement_real_time(farg1) & +bind(C, name="_wrap_Measurement_real_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_Measurement_set_real_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_real_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_Measurement_contained_neutron(farg1) & +bind(C, name="_wrap_Measurement_contained_neutron") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_sample_number(farg1) & +bind(C, name="_wrap_Measurement_sample_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_title(farg1) & +bind(C, name="_wrap_Measurement_title") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_occupied(farg1) & +bind(C, name="_wrap_Measurement_occupied") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_gamma_count_sum(farg1) & +bind(C, name="_wrap_Measurement_gamma_count_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_neutron_live_time(farg1) & +bind(C, name="_wrap_Measurement_neutron_live_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_neutron_counts_sum(farg1) & +bind(C, name="_wrap_Measurement_neutron_counts_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_speed(farg1) & +bind(C, name="_wrap_Measurement_speed") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_dx(farg1) & +bind(C, name="_wrap_Measurement_dx") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_dy(farg1) & +bind(C, name="_wrap_Measurement_dy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_latitude(farg1) & +bind(C, name="_wrap_Measurement_latitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_longitude(farg1) & +bind(C, name="_wrap_Measurement_longitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_has_gps_info(farg1) & +bind(C, name="_wrap_Measurement_has_gps_info") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_dose_rate(farg1) & +bind(C, name="_wrap_Measurement_dose_rate") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_exposure_rate(farg1) & +bind(C, name="_wrap_Measurement_exposure_rate") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_pcf_tag(farg1) & +bind(C, name="_wrap_Measurement_pcf_tag") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +character(C_CHAR) :: fresult +end function + +function swigc_Measurement_source_description(farg1) & +bind(C, name="_wrap_Measurement_source_description") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_measurement_description(farg1) & +bind(C, name="_wrap_Measurement_measurement_description") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_position_time(farg1) & +bind(C, name="_wrap_Measurement_position_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_detector_name(farg1) & +bind(C, name="_wrap_Measurement_detector_name") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_detector_number(farg1) & +bind(C, name="_wrap_Measurement_detector_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_detector_type(farg1) & +bind(C, name="_wrap_Measurement_detector_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_Measurement_quality_status(farg1) & +bind(C, name="_wrap_Measurement_quality_status") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_source_type(farg1) & +bind(C, name="_wrap_Measurement_source_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_remarks(farg1) & +bind(C, name="_wrap_Measurement_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_mutable_remarks(farg1) & +bind(C, name="_wrap_Measurement_mutable_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_parse_warnings(farg1) & +bind(C, name="_wrap_Measurement_parse_warnings") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_start_time(farg1) & +bind(C, name="_wrap_Measurement_start_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_start_time_copy(farg1) & +bind(C, name="_wrap_Measurement_start_time_copy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_energy_calibration_model(farg1) & +bind(C, name="_wrap_Measurement_energy_calibration_model") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_calibration_coeffs(farg1) & +bind(C, name="_wrap_Measurement_calibration_coeffs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_deviation_pairs(farg1) & +bind(C, name="_wrap_Measurement_deviation_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_energy_calibration(farg1) & +bind(C, name="_wrap_Measurement_energy_calibration") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_channel_energies(farg1) & +bind(C, name="_wrap_Measurement_channel_energies") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_gamma_counts(farg1) & +bind(C, name="_wrap_Measurement_gamma_counts") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_neutron_counts(farg1) & +bind(C, name="_wrap_Measurement_neutron_counts") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_location_state(farg1) & +bind(C, name="_wrap_Measurement_location_state") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_Measurement_set_title(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_title") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_start_time(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_start_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_remarks(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_remarks") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_parse_warnings(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_parse_warnings") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_source_type(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_source_type") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_position(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_Measurement_set_position") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +subroutine swigc_Measurement_set_sample_number(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_sample_number") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_occupancy_status(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_occupancy_status") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_detector_name(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_detector_name") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_detector_number(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_detector_number") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +end subroutine + +subroutine swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_neutron_counts__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_pcf_tag(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_pcf_tag") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +character(C_CHAR), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_source_description(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_source_description") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_measurement_description(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_measurement_description") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_Measurement_num_gamma_channels(farg1) & +bind(C, name="_wrap_Measurement_num_gamma_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_find_gamma_channel(farg1, farg2) & +bind(C, name="_wrap_Measurement_find_gamma_channel") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_gamma_channel_content(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_content") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_lower(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_lower") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_center(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_center") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_upper(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_upper") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_channel_width(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_channel_width") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_integral(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_gamma_integral") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) & +bind(C, name="_wrap_Measurement_gamma_channels_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_Measurement_gamma_channel_energies(farg1) & +bind(C, name="_wrap_Measurement_gamma_channel_energies") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_gamma_channel_contents(farg1) & +bind(C, name="_wrap_Measurement_gamma_channel_contents") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_gamma_energy_min(farg1) & +bind(C, name="_wrap_Measurement_gamma_energy_min") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_gamma_energy_max(farg1) & +bind(C, name="_wrap_Measurement_gamma_energy_max") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_derived_data_properties(farg1) & +bind(C, name="_wrap_Measurement_derived_data_properties") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_Measurement_rpm_panel_number(farg1) & +bind(C, name="_wrap_Measurement_rpm_panel_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_rpm_column_number(farg1) & +bind(C, name="_wrap_Measurement_rpm_column_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_rpm_mca_number(farg1) & +bind(C, name="_wrap_Measurement_rpm_mca_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_write_2006_N42_xml(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_2006_N42_xml") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_write_csv(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_write_txt(farg1, farg2) & +bind(C, name="_wrap_Measurement_write_txt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +subroutine swigc_Measurement_reset(farg1) & +bind(C, name="_wrap_Measurement_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_Measurement_rebin(farg1, farg2) & +bind(C, name="_wrap_Measurement_rebin") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_energy_calibration(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_energy_calibration") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_info_from_2006_N42_spectrum_node") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_Measurement_gamma_count_at(farg1, farg2) & +bind(C, name="_wrap_Measurement_gamma_count_at") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT) :: fresult +end function + +function swigc_Measurement_get_num_channels(farg1) & +bind(C, name="_wrap_Measurement_get_num_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_Measurement_get_start_time_string(farg1) & +bind(C, name="_wrap_Measurement_get_start_time_string") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_Measurement_set_start_time_from_string(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_start_time_from_string") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_set_neutron_count(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_neutron_count") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_Measurement_get_neutron_count(farg1) & +bind(C, name="_wrap_Measurement_get_neutron_count") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_Measurement_set_spectrum(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_spectrum") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_get_spectrum(farg1, farg2) & +bind(C, name="_wrap_Measurement_get_spectrum") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_Measurement_op_assign__(farg1, farg2) & +bind(C, name="_wrap_Measurement_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_new_SpecFile__SWIG_0() & +bind(C, name="_wrap_new_SpecFile__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_SpecFile__SWIG_1(farg1) & +bind(C, name="_wrap_new_SpecFile__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_SpecFile(farg1) & +bind(C, name="_wrap_delete_SpecFile") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +function swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_load_file__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigArrayWrapper) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_load_file__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg3 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_parse_warnings(farg1) & +bind(C, name="_wrap_SpecFile_parse_warnings") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_modified(farg1) & +bind(C, name="_wrap_SpecFile_modified") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_reset_modified(farg1) & +bind(C, name="_wrap_SpecFile_reset_modified") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_SpecFile_modified_since_decode(farg1) & +bind(C, name="_wrap_SpecFile_modified_since_decode") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_reset_modified_since_decode(farg1) & +bind(C, name="_wrap_SpecFile_reset_modified_since_decode") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_SpecFile_gamma_live_time(farg1) & +bind(C, name="_wrap_SpecFile_gamma_live_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_SpecFile_gamma_real_time(farg1) & +bind(C, name="_wrap_SpecFile_gamma_real_time") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_SpecFile_gamma_count_sum(farg1) & +bind(C, name="_wrap_SpecFile_gamma_count_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_neutron_counts_sum(farg1) & +bind(C, name="_wrap_SpecFile_neutron_counts_sum") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_filename(farg1) & +bind(C, name="_wrap_SpecFile_filename") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_detector_names") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_detector_numbers(farg1) & +bind(C, name="_wrap_SpecFile_detector_numbers") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_gamma_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_gamma_detector_names") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_neutron_detector_names(farg1) & +bind(C, name="_wrap_SpecFile_neutron_detector_names") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_uuid(farg1) & +bind(C, name="_wrap_SpecFile_uuid") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_remarks(farg1) & +bind(C, name="_wrap_SpecFile_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_lane_number(farg1) & +bind(C, name="_wrap_SpecFile_lane_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_measurement_location_name(farg1) & +bind(C, name="_wrap_SpecFile_measurement_location_name") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_inspection(farg1) & +bind(C, name="_wrap_SpecFile_inspection") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_measurement_operator(farg1) & +bind(C, name="_wrap_SpecFile_measurement_operator") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_sample_numbers(farg1) & +bind(C, name="_wrap_SpecFile_sample_numbers") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_num_measurements(farg1) & +bind(C, name="_wrap_SpecFile_num_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_detector_type(farg1) & +bind(C, name="_wrap_SpecFile_detector_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_instrument_type(farg1) & +bind(C, name="_wrap_SpecFile_instrument_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_manufacturer(farg1) & +bind(C, name="_wrap_SpecFile_manufacturer") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_instrument_model(farg1) & +bind(C, name="_wrap_SpecFile_instrument_model") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_instrument_id(farg1) & +bind(C, name="_wrap_SpecFile_instrument_id") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_SpecFile_measurements(farg1) & +bind(C, name="_wrap_SpecFile_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurement__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_detectors_analysis(farg1) & +bind(C, name="_wrap_SpecFile_detectors_analysis") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_multimedia_data(farg1) & +bind(C, name="_wrap_SpecFile_multimedia_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_has_gps_info(farg1) & +bind(C, name="_wrap_SpecFile_has_gps_info") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_mean_latitude(farg1) & +bind(C, name="_wrap_SpecFile_mean_latitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_mean_longitude(farg1) & +bind(C, name="_wrap_SpecFile_mean_longitude") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE) :: fresult +end function + +function swigc_SpecFile_passthrough(farg1) & +bind(C, name="_wrap_SpecFile_passthrough") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_contains_derived_data(farg1) & +bind(C, name="_wrap_SpecFile_contains_derived_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_contains_non_derived_data(farg1) & +bind(C, name="_wrap_SpecFile_contains_non_derived_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_set_filename(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_filename") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_remarks__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_add_remark(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_remark") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_parse_warnings(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_parse_warnings") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_uuid(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_uuid") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_lane_number(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_lane_number") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_measurement_location_name(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_measurement_location_name") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_inspection(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_inspection") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_instrument_type(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_type") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_detector_type(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_detector_type") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_manufacturer(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_manufacturer") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_instrument_model(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_model") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_instrument_id(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_instrument_id") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_live_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_live_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_real_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_real_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_start_time(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_start_time") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_remarks__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_source_type(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_source_type") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_set_position") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_set_title(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_set_title") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_set_contained_neutrons") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +real(C_FLOAT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_FLOAT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_set_detectors_analysis(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_detectors_analysis") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_change_detector_name(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_change_detector_name") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: farg3 +end subroutine + +subroutine swigc_SpecFile_change_sample_numbers(farg1, farg2) & +bind(C, name="_wrap_SpecFile_change_sample_numbers") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_add_measurement__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_measurement__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_remove_measurement(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_remove_measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_remove_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_remove_measurements") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_clear_multimedia_data(farg1) & +bind(C, name="_wrap_SpecFile_clear_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_add_multimedia_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_add_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_multimedia_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_multimedia_data") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_SpecFile_occupancy_number_from_remarks(farg1) & +bind(C, name="_wrap_SpecFile_occupancy_number_from_remarks") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_sample_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_sample_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_measurement__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_suggested_sum_energy_calibration") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_sum_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_memmorysize(farg1) & +bind(C, name="_wrap_SpecFile_memmorysize") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_gamma_channel_counts(farg1) & +bind(C, name="_wrap_SpecFile_gamma_channel_counts") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_num_gamma_channels(farg1) & +bind(C, name="_wrap_SpecFile_num_gamma_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_n_bin_spectra_only") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_contained_neutron(farg1) & +bind(C, name="_wrap_SpecFile_contained_neutron") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_energy_cal_variants(farg1) & +bind(C, name="_wrap_SpecFile_energy_cal_variants") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_energy_cal_variants") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_keep_derived_data_variant(farg1, farg2) & +bind(C, name="_wrap_SpecFile_keep_derived_data_variant") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_remove_detectors_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_remove_detectors_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_remove_neutron_measurements(farg1) & +bind(C, name="_wrap_SpecFile_remove_neutron_measurements") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_background_sample_number(farg1) & +bind(C, name="_wrap_SpecFile_background_sample_number") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_generate_psuedo_uuid(farg1) & +bind(C, name="_wrap_SpecFile_generate_psuedo_uuid") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_SpecFile_reset(farg1) & +bind(C, name="_wrap_SpecFile_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_SpecFile_load_N42_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_N42_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_pcf_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_pcf_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_spc_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_spc_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_chn_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_chn_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_iaea_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_iaea_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_binary_exploranium_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_micro_raider_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_micro_raider_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_txt_or_csv_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_cnf_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_cnf_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_tracs_mps_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_tracs_mps_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_aram_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_aram_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_spectroscopic_daily_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_amptek_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_amptek_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_ortec_listmode_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_lsrm_spe_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_tka_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_tka_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_multiact_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_multiact_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_phd_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_phd_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_lzs_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_lzs_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_radiacode_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_radiacode_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_xml_scan_data_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_json_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_json_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_caen_gxml_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_caen_gxml_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_N42") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_load_N42_from_data__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: farg3 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_iaea_spc(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_iaea_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_binary_spc(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_binary_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_N42_document(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_N42_document") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_micro_raider_from_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_binary_exploranium") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_pcf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_pcf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_txt_or_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_Gr135_txt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_spectroscopic_daily_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_srpm210_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_D3S_raw(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_D3S_raw") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_amptek_mca(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_amptek_mca") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_ortec_listmode") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_lsrm_spe") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_tka(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_tka") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_multiact(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_multiact") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_phd(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_phd") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_lzs(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_lzs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_radiacode(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_radiacode") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_radiacode_spectrogram") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_xml_scan_data") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_iaea(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_iaea") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_chn(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_chn") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_cnf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_cnf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_tracs_mps(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_tracs_mps") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_aram(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_aram") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_json(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_json") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_load_from_caen_gxml(farg1, farg2) & +bind(C, name="_wrap_SpecFile_load_from_caen_gxml") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) & +bind(C, name="_wrap_SpecFile_cleanup_after_load__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_recalc_total_counts(farg1) & +bind(C, name="_wrap_SpecFile_recalc_total_counts") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) & +bind(C, name="_wrap_SpecFile_merge_neutron_meas_into_gamma_meas") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_rebin_measurement") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_rebin_all_measurements(farg1, farg2) & +bind(C, name="_wrap_SpecFile_rebin_all_measurements") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) & +bind(C, name="_wrap_SpecFile_set_energy_calibration_from_CALp_file") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_SpecFile_detector_names_to_numbers(farg1, farg2) & +bind(C, name="_wrap_SpecFile_detector_names_to_numbers") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +subroutine swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_2") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_to_file__SWIG_3") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +subroutine swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT), intent(in) :: farg5 +end subroutine + +function swigc_SpecFile_write_pcf(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_pcf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_2006_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_2006_N42") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_csv(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_csv") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_txt(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_txt") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_integer_chn__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_SpecFile_write_binary_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +type(SwigClassWrapper), intent(in) :: farg5 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_ascii_spc") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr130v0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_binary_exploranium_gr135v2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_iaea_spe") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_cnf") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_SpecFile_write_tka") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_2012N42_VERSION_get() & +bind(C, name="_wrap_SpecFile_2012N42_VERSION_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_create_2012_N42_xml(farg1) & +bind(C, name="_wrap_SpecFile_create_2012_N42_xml") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_write_2012_N42(farg1, farg2) & +bind(C, name="_wrap_SpecFile_write_2012_N42") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_SpecFile_mutex(farg1) & +bind(C, name="_wrap_SpecFile_mutex") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_measurement_at(farg1, farg2) & +bind(C, name="_wrap_SpecFile_measurement_at") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_SpecFile_get_max_channel_count(farg1) & +bind(C, name="_wrap_SpecFile_get_max_channel_count") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_SpecFile_op_assign__(farg1, farg2) & +bind(C, name="_wrap_SpecFile_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_DetectorAnalysisResult_remark__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_remark__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_remark__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_remark__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_nuclide__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_activity__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_activity__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_activity__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_activity__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_nuclide_type__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_nuclide_type__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_id_confidence__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_id_confidence__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_distance__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_distance__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_distance__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_distance__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_dose_rate__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_dose_rate__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_real_time__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_real_time__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_real_time__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_detector__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_detector__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysisResult_detector__get(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_detector__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_new_DetectorAnalysisResult() & +bind(C, name="_wrap_new_DetectorAnalysisResult") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysisResult_reset(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_DetectorAnalysisResult_isEmpty(farg1) & +bind(C, name="_wrap_DetectorAnalysisResult_isEmpty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_delete_DetectorAnalysisResult(farg1) & +bind(C, name="_wrap_delete_DetectorAnalysisResult") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysisResult_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_DetectorAnalysis_remarks__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_remarks__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_remarks__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_remarks__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_name__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_name__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_name__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_component_versions__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_creator__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_creator__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_description__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_description__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_description__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_analysis_start_time__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_analysis_start_time__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_analysis_computation_duration__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_algorithm_result_description__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_algorithm_result_description__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_results__set(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_results__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_DetectorAnalysis_results__get(farg1) & +bind(C, name="_wrap_DetectorAnalysis_results__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DetectorAnalysis() & +bind(C, name="_wrap_new_DetectorAnalysis") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DetectorAnalysis_reset(farg1) & +bind(C, name="_wrap_DetectorAnalysis_reset") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +function swigc_DetectorAnalysis_is_empty(farg1) & +bind(C, name="_wrap_DetectorAnalysis_is_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_delete_DetectorAnalysis(farg1) & +bind(C, name="_wrap_delete_DetectorAnalysis") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_DetectorAnalysis_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DetectorAnalysis_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_MultimediaData_remark__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_remark__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_remark__get(farg1) & +bind(C, name="_wrap_MultimediaData_remark__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_descriptions__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_descriptions__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_descriptions__get(farg1) & +bind(C, name="_wrap_MultimediaData_descriptions__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_data__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_data__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_MultimediaData_data__get(farg1) & +bind(C, name="_wrap_MultimediaData_data__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_data_encoding__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_data_encoding__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +function swigc_MultimediaData_data_encoding__get(farg1) & +bind(C, name="_wrap_MultimediaData_data_encoding__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_MultimediaData_capture_start_time__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_capture_start_time__set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_MultimediaData_capture_start_time__get(farg1) & +bind(C, name="_wrap_MultimediaData_capture_start_time__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_file_uri__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_file_uri__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_file_uri__get(farg1) & +bind(C, name="_wrap_MultimediaData_file_uri__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_MultimediaData_mime_type__set(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_mime_type__set") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: farg2 +end subroutine + +function swigc_MultimediaData_mime_type__get(farg1) & +bind(C, name="_wrap_MultimediaData_mime_type__get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_new_MultimediaData() & +bind(C, name="_wrap_new_MultimediaData") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_MultimediaData(farg1) & +bind(C, name="_wrap_delete_MultimediaData") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_MultimediaData_op_assign__(farg1, farg2) & +bind(C, name="_wrap_MultimediaData_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_pcf_det_name_to_dev_pair_index(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_pcf_det_name_to_dev_pair_index") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(C_PTR), value :: farg2 +type(C_PTR), value :: farg3 +type(C_PTR), value :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_new_DevPair__SWIG_0() & +bind(C, name="_wrap_new_DevPair__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DevPair__SWIG_1(farg1, farg2) & +bind(C, name="_wrap_new_DevPair__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_FLOAT), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DevPair__SWIG_2(farg1) & +bind(C, name="_wrap_new_DevPair__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DevPair_first_set(farg1, farg2) & +bind(C, name="_wrap_DevPair_first_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DevPair_first_get(farg1) & +bind(C, name="_wrap_DevPair_first_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_DevPair_second_set(farg1, farg2) & +bind(C, name="_wrap_DevPair_second_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT), intent(in) :: farg2 +end subroutine + +function swigc_DevPair_second_get(farg1) & +bind(C, name="_wrap_DevPair_second_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +subroutine swigc_delete_DevPair(farg1) & +bind(C, name="_wrap_delete_DevPair") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_DevPair_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DevPair_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_new_DeviationPairs__SWIG_0() & +bind(C, name="_wrap_new_DeviationPairs__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DeviationPairs__SWIG_1(farg1) & +bind(C, name="_wrap_new_DeviationPairs__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DeviationPairs__SWIG_2(farg1) & +bind(C, name="_wrap_new_DeviationPairs__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_INT), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_new_DeviationPairs__SWIG_3(farg1, farg2) & +bind(C, name="_wrap_new_DeviationPairs__SWIG_3") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_INT), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_DeviationPairs_size(farg1) & +bind(C, name="_wrap_DeviationPairs_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_DeviationPairs_capacity(farg1) & +bind(C, name="_wrap_DeviationPairs_capacity") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_DeviationPairs_empty(farg1) & +bind(C, name="_wrap_DeviationPairs_empty") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_DeviationPairs_front(farg1) & +bind(C, name="_wrap_DeviationPairs_front") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_DeviationPairs_back(farg1) & +bind(C, name="_wrap_DeviationPairs_back") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DeviationPairs_reserve(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_reserve") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_DeviationPairs_resize__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_resize__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_DeviationPairs_resize__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_resize__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_DeviationPairs_push_back(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_push_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +subroutine swigc_DeviationPairs_pop_back(farg1) & +bind(C, name="_wrap_DeviationPairs_pop_back") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_DeviationPairs_clear(farg1) & +bind(C, name="_wrap_DeviationPairs_clear") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + +subroutine swigc_DeviationPairs_set(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +function swigc_DeviationPairs_get(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_DeviationPairs_insert(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_insert") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_DeviationPairs_erase__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_erase__SWIG_0") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +subroutine swigc_DeviationPairs_erase__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_DeviationPairs_erase__SWIG_1") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +end subroutine + +function swigc_DeviationPairs_front_ref(farg1) & +bind(C, name="_wrap_DeviationPairs_front_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_DeviationPairs_back_ref(farg1) & +bind(C, name="_wrap_DeviationPairs_back_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_DeviationPairs_get_ref(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_get_ref") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_delete_DeviationPairs(farg1) & +bind(C, name="_wrap_delete_DeviationPairs") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_DeviationPairs_op_assign__(farg1, farg2) & +bind(C, name="_wrap_DeviationPairs_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_EnergyCalibration_type(farg1) & +bind(C, name="_wrap_EnergyCalibration_type") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_valid(farg1) & +bind(C, name="_wrap_EnergyCalibration_valid") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_coefficients(farg1) & +bind(C, name="_wrap_EnergyCalibration_coefficients") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_EnergyCalibration_deviation_pairs(farg1) & +bind(C, name="_wrap_EnergyCalibration_deviation_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_EnergyCalibration_channel_energies(farg1) & +bind(C, name="_wrap_EnergyCalibration_channel_energies") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_EnergyCalibration_num_channels(farg1) & +bind(C, name="_wrap_EnergyCalibration_num_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_new_EnergyCalibration() & +bind(C, name="_wrap_new_EnergyCalibration") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_EnergyCalibration_set_polynomial") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +subroutine swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_EnergyCalibration_set_default_polynomial") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +subroutine swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_EnergyCalibration_set_full_range_fraction") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +function swigc_EnergyCalibration_op_lt__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_lt__") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_op_eq__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_eq__") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_op_ne__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_ne__") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_memmorysize(farg1) & +bind(C, name="_wrap_EnergyCalibration_memmorysize") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_channel_for_energy(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_channel_for_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_EnergyCalibration_energy_for_channel(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_energy_for_channel") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_DOUBLE), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_EnergyCalibration_lower_energy(farg1) & +bind(C, name="_wrap_EnergyCalibration_lower_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_EnergyCalibration_upper_energy(farg1) & +bind(C, name="_wrap_EnergyCalibration_upper_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +real(C_FLOAT) :: fresult +end function + +function swigc_EnergyCalibration_sm_min_channels_get() & +bind(C, name="_wrap_EnergyCalibration_sm_min_channels_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_sm_max_channels_get() & +bind(C, name="_wrap_EnergyCalibration_sm_max_channels_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_EnergyCalibration_sm_polynomial_offset_limit_get() & +bind(C, name="_wrap_EnergyCalibration_sm_polynomial_offset_limit_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: fresult +end function + +subroutine swigc_delete_EnergyCalibration(farg1) & +bind(C, name="_wrap_delete_EnergyCalibration") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +end subroutine + +subroutine swigc_EnergyCalibration_op_assign__(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_op_assign__") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(inout) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_energy_cal_combine_channels(farg1, farg2) & +bind(C, name="_wrap_energy_cal_combine_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_polynomial_binning(farg1, farg2, farg3) & +bind(C, name="_wrap_polynomial_binning") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_fullrangefraction_binning__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg4 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) & +bind(C, name="_wrap_fullrangefraction_binning__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_fullrangefraction_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE) :: fresult +end function + +function swigc_polynomial_energy(farg1, farg2, farg3) & +bind(C, name="_wrap_polynomial_energy") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +real(C_DOUBLE) :: fresult +end function + +function swigc_deviation_pair_correction(farg1, farg2) & +bind(C, name="_wrap_deviation_pair_correction") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_correction_due_to_dev_pairs(farg1, farg2) & +bind(C, name="_wrap_correction_due_to_dev_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +real(C_DOUBLE) :: fresult +end function + +function swigc_apply_deviation_pair(farg1, farg2) & +bind(C, name="_wrap_apply_deviation_pair") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) & +bind(C, name="_wrap_polynomial_coef_to_fullrangefraction") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) & +bind(C, name="_wrap_fullrangefraction_coef_to_polynomial") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) & +bind(C, name="_wrap_mid_channel_polynomial_to_fullrangeFraction") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_calibration_is_valid(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_calibration_is_valid") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_INT), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +integer(C_INT), intent(in) :: farg4 +integer(C_INT) :: fresult +end function + +function swigc_polynomial_cal_remove_first_channels(farg1, farg2) & +bind(C, name="_wrap_polynomial_cal_remove_first_channels") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +integer(C_INT), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_find_fullrangefraction_channel__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE), intent(in) :: farg5 +real(C_DOUBLE) :: fresult +end function + +function swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_find_fullrangefraction_channel__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE) :: fresult +end function + +function swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) & +bind(C, name="_wrap_find_polynomial_channel__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE), intent(in) :: farg5 +real(C_DOUBLE) :: fresult +end function + +function swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_find_polynomial_channel__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +real(C_DOUBLE), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +integer(C_INT), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +real(C_DOUBLE) :: fresult +end function + +subroutine swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) & +bind(C, name="_wrap_rebin_by_lower_edge") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +type(SwigClassWrapper), intent(in) :: farg4 +end subroutine + +function swigc_write_CALp_file(farg1, farg2, farg3) & +bind(C, name="_wrap_write_CALp_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +type(SwigArrayWrapper) :: farg3 +integer(C_INT) :: fresult +end function + +function swigc_remove_file(farg1) & +bind(C, name="_wrap_remove_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_is_file(farg1) & +bind(C, name="_wrap_is_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_rename_file(farg1, farg2) & +bind(C, name="_wrap_rename_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: fresult +end function + +function swigc_is_directory(farg1) & +bind(C, name="_wrap_is_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_create_directory(farg1) & +bind(C, name="_wrap_create_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_can_rw_in_directory(farg1) & +bind(C, name="_wrap_can_rw_in_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_append_path(farg1, farg2) & +bind(C, name="_wrap_append_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_filename(farg1) & +bind(C, name="_wrap_filename") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_parent_path(farg1) & +bind(C, name="_wrap_parent_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_file_extension(farg1) & +bind(C, name="_wrap_file_extension") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_file_size(farg1) & +bind(C, name="_wrap_file_size") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_temp_dir() & +bind(C, name="_wrap_temp_dir") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: fresult +end function + +function swigc_is_absolute_path(farg1) & +bind(C, name="_wrap_is_absolute_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +function swigc_get_working_path() & +bind(C, name="_wrap_get_working_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: fresult +end function + +function swigc_temp_file_name(farg1, farg2) & +bind(C, name="_wrap_temp_file_name") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_sm_recursive_ls_max_depth_get() & +bind(C, name="_wrap_sm_recursive_ls_max_depth_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_sm_ls_max_results_get() & +bind(C, name="_wrap_sm_ls_max_results_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: fresult +end function + +function swigc_recursive_ls__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_recursive_ls__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_recursive_ls__SWIG_1(farg1) & +bind(C, name="_wrap_recursive_ls__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_recursive_ls__SWIG_2(farg1, farg2, farg3) & +bind(C, name="_wrap_recursive_ls__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR), value :: farg2 +type(C_PTR), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_files_in_directory__SWIG_0(farg1, farg2) & +bind(C, name="_wrap_ls_files_in_directory__SWIG_0") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_files_in_directory__SWIG_1(farg1) & +bind(C, name="_wrap_ls_files_in_directory__SWIG_1") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_files_in_directory__SWIG_2(farg1, farg2, farg3) & +bind(C, name="_wrap_ls_files_in_directory__SWIG_2") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR), value :: farg2 +type(C_PTR), intent(in) :: farg3 +type(SwigClassWrapper) :: fresult +end function + +function swigc_ls_directories_in_directory(farg1) & +bind(C, name="_wrap_ls_directories_in_directory") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +function swigc_fs_relative(farg1, farg2) & +bind(C, name="_wrap_fs_relative") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 +type(SwigArrayWrapper) :: fresult +end function + +function swigc_lexically_normalize_path(farg1) & +bind(C, name="_wrap_lexically_normalize_path") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +type(SwigArrayWrapper) :: fresult +end function + +subroutine swigc_load_file_data(farg1, farg2) & +bind(C, name="_wrap_load_file_data") +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +import :: swigclasswrapper +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_likely_not_spec_file(farg1) & +bind(C, name="_wrap_likely_not_spec_file") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigarraywrapper +type(SwigArrayWrapper) :: farg1 +integer(C_INT) :: fresult +end function + +end interface + + +contains + ! MODULE SUBPROGRAMS +function swigf_new_FloatVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_FloatVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +class(FloatVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_FloatVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_FloatVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_FloatVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: self +integer, intent(in) :: count +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v +fresult = swigc_new_FloatVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_FloatVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(FloatVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_FloatVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(FloatVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_capacity(farg1) +swig_result = int(fresult) +end function + + +subroutine SWIGTM_fout_bool(imout, fout) + use, intrinsic :: ISO_C_BINDING + integer(kind=C_INT), intent(in) :: imout + logical, intent(out) :: fout + fout = (imout /= 0) +end subroutine + +function swigf_FloatVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(FloatVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_FloatVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_front(farg1) +swig_result = fresult +end function + +function swigf_FloatVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_back(farg1) +swig_result = fresult +end function + +subroutine swigf_FloatVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_FloatVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_FloatVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: count +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v +call swigc_FloatVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_FloatVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = v +call swigc_FloatVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_FloatVector_pop_back(farg1) +end subroutine + +subroutine swigf_FloatVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_FloatVector_clear(farg1) +end subroutine + +subroutine swigf_FloatVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_FloatVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_FloatVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_FloatVector_get(farg1, farg2) +swig_result = fresult +end function + +subroutine swigf_FloatVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +real(C_FLOAT), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v +call swigc_FloatVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_FloatVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_FloatVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_FloatVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_FloatVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_FloatVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_front_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_FloatVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_FloatVector_back_ref(farg1) +call c_f_pointer(fresult, swig_result) +end function + +function swigf_FloatVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT), pointer :: swig_result +class(FloatVector), intent(in) :: self +integer, intent(in) :: index +type(C_PTR) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_FloatVector_get_ref(farg1, farg2) +call c_f_pointer(fresult, swig_result) +end function + +subroutine swigf_FloatVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_FloatVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_FloatVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(inout) :: self +type(FloatVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_FloatVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_MeasurementVector__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_MeasurementVector__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_MeasurementVector__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +class(MeasurementVector), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_MeasurementVector__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_MeasurementVector__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_MeasurementVector__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_MeasurementVector__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MeasurementVector) :: self +integer, intent(in) :: count +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_SIZE_T) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v%swigdata +fresult = swigc_new_MeasurementVector__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_MeasurementVector_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(MeasurementVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_size(farg1) +swig_result = int(fresult) +end function + +function swigf_MeasurementVector_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(MeasurementVector), intent(in) :: self +integer(C_SIZE_T) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_MeasurementVector_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(MeasurementVector), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_MeasurementVector_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_front(farg1) +swig_result%swigdata = fresult +end function + +function swigf_MeasurementVector_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_back(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MeasurementVector_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_MeasurementVector_reserve(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_MeasurementVector_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: count +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v%swigdata +call swigc_MeasurementVector_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_MeasurementVector_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = v%swigdata +call swigc_MeasurementVector_push_back(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_MeasurementVector_pop_back(farg1) +end subroutine + +subroutine swigf_MeasurementVector_clear(self) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_MeasurementVector_clear(farg1) +end subroutine + +subroutine swigf_MeasurementVector_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_MeasurementVector_set(farg1, farg2, farg3) +end subroutine + +function swigf_MeasurementVector_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_MeasurementVector_get(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_MeasurementVector_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +class(Measurement), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_MeasurementVector_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_MeasurementVector_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_MeasurementVector_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_MeasurementVector_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 +integer(C_SIZE_T) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_MeasurementVector_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_MeasurementVector_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_front_ref(farg1) +swig_result%swigdata = fresult +end function + +function swigf_MeasurementVector_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MeasurementVector_back_ref(farg1) +swig_result%swigdata = fresult +end function + +function swigf_MeasurementVector_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(MeasurementVector), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_SIZE_T) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_MeasurementVector_get_ref(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_MeasurementVector_release(self) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_MeasurementVector(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_MeasurementVector_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(MeasurementVector), intent(inout) :: self +type(MeasurementVector), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_MeasurementVector_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + + +subroutine SWIGTM_fin_char_Sm_(finp, iminp, temp) + use, intrinsic :: ISO_C_BINDING + character(len=*), intent(in) :: finp + type(SwigArrayWrapper), intent(out) :: iminp + character(kind=C_CHAR), dimension(:), target, allocatable, intent(out) :: temp + integer :: i + + allocate(character(kind=C_CHAR) :: temp(len(finp) + 1)) + do i=1,len(finp) + temp(i) = char(ichar(finp(i:i)), kind=C_CHAR) + end do + i = len(finp) + 1 + temp(i) = C_NULL_CHAR ! C finp compatibility + iminp%data = c_loc(temp) + iminp%size = len(finp, kind=C_SIZE_T) +end subroutine + +function spectrumTypeFromDescription(descrip) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(SpectrumType) :: swig_result +character(len=*), intent(in) :: descrip +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(descrip, farg1, farg1_temp) +fresult = swigc_spectrumTypeFromDescription(farg1) +swig_result = fresult +end function + + +subroutine SWIGTM_fout_char_Sm_(imout, fout) + use, intrinsic :: ISO_C_BINDING + type(SwigArrayWrapper), intent(in) :: imout + character(len=:), allocatable, intent(out) :: fout + character(kind=C_CHAR), dimension(:), pointer :: chars + integer(kind=C_SIZE_T) :: i + call c_f_pointer(imout%data, chars, [imout%size]) + allocate(character(len=imout%size) :: fout) + do i=1, imout%size + fout(i:i) = char(ichar(chars(i))) + end do +end subroutine + +function suggestedNameEnding(type) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +integer(SaveSpectrumAsType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 + +farg1 = type +fresult = swigc_suggestedNameEnding(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) +end function + +function swigf_is_candidate_n42_file__SWIG_0(data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: data +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +fresult = swigc_is_candidate_n42_file__SWIG_0(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_is_candidate_n42_file__SWIG_1(data, data_end) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_is_candidate_n42_file__SWIG_1(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function convert_n42_utf16_xml_to_utf8(data, data_end) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(data, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(data_end, farg2, farg2_temp) +fresult = swigc_convert_n42_utf16_xml_to_utf8(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +if (.false.) call SWIG_free(fresult%data) +end function + +subroutine add_analysis_results_to_2012_N42(ana, radinstrumentdata, xmldocmutex) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: ana +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: radinstrumentdata +class(SWIGTYPE_p_std__mutex), intent(in) :: xmldocmutex +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = ana%swigdata +farg2 = radinstrumentdata%swigdata +farg3 = xmldocmutex%swigdata +call swigc_add_analysis_results_to_2012_N42(farg1, farg2, farg3) +end subroutine + +subroutine set_analysis_info_from_n42(analysis_node, analysis) +use, intrinsic :: ISO_C_BINDING +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: analysis_node +class(DetectorAnalysis), intent(in) :: analysis +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = analysis_node%swigdata +farg2 = analysis%swigdata +call swigc_set_analysis_info_from_n42(farg1, farg2) +end subroutine + +function gamma_integral(hist, lowenergy, upperunergy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: hist +real(C_FLOAT), intent(in) :: lowenergy +real(C_FLOAT), intent(in) :: upperunergy +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = hist%swigdata +farg2 = lowenergy +farg3 = upperunergy +fresult = swigc_gamma_integral(farg1, farg2, farg3) +swig_result = fresult +end function + +function detectorTypeToString(type) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +integer(DetectorType), intent(in) :: type +type(SwigArrayWrapper) :: fresult +integer(C_INT) :: farg1 + +farg1 = type +fresult = swigc_detectorTypeToString(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_new_Measurement() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_Measurement() +self%swigdata = fresult +end function + +subroutine swigf_Measurement_release(self) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_Measurement(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +function swigf_Measurement_memmorysize(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_memmorysize(farg1) +swig_result = fresult +end function + +function swigf_Measurement_live_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_live_time(farg1) +swig_result = fresult +end function + +subroutine swigf_Measurement_set_live_time(self, time) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: time +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = time +call swigc_Measurement_set_live_time(farg1, farg2) +end subroutine + +function swigf_Measurement_real_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_real_time(farg1) +swig_result = fresult +end function + +subroutine swigf_Measurement_set_real_time(self, time) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: time +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = time +call swigc_Measurement_set_real_time(farg1, farg2) +end subroutine + +function swigf_Measurement_contained_neutron(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_contained_neutron(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_sample_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_sample_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_title(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_title(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_occupied(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(OccupancyStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_occupied(farg1) +swig_result = fresult +end function + +function swigf_Measurement_gamma_count_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_count_sum(farg1) +swig_result = fresult +end function + +function swigf_Measurement_neutron_live_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_live_time(farg1) +swig_result = fresult +end function + +function swigf_Measurement_neutron_counts_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_counts_sum(farg1) +swig_result = fresult +end function + +function swigf_Measurement_speed(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_speed(farg1) +swig_result = fresult +end function + +function swigf_Measurement_dx(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_dx(farg1) +swig_result = fresult +end function + +function swigf_Measurement_dy(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_dy(farg1) +swig_result = fresult +end function + +function swigf_Measurement_latitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_latitude(farg1) +swig_result = fresult +end function + +function swigf_Measurement_longitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_longitude(farg1) +swig_result = fresult +end function + +function swigf_Measurement_has_gps_info(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_has_gps_info(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_dose_rate(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_dose_rate(farg1) +swig_result = fresult +end function + +function swigf_Measurement_exposure_rate(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_exposure_rate(farg1) +swig_result = fresult +end function + +function swigf_Measurement_pcf_tag(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(C_CHAR) :: swig_result +class(Measurement), intent(in) :: self +character(C_CHAR) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_pcf_tag(farg1) +swig_result = fresult +end function + +function swigf_Measurement_source_description(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_source_description(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_measurement_description(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_measurement_description(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_position_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_position_time(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_detector_name(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_detector_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_detector_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_detector_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_detector_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_detector_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_Measurement_quality_status(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(QualityStatus) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_quality_status(farg1) +swig_result = fresult +end function + +function swigf_Measurement_source_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(SourceType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_source_type(farg1) +swig_result = fresult +end function + +function swigf_Measurement_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_remarks(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_mutable_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_mutable_remarks(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_parse_warnings(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_parse_warnings(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_start_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_start_time(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_start_time_copy(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_start_time_copy(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_energy_calibration_model(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(SWIGTYPE_SpecUtils__EnergyCalType) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_energy_calibration_model(farg1) +swig_result = fresult +end function + +function swigf_Measurement_calibration_coeffs(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_calibration_coeffs(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_deviation_pairs(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_deviation_pairs(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_energy_calibration(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibration) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_energy_calibration(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_channel_energies(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_channel_energies(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_gamma_counts(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_counts(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_neutron_counts(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_neutron_counts(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_location_state(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__LocationState_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_location_state(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_Measurement_set_title(self, title) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: title +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +call swigc_Measurement_set_title(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_start_time(self, timestamp) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = timestamp%swigdata +call swigc_Measurement_set_start_time(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_remarks(self, remarks) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = remarks%swigdata +call swigc_Measurement_set_remarks(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_parse_warnings(self, warnings) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = warnings%swigdata +call swigc_Measurement_set_parse_warnings(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_source_type(self, type) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(SourceType), intent(in) :: type +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = type +call swigc_Measurement_set_source_type(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_position(self, longitude, latitude, pos_time) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: pos_time +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = longitude +farg3 = latitude +farg4 = pos_time%swigdata +call swigc_Measurement_set_position(farg1, farg2, farg3, farg4) +end subroutine + +subroutine swigf_Measurement_set_sample_number(self, samplenum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: samplenum +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = samplenum +call swigc_Measurement_set_sample_number(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_occupancy_status(self, status) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(OccupancyStatus), intent(in) :: status +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = status +call swigc_Measurement_set_occupancy_status(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_detector_name(self, name) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: name +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) +call swigc_Measurement_set_detector_name(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_detector_number(self, detnum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: detnum +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = detnum +call swigc_Measurement_set_detector_number(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_neutron_counts__SWIG_0(self, counts, neutron_live_time) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(FloatVector), intent(in) :: counts +real(C_FLOAT), intent(in) :: neutron_live_time +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = counts%swigdata +farg3 = neutron_live_time +call swigc_Measurement_set_neutron_counts__SWIG_0(farg1, farg2, farg3) +end subroutine + +subroutine swigf_Measurement_set_neutron_counts__SWIG_1(self, counts) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(FloatVector), intent(in) :: counts +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = counts%swigdata +call swigc_Measurement_set_neutron_counts__SWIG_1(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_pcf_tag(self, tag_char) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(C_CHAR), intent(in) :: tag_char +type(SwigClassWrapper) :: farg1 +character(C_CHAR) :: farg2 + +farg1 = self%swigdata +farg2 = tag_char +call swigc_Measurement_set_pcf_tag(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_source_description(self, description) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: description +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) +call swigc_Measurement_set_source_description(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_measurement_description(self, description) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: description +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(description, farg2, farg2_temp) +call swigc_Measurement_set_measurement_description(farg1, farg2) +end subroutine + +function swigf_Measurement_num_gamma_channels(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_num_gamma_channels(farg1) +swig_result = fresult +end function + +function swigf_Measurement_find_gamma_channel(self, energy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: energy +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = energy +fresult = swigc_Measurement_find_gamma_channel(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_content(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_content(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_lower(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_lower(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_center(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_center(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_upper(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_upper(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_width(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: channel +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_Measurement_gamma_channel_width(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_gamma_integral(self, lower_energy, upper_energy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: lower_energy +real(C_FLOAT), intent(in) :: upper_energy +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +real(C_FLOAT) :: farg3 + +farg1 = self%swigdata +farg2 = lower_energy +farg3 = upper_energy +fresult = swigc_Measurement_gamma_integral(farg1, farg2, farg3) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channels_sum(self, startbin, endbin) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: startbin +integer(C_INT), intent(in) :: endbin +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = startbin +farg3 = endbin +fresult = swigc_Measurement_gamma_channels_sum(farg1, farg2, farg3) +swig_result = fresult +end function + +function swigf_Measurement_gamma_channel_energies(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_channel_energies(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_gamma_channel_contents(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_channel_contents(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_gamma_energy_min(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_energy_min(farg1) +swig_result = fresult +end function + +function swigf_Measurement_gamma_energy_max(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_gamma_energy_max(farg1) +swig_result = fresult +end function + +function swigf_Measurement_derived_data_properties(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_uint32_t) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_derived_data_properties(farg1) +swig_result%swigdata = fresult +end function + +function swigf_Measurement_rpm_panel_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_rpm_panel_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_rpm_column_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_rpm_column_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_rpm_mca_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_rpm_mca_number(farg1) +swig_result = fresult +end function + +function swigf_Measurement_write_2006_N42_xml(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_2006_N42_xml(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_write_csv(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_Measurement_write_txt(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(Measurement), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_Measurement_write_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_Measurement_reset(self) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_Measurement_reset(farg1) +end subroutine + +subroutine swigf_Measurement_rebin(self, cal) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(EnergyCalibration), intent(in) :: cal +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = cal%swigdata +call swigc_Measurement_rebin(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_energy_calibration(self, cal) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(EnergyCalibration), intent(in) :: cal +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = cal%swigdata +call swigc_Measurement_set_energy_calibration(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +type(SWIGTYPE_p_p_rapidxml__xml_nodeT_char_t), intent(in) :: spectrum +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = spectrum%swigdata +call swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) +end subroutine + +function swigf_Measurement_gamma_count_at(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT), intent(in) :: index +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = index +fresult = swigc_Measurement_gamma_count_at(farg1, farg2) +swig_result = fresult +end function + +function swigf_Measurement_get_num_channels(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(Measurement), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_get_num_channels(farg1) +swig_result = fresult +end function + +function swigf_Measurement_get_start_time_string(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(Measurement), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_get_start_time_string(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_Measurement_set_start_time_from_string(self, time_str) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +character(len=*), intent(in) :: time_str +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(time_str, farg2, farg2_temp) +call swigc_Measurement_set_start_time_from_string(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_set_neutron_count(self, count) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_FLOAT), intent(in) :: count +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = count +call swigc_Measurement_set_neutron_count(farg1, farg2) +end subroutine + +function swigf_Measurement_get_neutron_count(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(Measurement), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_get_neutron_count(farg1) +swig_result = fresult +end function + +subroutine SWIGTM_fin_float_Sb__SB_(finp, iminp) + use, intrinsic :: ISO_C_BINDING + real(C_FLOAT), dimension(:), intent(in), target :: finp + type(SwigArrayWrapper), intent(out) :: iminp + integer(C_SIZE_T) :: sz + real(C_FLOAT), pointer :: imtemp + + sz = size(finp, kind=C_SIZE_T) + if (sz > 0_c_size_t) then + imtemp => finp(1) + iminp%data = c_loc(imtemp) + else + iminp%data = c_null_ptr + end if + iminp%size = sz +end subroutine +subroutine swigf_Measurement_set_spectrum(self, spectrum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_FLOAT), dimension(:), target :: spectrum +type(SwigClassWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) +call swigc_Measurement_set_spectrum(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_get_spectrum(self, spectrum) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +real(C_FLOAT), dimension(:), target :: spectrum +type(SwigClassWrapper) :: farg1 +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_float_Sb__SB_(spectrum, farg2) +call swigc_Measurement_get_spectrum(farg1, farg2) +end subroutine + +subroutine swigf_Measurement_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(inout) :: self +type(Measurement), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_Measurement_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_SpecFile__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(SpecFile) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_SpecFile__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_SpecFile__SWIG_1(rhs) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(SpecFile) :: self +class(SpecFile), intent(in) :: rhs +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = rhs%swigdata +fresult = swigc_new_SpecFile__SWIG_1(farg1) +self%swigdata = fresult +end function + +subroutine swigf_SpecFile_release(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_SpecFile(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +function swigf_SpecFile_load_file__SWIG_0(self, filename, parser_type, file_ending_hint) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +character(len=*), intent(in) :: file_ending_hint +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg4_temp +type(SwigArrayWrapper) :: farg4 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +call SWIGTM_fin_char_Sm_(file_ending_hint, farg4, farg4_temp) +fresult = swigc_SpecFile_load_file__SWIG_0(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_file__SWIG_1(self, filename, parser_type) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(ParserType), intent(in) :: parser_type +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = parser_type +fresult = swigc_SpecFile_load_file__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_parse_warnings(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_parse_warnings(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_modified(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_modified(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_reset_modified(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_reset_modified(farg1) +end subroutine + +function swigf_SpecFile_modified_since_decode(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_modified_since_decode(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_reset_modified_since_decode(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_reset_modified_since_decode(farg1) +end subroutine + +function swigf_SpecFile_gamma_live_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_live_time(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_gamma_real_time(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(SpecFile), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_real_time(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_gamma_count_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_count_sum(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_neutron_counts_sum(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_neutron_counts_sum(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_filename(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_filename(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_detector_names(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detector_names(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_detector_numbers(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_int_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detector_numbers(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_gamma_detector_names(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_detector_names(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_neutron_detector_names(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_neutron_detector_names(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_uuid(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_remarks(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_lane_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_lane_number(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_measurement_location_name(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_measurement_location_name(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_inspection(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_inspection(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_measurement_operator(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_measurement_operator(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_sample_numbers(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_sample_numbers(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_num_measurements(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_num_measurements(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_detector_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(DetectorType) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detector_type(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_instrument_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_instrument_type(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_manufacturer(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_manufacturer(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_instrument_model(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_instrument_model(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_instrument_id(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_instrument_id(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_SpecFile_measurements(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_measurements(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurement__SWIG_0(self, num) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: num +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = num +fresult = swigc_SpecFile_measurement__SWIG_0(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_detectors_analysis(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_SpecUtils__DetectorAnalysis_const_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_detectors_analysis(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_multimedia_data(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_multimedia_data(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_has_gps_info(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_has_gps_info(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_mean_latitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_mean_latitude(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_mean_longitude(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(SpecFile), intent(in) :: self +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_mean_longitude(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_passthrough(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_passthrough(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_contains_derived_data(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_contains_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_contains_non_derived_data(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_contains_non_derived_data(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_set_filename(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_filename(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_remarks__SWIG_0(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: n +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = n%swigdata +call swigc_SpecFile_set_remarks__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_add_remark(self, remark) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: remark +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark, farg2, farg2_temp) +call swigc_SpecFile_add_remark(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_parse_warnings(self, warnings) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: warnings +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = warnings%swigdata +call swigc_SpecFile_set_parse_warnings(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_uuid(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_uuid(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_lane_number(self, num) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: num +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = num +call swigc_SpecFile_set_lane_number(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_measurement_location_name(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_measurement_location_name(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_inspection(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_inspection(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_instrument_type(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_type(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_detector_type(self, type) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(DetectorType), intent(in) :: type +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = type +call swigc_SpecFile_set_detector_type(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_manufacturer(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_manufacturer(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_instrument_model(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_model(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_instrument_id(self, n) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: n +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(n, farg2, farg2_temp) +call swigc_SpecFile_set_instrument_id(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_live_time(self, lt, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +real(C_FLOAT), intent(in) :: lt +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = lt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_live_time(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_real_time(self, rt, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +real(C_FLOAT), intent(in) :: rt +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = rt +farg3 = measurement2%swigdata +call swigc_SpecFile_set_real_time(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_start_time(self, timestamp, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: timestamp +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = timestamp%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_start_time(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_remarks__SWIG_1(self, remarks, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = remarks%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_set_remarks__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_source_type(self, type, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(SourceType), intent(in) :: type +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = type +farg3 = measurement2%swigdata +call swigc_SpecFile_set_source_type(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_set_position(self, longitude, latitude, position_time, measurement4) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +real(C_DOUBLE), intent(in) :: longitude +real(C_DOUBLE), intent(in) :: latitude +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: position_time +class(Measurement), intent(in) :: measurement4 +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 +real(C_DOUBLE) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 + +farg1 = self%swigdata +farg2 = longitude +farg3 = latitude +farg4 = position_time%swigdata +farg5 = measurement4%swigdata +call swigc_SpecFile_set_position(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_set_title(self, title, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: title +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(title, farg2, farg2_temp) +farg3 = measurement2%swigdata +call swigc_SpecFile_set_title(farg1, farg2, farg3) +end subroutine + + +subroutine SWIGTM_fin_bool(finp, iminp) + use, intrinsic :: ISO_C_BINDING + logical, intent(in) :: finp + integer(kind=C_INT), intent(out) :: iminp + if (finp .eqv. .true.) then + iminp = 1 + else + iminp = 0 + end if +end subroutine + +subroutine swigf_SpecFile_set_contained_neutrons(self, contained, counts, measurement3, neutron_live_time) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +logical, intent(in) :: contained +real(C_FLOAT), intent(in) :: counts +class(Measurement), intent(in) :: measurement3 +real(C_FLOAT), intent(in) :: neutron_live_time +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +real(C_FLOAT) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_FLOAT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_bool(contained, farg2) +farg3 = counts +farg4 = measurement3%swigdata +farg5 = neutron_live_time +call swigc_SpecFile_set_contained_neutrons(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_set_detectors_analysis(self, ana) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(DetectorAnalysis), intent(in) :: ana +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ana%swigdata +call swigc_SpecFile_set_detectors_analysis(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_change_detector_name(self, original_name, new_name) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: original_name +character(len=*), intent(in) :: new_name +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(original_name, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(new_name, farg3, farg3_temp) +call swigc_SpecFile_change_detector_name(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_change_sample_numbers(self, from_to_sample_nums) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_t), intent(in) :: from_to_sample_nums +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = from_to_sample_nums%swigdata +call swigc_SpecFile_change_sample_numbers(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_add_measurement__SWIG_0(self, meas, docleanup) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_add_measurement__SWIG_0(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_add_measurement__SWIG_1(self, meas) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(Measurement), intent(in) :: meas +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = meas%swigdata +call swigc_SpecFile_add_measurement__SWIG_1(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_remove_measurement(self, meas, docleanup) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(Measurement), intent(in) :: meas +logical, intent(in) :: docleanup +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = meas%swigdata +call SWIGTM_fin_bool(docleanup, farg3) +call swigc_SpecFile_remove_measurement(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_remove_measurements(self, meas) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A), intent(in) :: meas +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = meas%swigdata +call swigc_SpecFile_remove_measurements(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_clear_multimedia_data(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_clear_multimedia_data(farg1) +end subroutine + +subroutine swigf_SpecFile_add_multimedia_data(self, data) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(MultimediaData), intent(in) :: data +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = data%swigdata +call swigc_SpecFile_add_multimedia_data(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_multimedia_data(self, data) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__Multi1X71T7), intent(in) :: data +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = data%swigdata +call swigc_SpecFile_set_multimedia_data(farg1, farg2) +end subroutine + +function swigf_SpecFile_occupancy_number_from_remarks(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_occupancy_number_from_remarks(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_sample_measurements(self, sample_number) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__shared_ptrT_SpecUtils__MeasurVEY9A) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: sample_number +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = sample_number +fresult = swigc_SpecFile_sample_measurements(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurement__SWIG_1(self, sample_number, det_name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: sample_number +character(len=*), intent(in) :: det_name +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = sample_number +call SWIGTM_fin_char_Sm_(det_name, farg3, farg3_temp) +fresult = swigc_SpecFile_measurement__SWIG_1(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurement__SWIG_2(self, sample_number, detector_number) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: sample_number +integer(C_INT), intent(in) :: detector_number +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = sample_number +farg3 = detector_number +fresult = swigc_SpecFile_measurement__SWIG_2(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_suggested_sum_energy_calibration(self, sample_numbers, detector_names) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibration) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +fresult = swigc_SpecFile_suggested_sum_energy_calibration(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_sum_measurements(self, sample_numbers, detector_names, energy_cal) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_numbers +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: detector_names +class(EnergyCalibration), intent(in) :: energy_cal +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = sample_numbers%swigdata +farg3 = detector_names%swigdata +farg4 = energy_cal%swigdata +fresult = swigc_SpecFile_sum_measurements(farg1, farg2, farg3, farg4) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_memmorysize(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_memmorysize(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_gamma_channel_counts(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_size_t_std__lessT_size_t_t_std__allocYIIZM) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_gamma_channel_counts(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_num_gamma_channels(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_num_gamma_channels(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_keep_n_bin_spectra_only(self, nbin) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: nbin +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = nbin +fresult = swigc_SpecFile_keep_n_bin_spectra_only(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_contained_neutron(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_contained_neutron(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_energy_cal_variants(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_energy_cal_variants(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_keep_energy_cal_variants(self, variants) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: variants +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = variants%swigdata +fresult = swigc_SpecFile_keep_energy_cal_variants(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_keep_derived_data_variant(self, tokeep) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(SpecFile_DerivedVariantToKeep), intent(in) :: tokeep +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = tokeep +fresult = swigc_SpecFile_keep_derived_data_variant(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_remove_detectors_data(self, dets_to_remove) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__setT_std__string_std__lessT_std__string_t1Q4VKZ), intent(in) :: dets_to_remove +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = dets_to_remove%swigdata +fresult = swigc_SpecFile_remove_detectors_data(farg1, farg2) +swig_result = fresult +end function + +function swigf_SpecFile_remove_neutron_measurements(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_remove_neutron_measurements(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_background_sample_number(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_background_sample_number(farg1) +swig_result = fresult +end function + +function swigf_SpecFile_generate_psuedo_uuid(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(SpecFile), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_generate_psuedo_uuid(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_SpecFile_reset(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_reset(farg1) +end subroutine + +function swigf_SpecFile_load_N42_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_pcf_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_pcf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_spc_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spc_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_chn_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_chn_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_iaea_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_iaea_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_binary_exploranium_file(self, file_name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: file_name +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(file_name, farg2, farg2_temp) +fresult = swigc_SpecFile_load_binary_exploranium_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_micro_raider_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_micro_raider_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_txt_or_csv_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_txt_or_csv_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_cnf_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_cnf_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_tracs_mps_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tracs_mps_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_aram_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_aram_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_spectroscopic_daily_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_amptek_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_amptek_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_ortec_listmode_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_ortec_listmode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_lsrm_spe_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lsrm_spe_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_tka_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_tka_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_multiact_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_multiact_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_phd_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_phd_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_lzs_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_lzs_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_radiacode_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_radiacode_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_xml_scan_data_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_xml_scan_data_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_json_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_json_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_caen_gxml_file(self, filename) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +fresult = swigc_SpecFile_load_caen_gxml_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_N42(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_N42_from_data__SWIG_0(self, data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: data +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_0(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_N42_from_data__SWIG_1(self, data, data_end) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: data +character(len=*), intent(in) :: data_end +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +call SWIGTM_fin_char_Sm_(data_end, farg3, farg3_temp) +fresult = swigc_SpecFile_load_N42_from_data__SWIG_1(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_iaea_spc(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_iaea_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_binary_spc(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_binary_spc(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_N42_document(self, document_node) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_rapidxml__xml_nodeT_char_t), intent(in) :: document_node +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = document_node%swigdata +fresult = swigc_SpecFile_load_from_N42_document(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_micro_raider_from_data(self, data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: data +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(data, farg2, farg2_temp) +fresult = swigc_SpecFile_load_from_micro_raider_from_data(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_binary_exploranium(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_binary_exploranium(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_pcf(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_pcf(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_txt_or_csv(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_txt_or_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_Gr135_txt(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_Gr135_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_spectroscopic_daily_file(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_spectroscopic_daily_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_srpm210_csv(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_srpm210_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_D3S_raw(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_D3S_raw(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_amptek_mca(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_amptek_mca(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_ortec_listmode(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_ortec_listmode(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_lsrm_spe(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lsrm_spe(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_tka(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tka(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_multiact(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_multiact(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_phd(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_phd(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_lzs(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_lzs(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_radiacode(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_radiacode_spectrogram(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_radiacode_spectrogram(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_xml_scan_data(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_xml_scan_data(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_iaea(self, istr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: istr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = istr%swigdata +fresult = swigc_SpecFile_load_from_iaea(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_chn(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_chn(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_cnf(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_cnf(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_tracs_mps(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_tracs_mps(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_aram(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_aram(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_json(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_json(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_load_from_caen_gxml(self, input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +fresult = swigc_SpecFile_load_from_caen_gxml(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_SpecFile_cleanup_after_load__SWIG_0(self, flags) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: flags +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = flags +call swigc_SpecFile_cleanup_after_load__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_cleanup_after_load__SWIG_1(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_cleanup_after_load__SWIG_1(farg1) +end subroutine + +subroutine swigf_SpecFile_recalc_total_counts(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_recalc_total_counts(farg1) +end subroutine + +subroutine swigf_SpecFile_merge_neutron_meas_into_gamma_meas(self) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_SpecFile_merge_neutron_meas_into_gamma_meas(farg1) +end subroutine + +subroutine swigf_SpecFile_rebin_measurement(self, cal, measurement2) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(EnergyCalibration), intent(in) :: cal +class(Measurement), intent(in) :: measurement2 +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = cal%swigdata +farg3 = measurement2%swigdata +call swigc_SpecFile_rebin_measurement(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_rebin_all_measurements(self, cal) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(EnergyCalibration), intent(in) :: cal +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = cal%swigdata +call swigc_SpecFile_rebin_all_measurements(farg1, farg2) +end subroutine + +subroutine swigf_SpecFile_set_energy_calibration_from_CALp_file(self, input) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__istream), intent(in) :: input +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = input%swigdata +call swigc_SpecFile_set_energy_calibration_from_CALp_file(farg1, farg2) +end subroutine + +function swigf_SpecFile_detector_names_to_numbers(self, det_names) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2) :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = det_names%swigdata +fresult = swigc_SpecFile_detector_names_to_numbers(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_SpecFile_write_to_file__SWIG_0(self, filename, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = format +call swigc_SpecFile_write_to_file__SWIG_0(farg1, farg2, farg3) +end subroutine + +subroutine swigf_SpecFile_write_to_file__SWIG_1(self, filename, sample_nums, det_nums, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write_to_file__SWIG_2(self, filename, sample_nums, det_nums, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +type(SWIGTYPE_p_std__vectorT_int_t), intent(in) :: sample_nums +type(SWIGTYPE_p_std__vectorT_int_t), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_2(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write_to_file__SWIG_3(self, filename, sample_nums, det_names, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +character(len=*), intent(in) :: filename +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(filename, farg2, farg2_temp) +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write_to_file__SWIG_3(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write__SWIG_0(self, strm, sample_nums, det_nums, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_0(farg1, farg2, farg3, farg4, farg5) +end subroutine + +subroutine swigf_SpecFile_write__SWIG_1(self, strm, sample_nums, det_names, format) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: strm +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(SaveSpectrumAsType), intent(in) :: format +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 +integer(C_INT) :: farg5 + +farg1 = self%swigdata +farg2 = strm%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +farg5 = format +call swigc_SpecFile_write__SWIG_1(farg1, farg2, farg3, farg4, farg5) +end subroutine + +function swigf_SpecFile_write_pcf(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_pcf(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_2006_N42(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2006_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_csv(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_csv(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_txt(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_txt(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_integer_chn__SWIG_0(self, ostr, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_0(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_integer_chn__SWIG_1(self, ostr, sample_nums, det_names) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: det_names +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = ostr%swigdata +farg3 = sample_nums%swigdata +farg4 = det_names%swigdata +fresult = swigc_SpecFile_write_integer_chn__SWIG_1(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_binary_spc(self, ostr, type, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(SpecFile_SpcBinaryType), intent(in) :: type +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 +type(SwigClassWrapper) :: farg5 + +farg1 = self%swigdata +farg2 = ostr%swigdata +farg3 = type +farg4 = sample_nums%swigdata +farg5 = det_nums%swigdata +fresult = swigc_SpecFile_write_binary_spc(farg1, farg2, farg3, farg4, farg5) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_ascii_spc(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_ascii_spc(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_binary_exploranium_gr130v0(self, output) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr130v0(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_binary_exploranium_gr135v2(self, output) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = output%swigdata +fresult = swigc_SpecFile_write_binary_exploranium_gr135v2(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_iaea_spe(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_iaea_spe(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_cnf(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_cnf(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_write_tka(self, output, sample_nums, det_nums) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: output +type(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: sample_nums +class(SWIGTYPE_p_std__setT_int_std__lessT_int_t_std__allocatorT10FDJ2), intent(in) :: det_nums +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = output%swigdata +farg3 = sample_nums%swigdata +farg4 = det_nums%swigdata +fresult = swigc_SpecFile_write_tka(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function get_SpecFile_2012N42_VERSION() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +integer(C_INT) :: fresult + +fresult = swigc_SpecFile_2012N42_VERSION_get() +swig_result = fresult +end function + +function swigf_SpecFile_create_2012_N42_xml(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_rapidxml__xml_documentT_char_t_t) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_create_2012_N42_xml(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_write_2012_N42(self, ostr) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SpecFile), intent(in) :: self +class(SWIGTYPE_p_std__ostream), intent(in) :: ostr +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = ostr%swigdata +fresult = swigc_SpecFile_write_2012_N42(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_SpecFile_mutex(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__recursive_mutex) :: swig_result +class(SpecFile), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_mutex(farg1) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_measurement_at(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(Measurement) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT), intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = index +fresult = swigc_SpecFile_measurement_at(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_SpecFile_get_max_channel_count(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(SpecFile), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_SpecFile_get_max_channel_count(farg1) +swig_result = fresult +end function + +subroutine swigf_SpecFile_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(SpecFile), intent(inout) :: self +type(SpecFile), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_SpecFile_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysisResult_remark__set(self, remark_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: remark_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_remark__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_remark__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_remark__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_nuclide__set(self, nuclide_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(nuclide_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_nuclide__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_nuclide__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_activity__set(self, activity_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: activity_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = activity_ +call swigc_DetectorAnalysisResult_activity__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_activity__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_activity__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_nuclide_type__set(self, nuclide_type_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: nuclide_type_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(nuclide_type_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_nuclide_type__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_nuclide_type__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_nuclide_type__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_id_confidence__set(self, id_confidence_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: id_confidence_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(id_confidence_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_id_confidence__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_id_confidence__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_id_confidence__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysisResult_distance__set(self, distance_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: distance_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = distance_ +call swigc_DetectorAnalysisResult_distance__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_distance__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_distance__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_dose_rate__set(self, dose_rate_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: dose_rate_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = dose_rate_ +call swigc_DetectorAnalysisResult_dose_rate__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_dose_rate__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_dose_rate__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_real_time__set(self, real_time_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT), intent(in) :: real_time_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = real_time_ +call swigc_DetectorAnalysisResult_real_time__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_real_time__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_real_time__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysisResult_detector__set(self, detector_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +character(len=*), intent(in) :: detector_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(detector_, farg2, farg2_temp) +call swigc_DetectorAnalysisResult_detector__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysisResult_detector__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_detector__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_new_DetectorAnalysisResult() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DetectorAnalysisResult) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DetectorAnalysisResult() +self%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysisResult_reset(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DetectorAnalysisResult_reset(farg1) +end subroutine + +function swigf_DetectorAnalysisResult_isEmpty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(DetectorAnalysisResult), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysisResult_isEmpty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_DetectorAnalysisResult_release(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysisResult(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysisResult_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysisResult), intent(inout) :: self +type(DetectorAnalysisResult), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DetectorAnalysisResult_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysis_remarks__set(self, remarks_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__string_t), intent(in) :: remarks_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = remarks_%swigdata +call swigc_DetectorAnalysis_remarks__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_remarks__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_remarks__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_algorithm_name__set(self, algorithm_name_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_name_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_name_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_name__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_name__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_name__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_algorithm_component_versions__set(self, algorithm_component_versions_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t), intent(in) :: algorithm_component_versions_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = algorithm_component_versions_%swigdata +call swigc_DetectorAnalysis_algorithm_component_versions__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_component_versions__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_component_versions__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_algorithm_creator__set(self, algorithm_creator_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_creator_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_creator_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_creator__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_creator__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_creator__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_algorithm_description__set(self, algorithm_description_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_description_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_description__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_description__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_analysis_start_time__set(self, analysis_start_time_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: analysis_start_time_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = analysis_start_time_%swigdata +call swigc_DetectorAnalysis_analysis_start_time__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_analysis_start_time__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_analysis_start_time__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_analysis_computation_duration__set(self, analysis_computation_duration_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT), intent(in) :: analysis_computation_duration_ +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = analysis_computation_duration_ +call swigc_DetectorAnalysis_analysis_computation_duration__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_analysis_computation_duration__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DetectorAnalysis), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_analysis_computation_duration__get(farg1) +swig_result = fresult +end function + +subroutine swigf_DetectorAnalysis_algorithm_result_description__set(self, algorithm_result_description_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +character(len=*), intent(in) :: algorithm_result_description_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(algorithm_result_description_, farg2, farg2_temp) +call swigc_DetectorAnalysis_algorithm_result_description__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_algorithm_result_description__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_algorithm_result_description__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_DetectorAnalysis_results__set(self, results_) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t), intent(in) :: results_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = results_%swigdata +call swigc_DetectorAnalysis_results__set(farg1, farg2) +end subroutine + +function swigf_DetectorAnalysis_results__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_SpecUtils__DetectorAnalysisResult_t) :: swig_result +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_results__get(farg1) +swig_result%swigdata = fresult +end function + +function swigf_new_DetectorAnalysis() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DetectorAnalysis) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DetectorAnalysis() +self%swigdata = fresult +end function + +subroutine swigf_DetectorAnalysis_reset(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DetectorAnalysis_reset(farg1) +end subroutine + +function swigf_DetectorAnalysis_is_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(DetectorAnalysis), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DetectorAnalysis_is_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +subroutine swigf_DetectorAnalysis_release(self) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DetectorAnalysis(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DetectorAnalysis_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DetectorAnalysis), intent(inout) :: self +type(DetectorAnalysis), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DetectorAnalysis_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +subroutine swigf_MultimediaData_remark__set(self, remark_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: remark_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(remark_, farg2, farg2_temp) +call swigc_MultimediaData_remark__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_remark__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_remark__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_MultimediaData_descriptions__set(self, descriptions_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: descriptions_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(descriptions_, farg2, farg2_temp) +call swigc_MultimediaData_descriptions__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_descriptions__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_descriptions__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_MultimediaData_data__set(self, data_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = data_%swigdata +call swigc_MultimediaData_data__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_data__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_char_t) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_data__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MultimediaData_data_encoding__set(self, data_encoding_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +integer(MultimediaData_EncodingType), intent(in) :: data_encoding_ +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = data_encoding_ +call swigc_MultimediaData_data_encoding__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_data_encoding__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(MultimediaData_EncodingType) :: swig_result +class(MultimediaData), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_data_encoding__get(farg1) +swig_result = fresult +end function + +subroutine swigf_MultimediaData_capture_start_time__set(self, capture_start_time_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN), intent(in) :: capture_start_time_ +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = capture_start_time_%swigdata +call swigc_MultimediaData_capture_start_time__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_capture_start_time__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__chrono__time_pointT_std__chrono__system_c1Q0CUN) :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_capture_start_time__get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_MultimediaData_file_uri__set(self, file_uri_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: file_uri_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(file_uri_, farg2, farg2_temp) +call swigc_MultimediaData_file_uri__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_file_uri__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_file_uri__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine swigf_MultimediaData_mime_type__set(self, mime_type_) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(in) :: self +character(len=*), intent(in) :: mime_type_ +type(SwigClassWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +farg1 = self%swigdata +call SWIGTM_fin_char_Sm_(mime_type_, farg2, farg2_temp) +call swigc_MultimediaData_mime_type__set(farg1, farg2) +end subroutine + +function swigf_MultimediaData_mime_type__get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +class(MultimediaData), intent(in) :: self +type(SwigArrayWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_MultimediaData_mime_type__get(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function swigf_new_MultimediaData() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(MultimediaData) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_MultimediaData() +self%swigdata = fresult +end function + +subroutine swigf_MultimediaData_release(self) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_MultimediaData(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_MultimediaData_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(MultimediaData), intent(inout) :: self +type(MultimediaData), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_MultimediaData_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function pcf_det_name_to_dev_pair_index(name, col, panel, mca) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +character(len=*), intent(in) :: name +integer(C_INT), target, intent(inout) :: col +integer(C_INT), target, intent(inout) :: panel +integer(C_INT), target, intent(inout) :: mca +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +type(C_PTR) :: farg2 +type(C_PTR) :: farg3 +type(C_PTR) :: farg4 + +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +farg2 = c_loc(col) +farg3 = c_loc(panel) +farg4 = c_loc(mca) +fresult = swigc_pcf_det_name_to_dev_pair_index(farg1, farg2, farg3, farg4) +swig_result = fresult +end function + +function swigf_new_DevPair__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DevPair__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_DevPair__SWIG_1(first, second) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: self +real(C_FLOAT), intent(in) :: first +real(C_FLOAT), intent(in) :: second +type(SwigClassWrapper) :: fresult +real(C_FLOAT) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = first +farg2 = second +fresult = swigc_new_DevPair__SWIG_1(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_new_DevPair__SWIG_2(p) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: self +class(DevPair), intent(in) :: p +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = p%swigdata +fresult = swigc_new_DevPair__SWIG_2(farg1) +self%swigdata = fresult +end function + +subroutine swigf_DevPair_first_set(self, first) +use, intrinsic :: ISO_C_BINDING +class(DevPair), intent(in) :: self +real(C_FLOAT), intent(in) :: first +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = first +call swigc_DevPair_first_set(farg1, farg2) +end subroutine + +function swigf_DevPair_first_get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DevPair), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DevPair_first_get(farg1) +swig_result = fresult +end function + +subroutine swigf_DevPair_second_set(self, second) +use, intrinsic :: ISO_C_BINDING +class(DevPair), intent(in) :: self +real(C_FLOAT), intent(in) :: second +type(SwigClassWrapper) :: farg1 +real(C_FLOAT) :: farg2 + +farg1 = self%swigdata +farg2 = second +call swigc_DevPair_second_set(farg1, farg2) +end subroutine + +function swigf_DevPair_second_get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(DevPair), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DevPair_second_get(farg1) +swig_result = fresult +end function + +subroutine swigf_DevPair_release(self) +use, intrinsic :: ISO_C_BINDING +class(DevPair), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DevPair(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DevPair_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DevPair), intent(inout) :: self +type(DevPair), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DevPair_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_new_DeviationPairs__SWIG_0() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_DeviationPairs__SWIG_0() +self%swigdata = fresult +end function + +function swigf_new_DeviationPairs__SWIG_1(other) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: self +class(DeviationPairs), intent(in) :: other +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = other%swigdata +fresult = swigc_new_DeviationPairs__SWIG_1(farg1) +self%swigdata = fresult +end function + +function swigf_new_DeviationPairs__SWIG_2(count) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: fresult +integer(C_INT) :: farg1 + +farg1 = int(count, C_INT) +fresult = swigc_new_DeviationPairs__SWIG_2(farg1) +self%swigdata = fresult +end function + +function swigf_new_DeviationPairs__SWIG_3(count, v) & +result(self) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: self +integer, intent(in) :: count +class(DevPair), intent(in) :: v +type(SwigClassWrapper) :: fresult +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = int(count, C_INT) +farg2 = v%swigdata +fresult = swigc_new_DeviationPairs__SWIG_3(farg1, farg2) +self%swigdata = fresult +end function + +function swigf_DeviationPairs_size(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(DeviationPairs), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_size(farg1) +swig_result = int(fresult) +end function + +function swigf_DeviationPairs_capacity(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer :: swig_result +class(DeviationPairs), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_capacity(farg1) +swig_result = int(fresult) +end function + +function swigf_DeviationPairs_empty(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(DeviationPairs), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_empty(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_DeviationPairs_front(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_front(farg1) +swig_result%swigdata = fresult +end function + +function swigf_DeviationPairs_back(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_back(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_DeviationPairs_reserve(self, count) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_DeviationPairs_reserve(farg1, farg2) +end subroutine + +subroutine swigf_DeviationPairs_resize__SWIG_0(self, count) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: count +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +call swigc_DeviationPairs_resize__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_DeviationPairs_resize__SWIG_1(self, count, v) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: count +class(DevPair), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(count, C_INT) +farg3 = v%swigdata +call swigc_DeviationPairs_resize__SWIG_1(farg1, farg2, farg3) +end subroutine + +subroutine swigf_DeviationPairs_push_back(self, v) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +class(DevPair), intent(in) :: v +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = v%swigdata +call swigc_DeviationPairs_push_back(farg1, farg2) +end subroutine + +subroutine swigf_DeviationPairs_pop_back(self) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DeviationPairs_pop_back(farg1) +end subroutine + +subroutine swigf_DeviationPairs_clear(self) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_DeviationPairs_clear(farg1) +end subroutine + +subroutine swigf_DeviationPairs_set(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +class(DevPair), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_DeviationPairs_set(farg1, farg2, farg3) +end subroutine + +function swigf_DeviationPairs_get(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_DeviationPairs_get(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_DeviationPairs_insert(self, index, v) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +class(DevPair), intent(in) :: v +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +farg3 = v%swigdata +call swigc_DeviationPairs_insert(farg1, farg2, farg3) +end subroutine + +subroutine swigf_DeviationPairs_erase__SWIG_0(self, index) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +call swigc_DeviationPairs_erase__SWIG_0(farg1, farg2) +end subroutine + +subroutine swigf_DeviationPairs_erase__SWIG_1(self, start_index, stop_index) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: start_index +integer, intent(in) :: stop_index +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +integer(C_INT) :: farg3 + +farg1 = self%swigdata +farg2 = int(start_index, C_INT) +farg3 = int(stop_index, C_INT) +call swigc_DeviationPairs_erase__SWIG_1(farg1, farg2, farg3) +end subroutine + +function swigf_DeviationPairs_front_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_front_ref(farg1) +swig_result%swigdata = fresult +end function + +function swigf_DeviationPairs_back_ref(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_DeviationPairs_back_ref(farg1) +swig_result%swigdata = fresult +end function + +function swigf_DeviationPairs_get_ref(self, index) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DevPair) :: swig_result +class(DeviationPairs), intent(in) :: self +integer, intent(in) :: index +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = int(index, C_INT) +fresult = swigc_DeviationPairs_get_ref(farg1, farg2) +swig_result%swigdata = fresult +end function + +subroutine swigf_DeviationPairs_release(self) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_DeviationPairs(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_DeviationPairs_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(DeviationPairs), intent(inout) :: self +type(DeviationPairs), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_DeviationPairs_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function swigf_EnergyCalibration_type(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(EnergyCalType) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_type(farg1) +swig_result = fresult +end function + +function swigf_EnergyCalibration_valid(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_valid(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_EnergyCalibration_coefficients(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_coefficients(farg1) +swig_result%swigdata = fresult +end function + +function swigf_EnergyCalibration_deviation_pairs(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_deviation_pairs(farg1) +swig_result%swigdata = fresult +end function + +function swigf_EnergyCalibration_channel_energies(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_channel_energies(farg1) +swig_result%swigdata = fresult +end function + +function swigf_EnergyCalibration_num_channels(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_num_channels(farg1) +swig_result = fresult +end function + +function swigf_new_EnergyCalibration() & +result(self) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibration) :: self +type(SwigClassWrapper) :: fresult + +fresult = swigc_new_EnergyCalibration() +self%swigdata = fresult +end function + +subroutine swigf_EnergyCalibration_set_polynomial(self, num_channels, coeffs, dev_pairs) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: dev_pairs +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_polynomial(farg1, farg2, farg3, farg4) +end subroutine + +subroutine swigf_EnergyCalibration_set_default_polynomial(self, num_channels, coeffs, dev_pairs) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: dev_pairs +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_default_polynomial(farg1, farg2, farg3, farg4) +end subroutine + +subroutine swigf_EnergyCalibration_set_full_range_fraction(self, num_channels, coeffs, dev_pairs) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: num_channels +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: dev_pairs +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = self%swigdata +farg2 = num_channels +farg3 = coeffs%swigdata +farg4 = dev_pairs%swigdata +call swigc_EnergyCalibration_set_full_range_fraction(farg1, farg2, farg3, farg4) +end subroutine + +function swigf_EnergyCalibration_op_lt__(self, rhs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_lt__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_EnergyCalibration_op_eq__(self, rhs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_eq__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_EnergyCalibration_op_ne__(self, rhs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(EnergyCalibration), intent(in) :: self +class(EnergyCalibration), intent(in) :: rhs +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = rhs%swigdata +fresult = swigc_EnergyCalibration_op_ne__(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function swigf_EnergyCalibration_memmorysize(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_memmorysize(farg1) +swig_result = fresult +end function + +function swigf_EnergyCalibration_channel_for_energy(self, energy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_DOUBLE), intent(in) :: energy +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 + +farg1 = self%swigdata +farg2 = energy +fresult = swigc_EnergyCalibration_channel_for_energy(farg1, farg2) +swig_result = fresult +end function + +function swigf_EnergyCalibration_energy_for_channel(self, channel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_DOUBLE), intent(in) :: channel +real(C_DOUBLE) :: fresult +type(SwigClassWrapper) :: farg1 +real(C_DOUBLE) :: farg2 + +farg1 = self%swigdata +farg2 = channel +fresult = swigc_EnergyCalibration_energy_for_channel(farg1, farg2) +swig_result = fresult +end function + +function swigf_EnergyCalibration_lower_energy(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_lower_energy(farg1) +swig_result = fresult +end function + +function swigf_EnergyCalibration_upper_energy(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +class(EnergyCalibration), intent(in) :: self +real(C_FLOAT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_upper_energy(farg1) +swig_result = fresult +end function + +function swigf_EnergyCalibration_sm_min_channels_get() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +integer(C_INT) :: fresult + +fresult = swigc_EnergyCalibration_sm_min_channels_get() +swig_result = fresult +end function + +function swigf_EnergyCalibration_sm_max_channels_get() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +integer(C_INT) :: fresult + +fresult = swigc_EnergyCalibration_sm_max_channels_get() +swig_result = fresult +end function + +function swigf_EnergyCalibration_sm_polynomial_offset_limit_get() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_FLOAT) :: swig_result +real(C_FLOAT) :: fresult + +fresult = swigc_EnergyCalibration_sm_polynomial_offset_limit_get() +swig_result = fresult +end function + +subroutine swigf_EnergyCalibration_release(self) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(inout) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +if (btest(farg1%cmemflags, swig_cmem_own_bit)) then +call swigc_delete_EnergyCalibration(farg1) +endif +farg1%cptr = C_NULL_PTR +farg1%cmemflags = 0 +self%swigdata = farg1 +end subroutine + +subroutine swigf_EnergyCalibration_op_assign__(self, other) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(inout) :: self +type(EnergyCalibration), intent(in) :: other +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = other%swigdata +call swigc_EnergyCalibration_op_assign__(farg1, farg2) +self%swigdata = farg1 +end subroutine + +function energy_cal_combine_channels(orig_cal, num_channel_combine) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibration) :: swig_result +class(EnergyCalibration), intent(in) :: orig_cal +integer(C_INT), intent(in) :: num_channel_combine +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = orig_cal%swigdata +farg2 = num_channel_combine +fresult = swigc_energy_cal_combine_channels(farg1, farg2) +swig_result%swigdata = fresult +end function + +function polynomial_binning(coeffs, nchannel, deviation_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = deviation_pairs%swigdata +fresult = swigc_polynomial_binning(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_fullrangefraction_binning__SWIG_0(coeffs, nchannel, dev_pairs, include_upper_energy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: dev_pairs +logical, intent(in) :: include_upper_energy +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 +integer(C_INT) :: farg4 + +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = dev_pairs%swigdata +call SWIGTM_fin_bool(include_upper_energy, farg4) +fresult = swigc_fullrangefraction_binning__SWIG_0(farg1, farg2, farg3, farg4) +swig_result%swigdata = fresult +end function + +function swigf_fullrangefraction_binning__SWIG_1(coeffs, nchannel, dev_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: dev_pairs +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = coeffs%swigdata +farg2 = nchannel +farg3 = dev_pairs%swigdata +fresult = swigc_fullrangefraction_binning__SWIG_1(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function fullrangefraction_energy(channel_number, coeffs, nchannel, deviation_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: channel_number +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = channel_number +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_fullrangefraction_energy(farg1, farg2, farg3, farg4) +swig_result = fresult +end function + +function polynomial_energy(channel_number, coeffs, deviation_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: channel_number +class(FloatVector), intent(in) :: coeffs +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = channel_number +farg2 = coeffs%swigdata +farg3 = deviation_pairs%swigdata +fresult = swigc_polynomial_energy(farg1, farg2, farg3) +swig_result = fresult +end function + +function deviation_pair_correction(polynomial_energy0, dev_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: polynomial_energy0 +class(DeviationPairs), intent(in) :: dev_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = polynomial_energy0 +farg2 = dev_pairs%swigdata +fresult = swigc_deviation_pair_correction(farg1, farg2) +swig_result = fresult +end function + +function correction_due_to_dev_pairs(true_energy, dev_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: true_energy +class(DeviationPairs), intent(in) :: dev_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = true_energy +farg2 = dev_pairs%swigdata +fresult = swigc_correction_due_to_dev_pairs(farg1, farg2) +swig_result = fresult +end function + +function apply_deviation_pair(binning, dev_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(FloatVector), intent(in) :: binning +class(DeviationPairs), intent(in) :: dev_pairs +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = binning%swigdata +farg2 = dev_pairs%swigdata +fresult = swigc_apply_deviation_pair(farg1, farg2) +swig_result%swigdata = fresult +end function + +function polynomial_coef_to_fullrangefraction(coeffs, nchannel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_polynomial_coef_to_fullrangefraction(farg1, farg2) +swig_result%swigdata = fresult +end function + +function fullrangefraction_coef_to_polynomial(coeffs, nchannel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_fullrangefraction_coef_to_polynomial(farg1, farg2) +swig_result%swigdata = fresult +end function + +function mid_channel_polynomial_to_fullrangeFraction(coeffs, nchannel) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = coeffs%swigdata +farg2 = nchannel +fresult = swigc_mid_channel_polynomial_to_fullrangeFraction(farg1, farg2) +swig_result%swigdata = fresult +end function + +function calibration_is_valid(type, eqn, devpairs, nbin) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +integer(EnergyCalType), intent(in) :: type +class(FloatVector), intent(in) :: eqn +class(DeviationPairs), intent(in) :: devpairs +integer(C_INT), intent(in) :: nbin +integer(C_INT) :: fresult +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +integer(C_INT) :: farg4 + +farg1 = type +farg2 = eqn%swigdata +farg3 = devpairs%swigdata +farg4 = nbin +fresult = swigc_calibration_is_valid(farg1, farg2, farg3, farg4) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function polynomial_cal_remove_first_channels(num_channels_remove, orig_coefs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +integer(C_INT), intent(in) :: num_channels_remove +class(FloatVector), intent(in) :: orig_coefs +type(SwigClassWrapper) :: fresult +integer(C_INT) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = num_channels_remove +farg2 = orig_coefs%swigdata +fresult = swigc_polynomial_cal_remove_first_channels(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_find_fullrangefraction_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE), intent(in) :: accuracy +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_DOUBLE) :: farg5 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +farg5 = accuracy +fresult = swigc_find_fullrangefraction_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) +swig_result = fresult +end function + +function swigf_find_fullrangefraction_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_find_fullrangefraction_channel__SWIG_1(farg1, farg2, farg3, farg4) +swig_result = fresult +end function + +function swigf_find_polynomial_channel__SWIG_0(energy, coeffs, nchannel, deviation_pairs, accuracy) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE), intent(in) :: accuracy +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 +real(C_DOUBLE) :: farg5 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +farg5 = accuracy +fresult = swigc_find_polynomial_channel__SWIG_0(farg1, farg2, farg3, farg4, farg5) +swig_result = fresult +end function + +function swigf_find_polynomial_channel__SWIG_1(energy, coeffs, nchannel, deviation_pairs) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +real(C_DOUBLE) :: swig_result +real(C_DOUBLE), intent(in) :: energy +class(FloatVector), intent(in) :: coeffs +integer(C_INT), intent(in) :: nchannel +class(DeviationPairs), intent(in) :: deviation_pairs +real(C_DOUBLE) :: fresult +real(C_DOUBLE) :: farg1 +type(SwigClassWrapper) :: farg2 +integer(C_INT) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = energy +farg2 = coeffs%swigdata +farg3 = nchannel +farg4 = deviation_pairs%swigdata +fresult = swigc_find_polynomial_channel__SWIG_1(farg1, farg2, farg3, farg4) +swig_result = fresult +end function + +subroutine rebin_by_lower_edge(original_energies, original_counts, new_energies, resulting_counts) +use, intrinsic :: ISO_C_BINDING +class(FloatVector), intent(in) :: original_energies +class(FloatVector), intent(in) :: original_counts +class(FloatVector), intent(in) :: new_energies +class(FloatVector), intent(in) :: resulting_counts +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +type(SwigClassWrapper) :: farg3 +type(SwigClassWrapper) :: farg4 + +farg1 = original_energies%swigdata +farg2 = original_counts%swigdata +farg3 = new_energies%swigdata +farg4 = resulting_counts%swigdata +call swigc_rebin_by_lower_edge(farg1, farg2, farg3, farg4) +end subroutine + +function write_CALp_file(output, cal, detector_name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +class(SWIGTYPE_p_std__ostream), intent(in) :: output +class(EnergyCalibration), intent(in) :: cal +character(len=*), intent(in) :: detector_name +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg3_temp +type(SwigArrayWrapper) :: farg3 + +farg1 = output%swigdata +farg2 = cal%swigdata +call SWIGTM_fin_char_Sm_(detector_name, farg3, farg3_temp) +fresult = swigc_write_CALp_file(farg1, farg2, farg3) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function remove_file(name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_remove_file(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function is_file(name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_is_file(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function rename_file(source, destination) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: source +character(len=*), intent(in) :: destination +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(source, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(destination, farg2, farg2_temp) +fresult = swigc_rename_file(farg1, farg2) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function is_directory(name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_is_directory(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function create_directory(name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_create_directory(farg1) +swig_result = fresult +end function + +function can_rw_in_directory(name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: name +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(name, farg1, farg1_temp) +fresult = swigc_can_rw_in_directory(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function append_path(base, name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: base +character(len=*), intent(in) :: name +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(base, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(name, farg2, farg2_temp) +fresult = swigc_append_path(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function filename(path_and_name) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: path_and_name +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(path_and_name, farg1, farg1_temp) +fresult = swigc_filename(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function parent_path(path) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: path +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_parent_path(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function file_extension(path) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: path +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_file_extension(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function file_size(path) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +character(len=*), intent(in) :: path +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_file_size(farg1) +swig_result = fresult +end function + +function temp_dir() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +type(SwigArrayWrapper) :: fresult + +fresult = swigc_temp_dir() +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function is_absolute_path(path) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: path +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(path, farg1, farg1_temp) +fresult = swigc_is_absolute_path(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + +function get_working_path() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +type(SwigArrayWrapper) :: fresult + +fresult = swigc_get_working_path() +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function temp_file_name(filebasename, directory) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: filebasename +character(len=*), intent(in) :: directory +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(filebasename, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(directory, farg2, farg2_temp) +fresult = swigc_temp_file_name(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function get_sm_recursive_ls_max_depth() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +integer(C_INT) :: fresult + +fresult = swigc_sm_recursive_ls_max_depth_get() +swig_result = fresult +end function + +function get_sm_ls_max_results() & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(C_INT) :: swig_result +integer(C_INT) :: fresult + +fresult = swigc_sm_ls_max_results_get() +swig_result = fresult +end function + +function swigf_recursive_ls__SWIG_0(sourcedir, ending) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +character(len=*), intent(in) :: ending +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(ending, farg2, farg2_temp) +fresult = swigc_recursive_ls__SWIG_0(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_recursive_ls__SWIG_1(sourcedir) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +fresult = swigc_recursive_ls__SWIG_1(farg1) +swig_result%swigdata = fresult +end function + +function swigf_recursive_ls__SWIG_2(sourcedir, match_fcn, user_data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +procedure(SWIGTYPE_f_r_q_const__std__string_p_void__bool) :: match_fcn +type(C_PTR), intent(in) :: user_data +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR) :: farg2 +type(C_PTR) :: farg3 + +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +farg2 = c_funloc(match_fcn) +farg3 = user_data +fresult = swigc_recursive_ls__SWIG_2(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function swigf_ls_files_in_directory__SWIG_0(sourcedir, ending) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +character(len=*), intent(in) :: ending +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(ending, farg2, farg2_temp) +fresult = swigc_ls_files_in_directory__SWIG_0(farg1, farg2) +swig_result%swigdata = fresult +end function + +function swigf_ls_files_in_directory__SWIG_1(sourcedir) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +fresult = swigc_ls_files_in_directory__SWIG_1(farg1) +swig_result%swigdata = fresult +end function + +function swigf_ls_files_in_directory__SWIG_2(sourcedir, match_fcn, match_data) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: sourcedir +procedure(SWIGTYPE_f_r_q_const__std__string_p_void__bool) :: match_fcn +type(C_PTR), intent(in) :: match_data +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +type(C_FUNPTR) :: farg2 +type(C_PTR) :: farg3 + +call SWIGTM_fin_char_Sm_(sourcedir, farg1, farg1_temp) +farg2 = c_funloc(match_fcn) +farg3 = match_data +fresult = swigc_ls_files_in_directory__SWIG_2(farg1, farg2, farg3) +swig_result%swigdata = fresult +end function + +function ls_directories_in_directory(src) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__vectorT_std__string_t) :: swig_result +character(len=*), intent(in) :: src +type(SwigClassWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(src, farg1, farg1_temp) +fresult = swigc_ls_directories_in_directory(farg1) +swig_result%swigdata = fresult +end function + +function fs_relative(from_path, to_path) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: from_path +character(len=*), intent(in) :: to_path +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +character(kind=C_CHAR), dimension(:), allocatable, target :: farg2_temp +type(SwigArrayWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(from_path, farg1, farg1_temp) +call SWIGTM_fin_char_Sm_(to_path, farg2, farg2_temp) +fresult = swigc_fs_relative(farg1, farg2) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +function lexically_normalize_path(input) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +character(len=:), allocatable :: swig_result +character(len=*), intent(in) :: input +type(SwigArrayWrapper) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(input, farg1, farg1_temp) +fresult = swigc_lexically_normalize_path(farg1) +call SWIGTM_fout_char_Sm_(fresult, swig_result) +call SWIG_free(fresult%data) +end function + +subroutine load_file_data(filename0, data) +use, intrinsic :: ISO_C_BINDING +character(len=*), intent(in) :: filename0 +class(SWIGTYPE_p_std__vectorT_char_t), intent(in) :: data +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +call SWIGTM_fin_char_Sm_(filename0, farg1, farg1_temp) +farg2 = data%swigdata +call swigc_load_file_data(farg1, farg2) +end subroutine + +function likely_not_spec_file(file) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +logical :: swig_result +character(len=*), intent(in) :: file +integer(C_INT) :: fresult +character(kind=C_CHAR), dimension(:), allocatable, target :: farg1_temp +type(SwigArrayWrapper) :: farg1 + +call SWIGTM_fin_char_Sm_(file, farg1, farg1_temp) +fresult = swigc_likely_not_spec_file(farg1) +call SWIGTM_fout_bool(fresult, swig_result) +end function + + +end module From cbfc685a9c753931b5b1272a435230bebcabd7fb Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 21 Oct 2024 17:02:21 -0600 Subject: [PATCH 092/100] update interface --- SpecUtils/EnergyCalibration.h | 3 +- SpecUtils/SpecFile.h | 6 + bindings/swig/fortran/CMakeLists.txt | 5 +- bindings/swig/fortran/SpecUtilsFortran.i | 6 - .../swig/fortran/SpecUtilsFortran_wrap.cxx | 141 ++++++++++- bindings/swig/fortran/SpecUtilsWrap.f90 | 222 ++++++++++++++++++ .../swig/fortran/test_specutils_fortran.f90 | 8 +- unit_tests/test_spec_file.cpp | 92 ++++---- 8 files changed, 426 insertions(+), 57 deletions(-) diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index b547962..9c12a06 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -291,8 +291,7 @@ namespace SpecUtils \sa set_polynomial, EnergyCalCheckType::Normal */ static const float sm_polynomial_offset_limit; - - protected: + /** Checks the channel energies is acceptable (e.g., enough channels, and monotonically increasing values). diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 620dd3f..727c948 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -1085,6 +1085,12 @@ class Measurement from a file. */ void set_energy_calibration( const std::shared_ptr &cal ); + + /// @brief Used for testing + void set_ecal( const std::shared_ptr &cal ) + { + energy_calibration_ = cal; + } diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index c8a5d6f..315c8f5 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -10,7 +10,10 @@ if (SpecUtils_FORTRAN_SWIG_GEN) OUTPUT ${SWIG_CPP_WRAPPER} ${SWIG_FORTRAN_WRAPPER} COMMAND ${CMAKE_COMMAND} -E echo "Generating SWIG wrapper..." COMMAND swig -I../../../ -fortran -c++ -outdir ${CMAKE_CURRENT_BINARY_DIR} -o ${SWIG_CPP_WRAPPER} ${SWIG_INTERFACE_FILE} - DEPENDS ${SWIG_INTERFACE_FILE} + DEPENDS ${SWIG_INTERFACE_FILE} + ${CMAKE_SOURCE_DIR}/SpecUtils/EnergyCalibration.h + ${CMAKE_SOURCE_DIR}/SpecUtils/SpecFile.h + ${CMAKE_SOURCE_DIR}/SpecUtils/FileSystem.h COMMENT "Generating SWIG **Fortran** wrapper code" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} ) diff --git a/bindings/swig/fortran/SpecUtilsFortran.i b/bindings/swig/fortran/SpecUtilsFortran.i index f7d33ce..c2a5fab 100644 --- a/bindings/swig/fortran/SpecUtilsFortran.i +++ b/bindings/swig/fortran/SpecUtilsFortran.i @@ -7,8 +7,6 @@ #include #include #include -#include - %} @@ -120,11 +118,7 @@ namespace std { /// @param index is 1-based std::shared_ptr measurement_at(int index) { - auto newIndex = static_cast(index-1); - - std::cout << __func__ << ": newIndex: " << newIndex << std::endl; - std::cout << __func__ << ": num_measurements: " << $self->num_measurements() << std::endl; return $self->measurement(newIndex); } diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index be7577b..3962334 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -303,8 +303,6 @@ template T SwigValueInit() { #include #include #include -#include - #include @@ -622,11 +620,7 @@ SWIGINTERN void SpecUtils_Measurement_get_spectrum(SpecUtils::Measurement *self, } } SWIGINTERN std::shared_ptr< SpecUtils::Measurement const > SpecUtils_SpecFile_measurement_at(SpecUtils::SpecFile *self,int index){ - auto newIndex = static_cast(index-1); - - std::cout << __func__ << ": newIndex: " << newIndex << std::endl; - std::cout << __func__ << ": num_measurements: " << self->num_measurements() << std::endl; return self->measurement(newIndex); } SWIGINTERN int SpecUtils_SpecFile_get_max_channel_count(SpecUtils::SpecFile *self){ @@ -2657,6 +2651,19 @@ SWIGEXPORT void _wrap_Measurement_set_energy_calibration(SwigClassWrapper *farg1 } +SWIGEXPORT void _wrap_Measurement_set_ecal(SwigClassWrapper *farg1, SwigClassWrapper const *farg2) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > *arg2 = 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > tempnull2 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + arg2 = farg2->cptr ? static_cast * >(farg2->cptr) : &tempnull2; + (arg1)->set_ecal((std::shared_ptr< SpecUtils::EnergyCalibration const > const &)*arg2); +} + + SWIGEXPORT void _wrap_Measurement_set_info_from_2006_N42_spectrum_node(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; rapidxml::xml_node< char > *arg2 = (rapidxml::xml_node< char > *) (rapidxml::xml_node< char > *)0 ; @@ -7148,6 +7155,128 @@ SWIGEXPORT float _wrap_EnergyCalibration_sm_polynomial_offset_limit_get() { } +SWIGEXPORT void _wrap_EnergyCalibration_check_lower_energies(SwigClassWrapper *farg1, int const *farg2, SwigClassWrapper *farg3) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + size_t arg2 ; + std::vector< float > *arg3 = 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (size_t)(*farg2); + SWIG_check_nonnull(farg3->cptr, "std::vector< float > const &", "FloatVector", "SpecUtils::EnergyCalibration::check_lower_energies(size_t const,std::vector< float > const &)", return ); + arg3 = (std::vector< float > *)farg3->cptr; + (arg1)->check_lower_energies(arg2,(std::vector< float > const &)*arg3); +} + + +SWIGEXPORT void _wrap_EnergyCalibration_m_type_set(SwigClassWrapper *farg1, int const *farg2) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + SpecUtils::EnergyCalType arg2 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (SpecUtils::EnergyCalType)(*farg2); + if (arg1) (arg1)->m_type = arg2; +} + + +SWIGEXPORT int _wrap_EnergyCalibration_m_type_get(SwigClassWrapper *farg1) { + int fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + SpecUtils::EnergyCalType result; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (SpecUtils::EnergyCalType) ((arg1)->m_type); + fresult = (int)(result); + return fresult; +} + + +SWIGEXPORT void _wrap_EnergyCalibration_m_coefficients_set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::vector< float > *arg2 = (std::vector< float > *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (std::vector< float > *)farg2->cptr; + if (arg1) (arg1)->m_coefficients = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_m_coefficients_get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + std::vector< float > *result = 0 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::vector< float > *)& ((arg1)->m_coefficients); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_EnergyCalibration_m_deviation_pairs_set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::vector< std::pair< float,float > > *arg2 = (std::vector< std::pair< float,float > > *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (std::vector< std::pair< float,float > > *)farg2->cptr; + if (arg1) (arg1)->m_deviation_pairs = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_m_deviation_pairs_get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + std::vector< std::pair< float,float > > *result = 0 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::vector< std::pair< float,float > > *)& ((arg1)->m_deviation_pairs); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + +SWIGEXPORT void _wrap_EnergyCalibration_m_channel_energies_set(SwigClassWrapper *farg1, SwigClassWrapper *farg2) { + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< std::vector< float > const > *arg2 = (std::shared_ptr< std::vector< float > const > *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + arg2 = (std::shared_ptr< std::vector< float > const > *)farg2->cptr; + if (arg1) (arg1)->m_channel_energies = *arg2; +} + + +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_m_channel_energies_get(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + std::shared_ptr< std::vector< float > const > *result = 0 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (std::shared_ptr< std::vector< float > const > *)& ((arg1)->m_channel_energies); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + SWIGEXPORT void _wrap_delete_EnergyCalibration(SwigClassWrapper *farg1) { SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index d361800..4a79fbd 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -366,6 +366,7 @@ module specutilswrap procedure :: reset => swigf_Measurement_reset procedure :: rebin => swigf_Measurement_rebin procedure :: set_energy_calibration => swigf_Measurement_set_energy_calibration + procedure :: set_ecal => swigf_Measurement_set_ecal procedure :: set_info_from_2006_N42_spectrum_node => swigf_Measurement_set_info_from_2006_N42_spectrum_node procedure :: gamma_count_at => swigf_Measurement_gamma_count_at procedure :: get_num_channels => swigf_Measurement_get_num_channels @@ -804,6 +805,15 @@ module specutilswrap procedure, nopass :: get_sm_min_channels => swigf_EnergyCalibration_sm_min_channels_get procedure, nopass :: get_sm_max_channels => swigf_EnergyCalibration_sm_max_channels_get procedure, nopass :: get_sm_polynomial_offset_limit => swigf_EnergyCalibration_sm_polynomial_offset_limit_get + procedure :: check_lower_energies => swigf_EnergyCalibration_check_lower_energies + procedure :: set_m_type => swigf_EnergyCalibration_m_type_set + procedure :: get_m_type => swigf_EnergyCalibration_m_type_get + procedure :: set_m_coefficients => swigf_EnergyCalibration_m_coefficients_set + procedure :: get_m_coefficients => swigf_EnergyCalibration_m_coefficients_get + procedure :: set_m_deviation_pairs => swigf_EnergyCalibration_m_deviation_pairs_set + procedure :: get_m_deviation_pairs => swigf_EnergyCalibration_m_deviation_pairs_get + procedure :: set_m_channel_energies => swigf_EnergyCalibration_m_channel_energies_set + procedure :: get_m_channel_energies => swigf_EnergyCalibration_m_channel_energies_get procedure :: release => swigf_EnergyCalibration_release procedure, private :: swigf_EnergyCalibration_op_assign__ generic :: operator(.lt.) => swigf_EnergyCalibration_op_lt__ @@ -2183,6 +2193,14 @@ subroutine swigc_Measurement_set_energy_calibration(farg1, farg2) & type(SwigClassWrapper), intent(in) :: farg2 end subroutine +subroutine swigc_Measurement_set_ecal(farg1, farg2) & +bind(C, name="_wrap_Measurement_set_ecal") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + subroutine swigc_Measurement_set_info_from_2006_N42_spectrum_node(farg1, farg2) & bind(C, name="_wrap_Measurement_set_info_from_2006_N42_spectrum_node") use, intrinsic :: ISO_C_BINDING @@ -5070,6 +5088,83 @@ function swigc_EnergyCalibration_sm_polynomial_offset_limit_get() & real(C_FLOAT) :: fresult end function +subroutine swigc_EnergyCalibration_check_lower_energies(farg1, farg2, farg3) & +bind(C, name="_wrap_EnergyCalibration_check_lower_energies") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +type(SwigClassWrapper), intent(in) :: farg3 +end subroutine + +subroutine swigc_EnergyCalibration_m_type_set(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_m_type_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT), intent(in) :: farg2 +end subroutine + +function swigc_EnergyCalibration_m_type_get(farg1) & +bind(C, name="_wrap_EnergyCalibration_m_type_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +integer(C_INT) :: fresult +end function + +subroutine swigc_EnergyCalibration_m_coefficients_set(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_m_coefficients_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_EnergyCalibration_m_coefficients_get(farg1) & +bind(C, name="_wrap_EnergyCalibration_m_coefficients_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_EnergyCalibration_m_deviation_pairs_set(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_m_deviation_pairs_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_EnergyCalibration_m_deviation_pairs_get(farg1) & +bind(C, name="_wrap_EnergyCalibration_m_deviation_pairs_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + +subroutine swigc_EnergyCalibration_m_channel_energies_set(farg1, farg2) & +bind(C, name="_wrap_EnergyCalibration_m_channel_energies_set") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper), intent(in) :: farg2 +end subroutine + +function swigc_EnergyCalibration_m_channel_energies_get(farg1) & +bind(C, name="_wrap_EnergyCalibration_m_channel_energies_get") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + subroutine swigc_delete_EnergyCalibration(farg1) & bind(C, name="_wrap_delete_EnergyCalibration") use, intrinsic :: ISO_C_BINDING @@ -7507,6 +7602,18 @@ subroutine swigf_Measurement_set_energy_calibration(self, cal) call swigc_Measurement_set_energy_calibration(farg1, farg2) end subroutine +subroutine swigf_Measurement_set_ecal(self, cal) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +class(EnergyCalibration), intent(in) :: cal +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = cal%swigdata +call swigc_Measurement_set_ecal(farg1, farg2) +end subroutine + subroutine swigf_Measurement_set_info_from_2006_N42_spectrum_node(self, spectrum) use, intrinsic :: ISO_C_BINDING class(Measurement), intent(in) :: self @@ -11967,6 +12074,121 @@ function swigf_EnergyCalibration_sm_polynomial_offset_limit_get() & swig_result = fresult end function +subroutine swigf_EnergyCalibration_check_lower_energies(self, nchannels, energies) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +integer(C_INT), intent(in) :: nchannels +class(FloatVector), intent(in) :: energies +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 +type(SwigClassWrapper) :: farg3 + +farg1 = self%swigdata +farg2 = nchannels +farg3 = energies%swigdata +call swigc_EnergyCalibration_check_lower_energies(farg1, farg2, farg3) +end subroutine + +subroutine swigf_EnergyCalibration_m_type_set(self, m_type) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +integer(EnergyCalType), intent(in) :: m_type +type(SwigClassWrapper) :: farg1 +integer(C_INT) :: farg2 + +farg1 = self%swigdata +farg2 = m_type +call swigc_EnergyCalibration_m_type_set(farg1, farg2) +end subroutine + +function swigf_EnergyCalibration_m_type_get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +integer(EnergyCalType) :: swig_result +class(EnergyCalibration), intent(in) :: self +integer(C_INT) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_m_type_get(farg1) +swig_result = fresult +end function + +subroutine swigf_EnergyCalibration_m_coefficients_set(self, m_coefficients) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +class(FloatVector), intent(in) :: m_coefficients +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = m_coefficients%swigdata +call swigc_EnergyCalibration_m_coefficients_set(farg1, farg2) +end subroutine + +function swigf_EnergyCalibration_m_coefficients_get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(FloatVector) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_m_coefficients_get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_EnergyCalibration_m_deviation_pairs_set(self, m_deviation_pairs) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +class(DeviationPairs), intent(in) :: m_deviation_pairs +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = m_deviation_pairs%swigdata +call swigc_EnergyCalibration_m_deviation_pairs_set(farg1, farg2) +end subroutine + +function swigf_EnergyCalibration_m_deviation_pairs_get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_m_deviation_pairs_get(farg1) +swig_result%swigdata = fresult +end function + +subroutine swigf_EnergyCalibration_m_channel_energies_set(self, m_channel_energies) +use, intrinsic :: ISO_C_BINDING +class(EnergyCalibration), intent(in) :: self +class(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t), intent(in) :: m_channel_energies +type(SwigClassWrapper) :: farg1 +type(SwigClassWrapper) :: farg2 + +farg1 = self%swigdata +farg2 = m_channel_energies%swigdata +call swigc_EnergyCalibration_m_channel_energies_set(farg1, farg2) +end subroutine + +function swigf_EnergyCalibration_m_channel_energies_get(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(SWIGTYPE_p_std__shared_ptrT_std__vectorT_float_t_const_t) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_m_channel_energies_get(farg1) +swig_result%swigdata = fresult +end function + subroutine swigf_EnergyCalibration_release(self) use, intrinsic :: ISO_C_BINDING class(EnergyCalibration), intent(inout) :: self diff --git a/bindings/swig/fortran/test_specutils_fortran.f90 b/bindings/swig/fortran/test_specutils_fortran.f90 index 558b8a5..8785100 100644 --- a/bindings/swig/fortran/test_specutils_fortran.f90 +++ b/bindings/swig/fortran/test_specutils_fortran.f90 @@ -112,11 +112,17 @@ subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) actM = actualSpecFile%measurement_at(1) call check(error, actM%title(), expM%title() ) + call check(error, actM%detector_name() .ne.'') + call check(error, actM%detector_name(), expM%detector_name()) call check(error, actM%measurement_description() .ne. '' ) call check(error, actM%measurement_description(), expM%measurement_description() ) call check(error, actM%source_description() .ne. '' ) call check(error, actM%source_description(), expM%source_description() ) - !call check(error, actM%get_column(), expM%get_column() ) + call check(error, actM%rpm_panel_number() > 0 ) + call check(error, actM%rpm_panel_number(), expM%rpm_panel_number() ) + + call check(error, actM%rpm_column_number() > 0 ) + call check(error, actM%rpm_column_number(), expM%rpm_column_number() ) !call check(error, actM%get_panel(), expM%get_panel() ) call check(error, actM%get_start_time_string(), expM%get_start_time_string() ) call check(error, actM%live_time() .gt. 0.0) diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index a0c5024..8bd2645 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -48,16 +48,18 @@ void getGammaSpectrum(FloatVec &spectrum) } } -std::string getDetectorName(int panel, int column, int mca, bool isNeutron = false) { +std::string getDetectorName(int panel, int column, int mca, bool isNeutron = false) +{ // Validate input parameters - if (panel < 1 || column < 1 || mca < 1) { + if (panel < 1 || column < 1 || mca < 1) + { throw std::invalid_argument("Panel, column, and MCA numbers must be greater than 0."); } // Convert panel, column, and MCA to the appropriate characters - char panelChar = 'A' + (panel - 1); // 'A' for panel 1, 'B' for panel 2, etc. + char panelChar = 'A' + (panel - 1); // 'A' for panel 1, 'B' for panel 2, etc. char columnChar = 'a' + (column - 1); // 'a' for column 1, 'b' for column 2, etc. - char mcaChar = '1' + (mca - 1); // '1' for MCA 1, '2' for MCA 2, etc. + char mcaChar = '1' + (mca - 1); // '1' for MCA 1, '2' for MCA 2, etc. // Construct the detector name std::string detectorName; @@ -66,30 +68,33 @@ std::string getDetectorName(int panel, int column, int mca, bool isNeutron = fal detectorName += mcaChar; // Append 'N' if it's a neutron detector - if (isNeutron) { + if (isNeutron) + { detectorName += 'N'; } return detectorName; } -std::array generateDetectorNames() { +std::array generateDetectorNames() +{ std::array detectorNames; // Random number generation setup - static std::random_device rd; // Obtain a random number from hardware - static std::mt19937 eng(rd()); // Seed the generator - std::uniform_int_distribution<> panelDist(1, 4); // Panel numbers from 1 to 5 - std::uniform_int_distribution<> columnDist(1, 4); // Column numbers from 1 to 5 - std::uniform_int_distribution<> mcaDist(1, 8); // MCA numbers from 1 to 3 + static std::random_device rd; // Obtain a random number from hardware + static std::mt19937 eng(rd()); // Seed the generator + std::uniform_int_distribution<> panelDist(1, 4); // Panel numbers from 1 to 5 + std::uniform_int_distribution<> columnDist(1, 4); // Column numbers from 1 to 5 + std::uniform_int_distribution<> mcaDist(1, 8); // MCA numbers from 1 to 3 std::uniform_int_distribution<> neutronDist(0, 1); // Randomly decide if it's a neutron detector // Generate 10 random detector names - for (int i = 0; i < 10; ++i) { + for (int i = 0; i < 10; ++i) + { int panel = panelDist(eng); int column = columnDist(eng); int mca = mcaDist(eng); - //bool isNeutron = neutronDist(eng) == 1; // 50% chance of being a neutron detector + // bool isNeutron = neutronDist(eng) == 1; // 50% chance of being a neutron detector bool isNeutron = false; // 50% chance of being a neutron detector detectorNames[i] = getDetectorName(panel, column, mca, isNeutron); @@ -100,13 +105,12 @@ std::array generateDetectorNames() { return detectorNames; } - std::shared_ptr makeMeasurement(int id, std::string detName, char tag) { auto m = std::make_shared(); - //auto detName = "Aa" + std::to_string(id); - m->set_detector_name(detName); + // auto detName = "Aa" + std::to_string(id); + m->set_detector_name(detName); m->set_pcf_tag(tag); @@ -116,11 +120,10 @@ std::shared_ptr makeMeasurement(int id, std::string detN m->set_title(title); auto descr = "test_descr " + std::to_string(id); - m->set_measurement_description( descr ); - + m->set_measurement_description(descr); + auto source = "source " + std::to_string(id); - m->set_source_description( source ); - + m->set_source_description(source); SpecUtils::FloatVec ncounts{id + 99.0F}; m->set_neutron_counts(ncounts, 0.0F); @@ -152,7 +155,7 @@ std::shared_ptr makeMeasurement(int id, std::string detN TEST_CASE("Round Trip") { auto fname = std::string("round-trip-cpp.pcf"); - auto n42Fname = fname+".n42"; + auto n42Fname = fname + ".n42"; SUBCASE("Write PCF File") { @@ -160,13 +163,13 @@ TEST_CASE("Round Trip") CheckFileExistanceAndDelete(fname); CheckFileExistanceAndDelete(n42Fname); - //auto detNames = generateDetectorNames(); - - // Note that using "Bc3" as a detector name causes the PCF file to use "compressed" deviation - // pairs (i.e., int16_t values for both energy and offset, instead of floats), because the - // "c" indicates third column. - std::vector detNames = { "Ba1", "Aa2", "Bc3", "Cb4" }; - //std::vector detNames = { "Ba1", "Aa2", "Bb3", "Cb4" }; + // auto detNames = generateDetectorNames(); + + // Note that using "Bc3" as a detector name causes the PCF file to use "compressed" deviation + // pairs (i.e., int16_t values for both energy and offset, instead of floats), because the + // "c" indicates third column. + std::vector detNames = {"Ba1", "Aa2", "Bc3", "Cb4"}; + // std::vector detNames = { "Ba1", "Aa2", "Bb3", "Cb4" }; auto tags = std::vector{'T', 'K', '-', '<'}; auto numMeasurements = detNames.size(); @@ -175,12 +178,12 @@ TEST_CASE("Round Trip") { auto detName = detNames[i]; auto tag = tags[i]; - auto m = makeMeasurement( static_cast(i) + 1, detName, tag); + auto m = makeMeasurement(static_cast(i) + 1, detName, tag); specfile.add_measurement(m); } { - auto &m = *(specfile.measurement(size_t(0)) ); + auto &m = *(specfile.measurement(size_t(0))); CHECK(m.rpm_panel_number() == 2 - 1); CHECK(m.rpm_column_number() == 1 - 1); @@ -197,14 +200,13 @@ TEST_CASE("Round Trip") specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf); specfile.write_to_file(n42Fname, SpecUtils::SaveSpectrumAsType::N42_2012); - SUBCASE("Read PCF File") { - SpecUtils::SpecFile specfileToRead; - const bool success_reading = specfileToRead.load_file(fname, SpecUtils::ParserType::Pcf); - REQUIRE( success_reading ); - + SpecUtils::SpecFile specfileToRead; + const bool success_reading = specfileToRead.load_file(fname, SpecUtils::ParserType::Pcf); + REQUIRE(success_reading); + for (size_t i = 0; i < numMeasurements; i++) { auto &expectedM = *(specfile.measurement(i)); @@ -214,8 +216,17 @@ TEST_CASE("Round Trip") CHECK(expectedM.pcf_tag() == actualM.pcf_tag()); CHECK_FALSE(actualM.detector_name().empty()); - CHECK(actualM.detector_name() == expectedM.detector_name() ); - CHECK(actualM.detector_number() == expectedM.detector_number() ); + CHECK(actualM.detector_name() == expectedM.detector_name()); + CHECK(actualM.detector_number() == expectedM.detector_number()); + + CHECK(actualM.rpm_panel_number() >= 0 ); + CHECK(actualM.rpm_panel_number() == expectedM.rpm_panel_number() ); + + CHECK(actualM.rpm_column_number() >= 0 ); + CHECK(actualM.rpm_column_number() == expectedM.rpm_column_number() ); + + CHECK(actualM.rpm_mca_number() >= 0); + CHECK(actualM.rpm_mca_number() == expectedM.rpm_mca_number() ); // times for PCFs should be compared as vax strings. auto timeStr1 = SpecUtils::to_vax_string(expectedM.start_time()); @@ -300,9 +311,9 @@ TEST_CASE("Get Max Channel Count") TEST_CASE("Find Source String") { SpecUtils::Measurement m; - m.set_source_description( "TestSource" ); - m.set_measurement_description( "TestDescription" ); - + m.set_source_description("TestSource"); + m.set_measurement_description("TestDescription"); + auto expected = std::string("TestSource"); auto actual = m.source_description(); @@ -316,4 +327,3 @@ TEST_CASE("Find Source String") CHECK(actual == expected); } } - From 1cd879c8e6cabda4c8911057c554d07aed927abb Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Mon, 21 Oct 2024 17:46:53 -0600 Subject: [PATCH 093/100] update test --- bindings/swig/fortran/test_specutils_fortran.f90 | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/bindings/swig/fortran/test_specutils_fortran.f90 b/bindings/swig/fortran/test_specutils_fortran.f90 index 8785100..943ce26 100644 --- a/bindings/swig/fortran/test_specutils_fortran.f90 +++ b/bindings/swig/fortran/test_specutils_fortran.f90 @@ -42,6 +42,9 @@ subroutine SpecUtilsRoundTrip() call m%set_measurement_description("TestDescription") call m%set_source_description("TestSource") call m%set_neutron_count(99.0) + call check(error, m%rpm_panel_number(), 2-1 ) + call check(error, m%rpm_column_number(), 1-1 ) + call check(error, m%rpm_mca_number(), 2-1 ) allocate( spectrum(128) ) DO i = 1, 128 @@ -105,7 +108,7 @@ subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) type(DevPair) :: devPairAct, devPairExp actualSpecFile = SpecFile() - success = actualSpecFile%load_file(filePath, ParserType_Auto) + success = actualSpecFile%load_file(filePath, ParserType_Pcf) call check(error, success) expM = expectedSpecFile%measurement_at(1) @@ -118,12 +121,17 @@ subroutine SpecUtilsRoundTrip_Read(expectedSpecFile, filePath) call check(error, actM%measurement_description(), expM%measurement_description() ) call check(error, actM%source_description() .ne. '' ) call check(error, actM%source_description(), expM%source_description() ) - call check(error, actM%rpm_panel_number() > 0 ) + + ! Panel, column and mca numbers are 1-based + call check(error, actM%rpm_panel_number() >= 0 ) call check(error, actM%rpm_panel_number(), expM%rpm_panel_number() ) - call check(error, actM%rpm_column_number() > 0 ) + call check(error, actM%rpm_column_number() >= 0 ) call check(error, actM%rpm_column_number(), expM%rpm_column_number() ) - !call check(error, actM%get_panel(), expM%get_panel() ) + + call check(error, actM%rpm_mca_number() >= 0 ) + call check(error, actM%rpm_mca_number(), expM%rpm_mca_number() ) + call check(error, actM%get_start_time_string(), expM%get_start_time_string() ) call check(error, actM%live_time() .gt. 0.0) call check(error, actM%live_time(), expM%live_time() ) From 0e9ebde4362bb8098858c288b790748aae6da29c Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Tue, 22 Oct 2024 15:53:13 -0600 Subject: [PATCH 094/100] Add method to update detector name get mutable reference ecal and dev pairs --- SpecUtils/EnergyCalibration.h | 4 ++ SpecUtils/SpecFile.h | 8 +++ .../swig/fortran/SpecUtilsFortran_wrap.cxx | 40 ++++++++++++ bindings/swig/fortran/SpecUtilsWrap.f90 | 63 +++++++++++++++++++ src/SpecFile.cpp | 5 ++ unit_tests/test_spec_file.cpp | 11 +++- 6 files changed, 128 insertions(+), 3 deletions(-) diff --git a/SpecUtils/EnergyCalibration.h b/SpecUtils/EnergyCalibration.h index 9c12a06..b6d6a00 100644 --- a/SpecUtils/EnergyCalibration.h +++ b/SpecUtils/EnergyCalibration.h @@ -299,6 +299,10 @@ namespace SpecUtils */ void check_lower_energies( const size_t nchannels, const std::vector &energies ); + DeviationPairs & mutable_deviation_pairs() + { + return m_deviation_pairs; + } EnergyCalType m_type; std::vector m_coefficients; std::vector> m_deviation_pairs; diff --git a/SpecUtils/SpecFile.h b/SpecUtils/SpecFile.h index 727c948..1e0c470 100644 --- a/SpecUtils/SpecFile.h +++ b/SpecUtils/SpecFile.h @@ -653,6 +653,9 @@ class Measurement // May be empty string for single detector systems, or otherwise. // ex: Aa1, Ba1, etc. const std::string &detector_name() const; + + /// @brief PCFs store the detector name in the title so add the abiltity set update the detector name + void update_detector_name_from_title(); //detector_number(): returns the detector number of the detector within the // detection system. Will have a 1 to 1 coorespondence with detector_name(). @@ -724,6 +727,11 @@ class Measurement /** Returns the energy calibration. Will not be null. */ std::shared_ptr energy_calibration() const; + + std::shared_ptr mutable_energy_calibration() + { + return energy_calibration_; + } //channel_energies(): returns a vector containing the starting (lower) energy // of the gamma channels, calculated using the energy calibration diff --git a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx index 3962334..da8e005 100644 --- a/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx +++ b/bindings/swig/fortran/SpecUtilsFortran_wrap.cxx @@ -1835,6 +1835,16 @@ SWIGEXPORT SwigArrayWrapper _wrap_Measurement_detector_name(SwigClassWrapper *fa } +SWIGEXPORT void _wrap_Measurement_update_detector_name_from_title(SwigClassWrapper *farg1) { + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + (arg1)->update_detector_name_from_title(); +} + + SWIGEXPORT int _wrap_Measurement_detector_number(SwigClassWrapper *farg1) { int fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -2031,6 +2041,21 @@ SWIGEXPORT SwigClassWrapper _wrap_Measurement_energy_calibration(SwigClassWrappe } +SWIGEXPORT SwigClassWrapper _wrap_Measurement_mutable_energy_calibration(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; + std::shared_ptr< SpecUtils::Measurement > *smartarg1 ; + std::shared_ptr< SpecUtils::EnergyCalibration const > result; + + smartarg1 = (std::shared_ptr< SpecUtils::Measurement >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::Measurement*)(smartarg1->get()) : NULL; + result = (arg1)->mutable_energy_calibration(); + fresult.cptr = result ? (new std::shared_ptr(static_cast< const std::shared_ptr& >(result))) : NULL; + fresult.cmemflags = SWIG_MEM_OWN | SWIG_MEM_RVALUE; + return fresult; +} + + SWIGEXPORT SwigClassWrapper _wrap_Measurement_channel_energies(SwigClassWrapper *farg1) { SwigClassWrapper fresult ; SpecUtils::Measurement *arg1 = (SpecUtils::Measurement *) 0 ; @@ -7170,6 +7195,21 @@ SWIGEXPORT void _wrap_EnergyCalibration_check_lower_energies(SwigClassWrapper *f } +SWIGEXPORT SwigClassWrapper _wrap_EnergyCalibration_mutable_deviation_pairs(SwigClassWrapper *farg1) { + SwigClassWrapper fresult ; + SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; + std::shared_ptr< SpecUtils::EnergyCalibration > *smartarg1 ; + SpecUtils::DeviationPairs *result = 0 ; + + smartarg1 = (std::shared_ptr< SpecUtils::EnergyCalibration >*)(farg1->cptr); + arg1 = smartarg1 ? (SpecUtils::EnergyCalibration*)(smartarg1->get()) : NULL; + result = (SpecUtils::DeviationPairs *) &(arg1)->mutable_deviation_pairs(); + fresult.cptr = (void*)result; + fresult.cmemflags = SWIG_MEM_RVALUE | (0 ? SWIG_MEM_OWN : 0); + return fresult; +} + + SWIGEXPORT void _wrap_EnergyCalibration_m_type_set(SwigClassWrapper *farg1, int const *farg2) { SpecUtils::EnergyCalibration *arg1 = (SpecUtils::EnergyCalibration *) 0 ; SpecUtils::EnergyCalType arg2 ; diff --git a/bindings/swig/fortran/SpecUtilsWrap.f90 b/bindings/swig/fortran/SpecUtilsWrap.f90 index 4a79fbd..a59a64e 100644 --- a/bindings/swig/fortran/SpecUtilsWrap.f90 +++ b/bindings/swig/fortran/SpecUtilsWrap.f90 @@ -311,6 +311,7 @@ module specutilswrap procedure :: measurement_description => swigf_Measurement_measurement_description procedure :: position_time => swigf_Measurement_position_time procedure :: detector_name => swigf_Measurement_detector_name + procedure :: update_detector_name_from_title => swigf_Measurement_update_detector_name_from_title procedure :: detector_number => swigf_Measurement_detector_number procedure :: detector_type => swigf_Measurement_detector_type procedure :: quality_status => swigf_Measurement_quality_status @@ -324,6 +325,7 @@ module specutilswrap procedure :: calibration_coeffs => swigf_Measurement_calibration_coeffs procedure :: deviation_pairs => swigf_Measurement_deviation_pairs procedure :: energy_calibration => swigf_Measurement_energy_calibration + procedure :: mutable_energy_calibration => swigf_Measurement_mutable_energy_calibration procedure :: channel_energies => swigf_Measurement_channel_energies procedure :: gamma_counts => swigf_Measurement_gamma_counts procedure :: neutron_counts => swigf_Measurement_neutron_counts @@ -806,6 +808,7 @@ module specutilswrap procedure, nopass :: get_sm_max_channels => swigf_EnergyCalibration_sm_max_channels_get procedure, nopass :: get_sm_polynomial_offset_limit => swigf_EnergyCalibration_sm_polynomial_offset_limit_get procedure :: check_lower_energies => swigf_EnergyCalibration_check_lower_energies + procedure :: mutable_deviation_pairs => swigf_EnergyCalibration_mutable_deviation_pairs procedure :: set_m_type => swigf_EnergyCalibration_m_type_set procedure :: get_m_type => swigf_EnergyCalibration_m_type_get procedure :: set_m_coefficients => swigf_EnergyCalibration_m_coefficients_set @@ -1696,6 +1699,13 @@ function swigc_Measurement_detector_name(farg1) & type(SwigArrayWrapper) :: fresult end function +subroutine swigc_Measurement_update_detector_name_from_title(farg1) & +bind(C, name="_wrap_Measurement_update_detector_name_from_title") +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +end subroutine + function swigc_Measurement_detector_number(farg1) & bind(C, name="_wrap_Measurement_detector_number") & result(fresult) @@ -1814,6 +1824,15 @@ function swigc_Measurement_energy_calibration(farg1) & type(SwigClassWrapper) :: fresult end function +function swigc_Measurement_mutable_energy_calibration(farg1) & +bind(C, name="_wrap_Measurement_mutable_energy_calibration") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + function swigc_Measurement_channel_energies(farg1) & bind(C, name="_wrap_Measurement_channel_energies") & result(fresult) @@ -5097,6 +5116,15 @@ subroutine swigc_EnergyCalibration_check_lower_energies(farg1, farg2, farg3) & type(SwigClassWrapper), intent(in) :: farg3 end subroutine +function swigc_EnergyCalibration_mutable_deviation_pairs(farg1) & +bind(C, name="_wrap_EnergyCalibration_mutable_deviation_pairs") & +result(fresult) +use, intrinsic :: ISO_C_BINDING +import :: swigclasswrapper +type(SwigClassWrapper), intent(in) :: farg1 +type(SwigClassWrapper) :: fresult +end function + subroutine swigc_EnergyCalibration_m_type_set(farg1, farg2) & bind(C, name="_wrap_EnergyCalibration_m_type_set") use, intrinsic :: ISO_C_BINDING @@ -6855,6 +6883,15 @@ function swigf_Measurement_detector_name(self) & call SWIG_free(fresult%data) end function +subroutine swigf_Measurement_update_detector_name_from_title(self) +use, intrinsic :: ISO_C_BINDING +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +call swigc_Measurement_update_detector_name_from_title(farg1) +end subroutine + function swigf_Measurement_detector_number(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -7025,6 +7062,19 @@ function swigf_Measurement_energy_calibration(self) & swig_result%swigdata = fresult end function +function swigf_Measurement_mutable_energy_calibration(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(EnergyCalibration) :: swig_result +class(Measurement), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_Measurement_mutable_energy_calibration(farg1) +swig_result%swigdata = fresult +end function + function swigf_Measurement_channel_energies(self) & result(swig_result) use, intrinsic :: ISO_C_BINDING @@ -12089,6 +12139,19 @@ subroutine swigf_EnergyCalibration_check_lower_energies(self, nchannels, energie call swigc_EnergyCalibration_check_lower_energies(farg1, farg2, farg3) end subroutine +function swigf_EnergyCalibration_mutable_deviation_pairs(self) & +result(swig_result) +use, intrinsic :: ISO_C_BINDING +type(DeviationPairs) :: swig_result +class(EnergyCalibration), intent(in) :: self +type(SwigClassWrapper) :: fresult +type(SwigClassWrapper) :: farg1 + +farg1 = self%swigdata +fresult = swigc_EnergyCalibration_mutable_deviation_pairs(farg1) +swig_result%swigdata = fresult +end function + subroutine swigf_EnergyCalibration_m_type_set(self, m_type) use, intrinsic :: ISO_C_BINDING class(EnergyCalibration), intent(in) :: self diff --git a/src/SpecFile.cpp b/src/SpecFile.cpp index 5c1443c..996e2f4 100644 --- a/src/SpecFile.cpp +++ b/src/SpecFile.cpp @@ -724,6 +724,11 @@ const std::string &Measurement::detector_name() const return detector_name_; } +void Measurement::update_detector_name_from_title() +{ + detector_name_ = detector_name_from_remark( title() ); +} + int Measurement::detector_number() const { return detector_number_; diff --git a/unit_tests/test_spec_file.cpp b/unit_tests/test_spec_file.cpp index 8bd2645..65771a9 100644 --- a/unit_tests/test_spec_file.cpp +++ b/unit_tests/test_spec_file.cpp @@ -110,15 +110,19 @@ std::shared_ptr makeMeasurement(int id, std::string detN auto m = std::make_shared(); // auto detName = "Aa" + std::to_string(id); - m->set_detector_name(detName); + //m->set_detector_name(detName); m->set_pcf_tag(tag); m->set_start_time(getStartTime()); auto title = "Test Measurement " + std::to_string(id) + " Det=" + detName; + + //auto title = "Test Measurement " + std::to_string(id); m->set_title(title); + m->update_detector_name_from_title(); + auto descr = "test_descr " + std::to_string(id); m->set_measurement_description(descr); @@ -197,7 +201,6 @@ TEST_CASE("Round Trip") CHECK(m.rpm_column_number() == 3 - 1); CHECK(m.rpm_mca_number() == 3 - 1); } - specfile.write_to_file(fname, SpecUtils::SaveSpectrumAsType::Pcf); specfile.write_to_file(n42Fname, SpecUtils::SaveSpectrumAsType::N42_2012); @@ -217,7 +220,9 @@ TEST_CASE("Round Trip") CHECK_FALSE(actualM.detector_name().empty()); CHECK(actualM.detector_name() == expectedM.detector_name()); - CHECK(actualM.detector_number() == expectedM.detector_number()); + + // I don't think this is the same as MCA + //CHECK(actualM.detector_number() == expectedM.detector_number()); CHECK(actualM.rpm_panel_number() >= 0 ); CHECK(actualM.rpm_panel_number() == expectedM.rpm_panel_number() ); From 9ca9f3ca57d14fa95556aeeff752b162fb29c794 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 23 Oct 2024 16:04:12 -0600 Subject: [PATCH 095/100] cmake mods to enable valgrind memcheck with ctest --- CMakeLists.txt | 6 ++---- bindings/swig/fortran/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3f0b488..1325041 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,8 +9,7 @@ if(${CMAKE_VERSION} VERSION_LESS 3.12) endif() project( SpecUtils VERSION 1.0.0 ) - -enable_testing() +enable_testing() # Enable here to allow running `ctest` from top-most build dir option( SpecUtils_ENABLE_D3_CHART "Enables exporting of the D3 chart format" ON ) option( SpecUtils_D3_SUPPORT_FILE_STATIC "Compiles the JS and CSS files into memory, rather than reading files on disk; disable to allow changing JS/CSS without having to recompile" ON ) @@ -460,8 +459,7 @@ endif( SpecUtils_BUILD_REGRESSION_TEST ) if( SpecUtils_BUILD_UNIT_TESTS ) - enable_testing() # Enable here to allow running `ctest` from top-most build dir - + include (CTest) add_subdirectory( unit_tests ) endif( SpecUtils_BUILD_UNIT_TESTS ) diff --git a/bindings/swig/fortran/CMakeLists.txt b/bindings/swig/fortran/CMakeLists.txt index 315c8f5..995b3fe 100644 --- a/bindings/swig/fortran/CMakeLists.txt +++ b/bindings/swig/fortran/CMakeLists.txt @@ -9,7 +9,7 @@ if (SpecUtils_FORTRAN_SWIG_GEN) add_custom_command( OUTPUT ${SWIG_CPP_WRAPPER} ${SWIG_FORTRAN_WRAPPER} COMMAND ${CMAKE_COMMAND} -E echo "Generating SWIG wrapper..." - COMMAND swig -I../../../ -fortran -c++ -outdir ${CMAKE_CURRENT_BINARY_DIR} -o ${SWIG_CPP_WRAPPER} ${SWIG_INTERFACE_FILE} + COMMAND swig -I../../../ -fortran -c++ -outdir ${CMAKE_CURRENT_SOURCE_DIR} -o ${SWIG_CPP_WRAPPER} ${SWIG_INTERFACE_FILE} DEPENDS ${SWIG_INTERFACE_FILE} ${CMAKE_SOURCE_DIR}/SpecUtils/EnergyCalibration.h ${CMAKE_SOURCE_DIR}/SpecUtils/SpecFile.h From ef7c3dc932430efb7585847afc8b06e1c65f06a4 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Tue, 28 Jan 2025 16:47:18 -0700 Subject: [PATCH 096/100] update version and add to cpack file * error diags to cubic spline --- CMakeLists.txt | 4 ++-- src/CubicSpline.cpp | 8 +++++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1325041..dbd0189 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ if(${CMAKE_VERSION} VERSION_LESS 3.12) cmake_policy(VERSION ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}) endif() -project( SpecUtils VERSION 1.0.0 ) +project( SpecUtils VERSION 2025.1.0 ) enable_testing() # Enable here to allow running `ctest` from top-most build dir option( SpecUtils_ENABLE_D3_CHART "Enables exporting of the D3 chart format" ON ) @@ -539,6 +539,6 @@ endif() # Lets just use the MAJOR.MINOR version of the compiler in the name. string(REGEX MATCH "^[0-9]+\\.[0-9]+" COMPILER_VERSION_SHORT "${CMAKE_CXX_COMPILER_VERSION}") -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${COMPILER_VERSION_SHORT}-${SpecUtils_PACKAGE_POSTFIX}") +set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PROJECT_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${COMPILER_VERSION_SHORT}-${SpecUtils_PACKAGE_POSTFIX}") set(CPACK_GENERATOR "ZIP") include(CPack) diff --git a/src/CubicSpline.cpp b/src/CubicSpline.cpp index b21c0e6..931df3b 100644 --- a/src/CubicSpline.cpp +++ b/src/CubicSpline.cpp @@ -25,6 +25,7 @@ #include #include #include +#include #include "SpecUtils/CubicSpline.h" @@ -96,7 +97,12 @@ create_cubic_spline( const std::vector> &data, // TODO: sort input for( size_t i = 0; i < ndata - 1; ++i ) { if( data[i].first >= data[i+1].first ) - throw std::runtime_error( "create_cubic_spline: input data not sorted." ); + { + std::ostringstream strm( "create_cubic_spline: input data not sorted."); + strm << "i: " << i << "; data[i].first: " << data[i].first << "; data[i+1].first: " << data[i+1].first; + throw std::runtime_error( strm.str() ); + } + } // Create tri-diagonal matrix that we will solve for. From d87b2dbfb2232e4f81d79809053eb891af5afa89 Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 29 Jan 2025 13:50:01 -0700 Subject: [PATCH 097/100] Update SpecUtils_config.h.in --- SpecUtils/SpecUtils_config.h.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SpecUtils/SpecUtils_config.h.in b/SpecUtils/SpecUtils_config.h.in index d8e5d9a..aa040b8 100644 --- a/SpecUtils/SpecUtils_config.h.in +++ b/SpecUtils/SpecUtils_config.h.in @@ -73,6 +73,6 @@ void log_developer_error( const char *location, const char *error ); #endif -#include "SpecUtilsExport.h" +//#include "SpecUtilsExport.h" #endif // InterSpec_config_h From ecf3d0efa78537548f636d6a998659cf2ec1345b Mon Sep 17 00:00:00 2001 From: Hugh Bivens Date: Wed, 29 Jan 2025 21:27:27 +0000 Subject: [PATCH 098/100] maybe fix macos wheel build --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 451ea5f..f69d7e1 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,9 @@ endif() project( SpecUtils VERSION 2025.1.0 ) enable_testing() # Enable here to allow running `ctest` from top-most build dir +# Add this line to specify the architectures for MacOS +set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "Build architectures for MacOS" FORCE) + option( SpecUtils_ENABLE_D3_CHART "Enables exporting of the D3 chart format" ON ) option( SpecUtils_D3_SUPPORT_FILE_STATIC "Compiles the JS and CSS files into memory, rather than reading files on disk; disable to allow changing JS/CSS without having to recompile" ON ) option( SpecUtils_ENABLE_URI_SPECTRA "Enables encoding/decoding spectra to URIs (for, ex, QR-codes) - requires linking to zlib" OFF ) From 4e708281757837b820658d3d17aa2209fe760b2c Mon Sep 17 00:00:00 2001 From: William Johnson Date: Thu, 30 Jan 2025 08:27:15 -0800 Subject: [PATCH 099/100] Make so install stuff is only called if building as a top-level project. This is in respect to trying to fix macOS CI build: https://github.com/sandialabs/SpecUtils/pull/34#discussion_r1934851751 --- CMakeLists.txt | 118 +++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 57 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f69d7e1..3d0cc2e 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -440,75 +440,79 @@ endif( SpecUtils_BUILD_FUZZING_TESTS ) set_property( TARGET SpecUtils PROPERTY POSITION_INDEPENDENT_CODE ON ) -# Specify installation rules -include(GNUInstallDirs) +get_directory_property(hasParent PARENT_DIRECTORY) +if( NOT hasParent ) + # Specify installation rules + include(GNUInstallDirs) -# Install the library -install(TARGETS SpecUtils - EXPORT SpecUtilsTargets - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # For shared libraries on UNIX-like systems - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # For static libraries and import libraries on Windows - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # For DLLs - INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} -) -set( SpecUtils_config_OUT ${CMAKE_CURRENT_BINARY_DIR}/SpecUtils_config.h ) -configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtils/SpecUtils_config.h.in - ${SpecUtils_config_OUT} -) -LIST(APPEND headers ${SpecUtils_config_OUT}) -# Install the headers -install(FILES ${headers} ${CMAKE_BINARY_DIR}/SpecUtilsExport.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SpecUtils) + # Install the library + install(TARGETS SpecUtils + EXPORT SpecUtilsTargets + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} # For shared libraries on UNIX-like systems + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} # For static libraries and import libraries on Windows + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} # For DLLs + INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} + ) -# Create and install the CMake package configuration files -include(CMakePackageConfigHelpers) + set( SpecUtils_config_OUT ${CMAKE_CURRENT_BINARY_DIR}/SpecUtils_config.h ) + configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtils/SpecUtils_config.h.in + ${SpecUtils_config_OUT} + ) + LIST(APPEND headers ${SpecUtils_config_OUT}) + # Install the headers + install(FILES ${headers} ${CMAKE_BINARY_DIR}/SpecUtilsExport.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SpecUtils) -write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfigVersion.cmake" - VERSION ${PROJECT_VERSION} - COMPATIBILITY AnyNewerVersion -) + # Create and install the CMake package configuration files + include(CMakePackageConfigHelpers) -configure_package_config_file( - "${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsConfig.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfig.cmake" - INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils -) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfigVersion.cmake" + VERSION ${PROJECT_VERSION} + COMPATIBILITY AnyNewerVersion + ) -install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfig.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfigVersion.cmake" - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils -) + configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/SpecUtilsConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfig.cmake" + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils + ) -install(EXPORT SpecUtilsTargets - FILE SpecUtilsTargets.cmake - NAMESPACE SpecUtils:: - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils -) + install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/SpecUtilsConfigVersion.cmake" + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils + ) -set(CPACK_PACKAGE_NAME "SpecUtils") + install(EXPORT SpecUtilsTargets + FILE SpecUtilsTargets.cmake + NAMESPACE SpecUtils:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/SpecUtils + ) + set(CPACK_PACKAGE_NAME "SpecUtils") -if( SpecUtils_SHARED_LIB ) - set( SpecUtils_PACKAGE_POSTFIX "SharedLib" ) -else( SpecUtils_SHARED_LIB ) - set( SpecUtils_PACKAGE_POSTFIX "StaticLib" ) -endif( SpecUtils_SHARED_LIB ) -if( DEFINED ${PROJECT_NAME}_USE_MSVC_MultiThreadDLL ) - if( ${PROJECT_NAME}_USE_MSVC_MultiThreadDLL ) - set( SpecUtils_PACKAGE_POSTFIX "${SpecUtils_PACKAGE_POSTFIX}-SharedRuntime" ) - else() - set( SpecUtils_PACKAGE_POSTFIX "${SpecUtils_PACKAGE_POSTFIX}-StaticRuntime" ) + if( SpecUtils_SHARED_LIB ) + set( SpecUtils_PACKAGE_POSTFIX "SharedLib" ) + else( SpecUtils_SHARED_LIB ) + set( SpecUtils_PACKAGE_POSTFIX "StaticLib" ) + endif( SpecUtils_SHARED_LIB ) + + if( DEFINED ${PROJECT_NAME}_USE_MSVC_MultiThreadDLL ) + if( ${PROJECT_NAME}_USE_MSVC_MultiThreadDLL ) + set( SpecUtils_PACKAGE_POSTFIX "${SpecUtils_PACKAGE_POSTFIX}-SharedRuntime" ) + else() + set( SpecUtils_PACKAGE_POSTFIX "${SpecUtils_PACKAGE_POSTFIX}-StaticRuntime" ) + endif() endif() -endif() -# Lets just use the MAJOR.MINOR version of the compiler in the name. -string(REGEX MATCH "^[0-9]+\\.[0-9]+" COMPILER_VERSION_SHORT "${CMAKE_CXX_COMPILER_VERSION}") + # Lets just use the MAJOR.MINOR version of the compiler in the name. + string(REGEX MATCH "^[0-9]+\\.[0-9]+" COMPILER_VERSION_SHORT "${CMAKE_CXX_COMPILER_VERSION}") -set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PROJECT_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${COMPILER_VERSION_SHORT}-${SpecUtils_PACKAGE_POSTFIX}") -set(CPACK_GENERATOR "ZIP") -include(CPack) + set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PROJECT_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${COMPILER_VERSION_SHORT}-${SpecUtils_PACKAGE_POSTFIX}") + set(CPACK_GENERATOR "ZIP") + include(CPack) +endif( NOT hasParent ) \ No newline at end of file From 4f0f40253d08ff5de52aef91aaf93533e478eff3 Mon Sep 17 00:00:00 2001 From: William Johnson Date: Thu, 30 Jan 2025 08:35:25 -0800 Subject: [PATCH 100/100] Fix last commit not generating SpecUtils_config.h --- CMakeLists.txt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3d0cc2e..d916bc8 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -440,6 +440,12 @@ endif( SpecUtils_BUILD_FUZZING_TESTS ) set_property( TARGET SpecUtils PROPERTY POSITION_INDEPENDENT_CODE ON ) +set( SpecUtils_config_OUT ${CMAKE_CURRENT_BINARY_DIR}/SpecUtils_config.h ) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtils/SpecUtils_config.h.in + ${SpecUtils_config_OUT} +) +LIST(APPEND headers ${SpecUtils_config_OUT}) get_directory_property(hasParent PARENT_DIRECTORY) if( NOT hasParent ) @@ -456,12 +462,6 @@ if( NOT hasParent ) INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) - set( SpecUtils_config_OUT ${CMAKE_CURRENT_BINARY_DIR}/SpecUtils_config.h ) - configure_file( - ${CMAKE_CURRENT_SOURCE_DIR}/SpecUtils/SpecUtils_config.h.in - ${SpecUtils_config_OUT} - ) - LIST(APPEND headers ${SpecUtils_config_OUT}) # Install the headers install(FILES ${headers} ${CMAKE_BINARY_DIR}/SpecUtilsExport.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SpecUtils) @@ -515,4 +515,4 @@ if( NOT hasParent ) set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${PROJECT_VERSION}-${CMAKE_SYSTEM_NAME}-${CMAKE_CXX_COMPILER_ID}-${COMPILER_VERSION_SHORT}-${SpecUtils_PACKAGE_POSTFIX}") set(CPACK_GENERATOR "ZIP") include(CPack) -endif( NOT hasParent ) \ No newline at end of file +endif( NOT hasParent ) \ No newline at end of file