From 417c94a28fde8824e0de3ead918b55781293e6b8 Mon Sep 17 00:00:00 2001 From: ralfulrich <ralf.ulrich@kit.edu> Date: Thu, 16 Jul 2020 11:02:55 +0200 Subject: [PATCH] replace function by subroutine --- readLib/corsika_data/Interface.h | 12 ++++++------ readLib/source/Interface.boost.cc | 22 +++++++++++----------- readLib/source/Interface.dummy.cc | 20 ++++++++++---------- readLib/source/testData.cc | 9 ++++++--- 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/readLib/corsika_data/Interface.h b/readLib/corsika_data/Interface.h index 717e923..0e902fd 100644 --- a/readLib/corsika_data/Interface.h +++ b/readLib/corsika_data/Interface.h @@ -26,11 +26,11 @@ namespace corsika_data { // the fortran interface functions extern "C" { - void cordataopenfile_(const char* name); - void cordatafillarray_(double* data, const int& length); - void cordataclosefile_(); - double cordatanextnumber_(); - void cordatanexttext_(char* data, int maxlength); - int cordatacandecompress_(); + void cordataopenfile_(const char*); + void cordatafillarray_(double*, const int&); + void cordataclosefile_(); + double cordatanextnumber_(); + void cordatanexttext_(char*, int); + void cordatacandecompress_(int&); } } // namespace corsika_data diff --git a/readLib/source/Interface.boost.cc b/readLib/source/Interface.boost.cc index acf3442..f1195ff 100644 --- a/readLib/source/Interface.boost.cc +++ b/readLib/source/Interface.boost.cc @@ -72,17 +72,17 @@ namespace corsika_data { for (int i = 0; i < maxlength && i < (int)STR.size(); ++i) data[i] = STR[i]; } bool CorDataCanDeCompress() { return true; } - + extern "C" { - void cordataopenfile_(const char* name) { CorDataOpenFile(name); } - void cordatafillarray_(double* data, const int& length) { - global_DataFile.FillArray(data, length); - } - double cordatanextnumber_() { return global_DataFile.ReadNextNumber(); } - void cordatanexttext_(char* data, const int maxlength) { - return CorDataNextText(data, maxlength); - } - void cordataclosefile_() { global_DataFile.Close(); } - int cordatacandecompress_() { return 1; } + void cordataopenfile_(const char* name) { CorDataOpenFile(name); } + void cordatafillarray_(double* data, const int& length) { + global_DataFile.FillArray(data, length); + } + double cordatanextnumber_() { return global_DataFile.ReadNextNumber(); } + void cordatanexttext_(char* data, const int maxlength) { + return CorDataNextText(data, maxlength); + } + void cordataclosefile_() { global_DataFile.Close(); } + void cordatacandecompress_(int& v) { v=1; } } } // namespace corsika_data diff --git a/readLib/source/Interface.dummy.cc b/readLib/source/Interface.dummy.cc index 5696237..527a0e1 100644 --- a/readLib/source/Interface.dummy.cc +++ b/readLib/source/Interface.dummy.cc @@ -36,15 +36,15 @@ namespace corsika_data { // the fortran interface functions extern "C" { - void cordataopenfile_(const char* name) { CorDataOpenFile(name); } - void cordatafillarray_(double* data, const int& length) { - CorDataFillArray(data, length); - } - void cordataclosefile_() { CorDataCloseFile(); } - double cordatanextnumber_() { return CorDataNextNumber(); } - void cordatanexttext_(char*, int) { - throw std::runtime_error("cordatanexttext_: Cannot read compressed data files with dummy library."); - } - int cordatacandecompress_() { return 0; } + void cordataopenfile_(const char* name) { CorDataOpenFile(name); } + void cordatafillarray_(double* data, const int& length) { + CorDataFillArray(data, length); + } + void cordataclosefile_() { CorDataCloseFile(); } + double cordatanextnumber_() { return CorDataNextNumber(); } + void cordatanexttext_(char*, int) { + throw std::runtime_error("cordatanexttext_: Cannot read compressed data files with dummy library."); + } + void cordatacandecompress_(int& v) { v=0; } } } // namespace corsika_data diff --git a/readLib/source/testData.cc b/readLib/source/testData.cc index bab6a16..95af686 100644 --- a/readLib/source/testData.cc +++ b/readLib/source/testData.cc @@ -60,8 +60,9 @@ TEST_CASE("Data", "[data]") { } SECTION(std::string("fortran, ") + file) { - bool b = cordatacandecompress_(); - CHECK(b == true); + int i=0; + cordatacandecompress_(i); + CHECK(i == 1); cout << "Reading: " << file << endl; cordataopenfile_(file.c_str()); char str[10]; @@ -107,7 +108,9 @@ TEST_CASE("Data", "[data]") { CHECK_THROWS(d = cordatanextnumber_()); char* buf = 0; CHECK_THROWS(cordatanexttext_(buf, 0)); - CHECK(cordatacandecompress_() == 0); + int i= 0; + cordatacandecompress_(i); + CHECK( i == 0); } #endif -- GitLab