diff --git a/readLib/corsika_data/Interface.h b/readLib/corsika_data/Interface.h index c8199a3ceda99e9431570de55df3905b82047539..717e923d3fd163f778670b4fd69d65fbc840c802 100644 --- a/readLib/corsika_data/Interface.h +++ b/readLib/corsika_data/Interface.h @@ -15,7 +15,7 @@ namespace corsika_data { // the c++ interface functions - //void CorDataOpenFile(const char* name); + // void CorDataOpenFile(const char* name); void CorDataOpenFile(const std::string& name); void CorDataFillArray(double* data, const int& length); void CorDataCloseFile(); @@ -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* name); + void cordatafillarray_(double* data, const int& length); + void cordataclosefile_(); + double cordatanextnumber_(); + void cordatanexttext_(char* data, int maxlength); + int cordatacandecompress_(); } } // namespace corsika_data diff --git a/readLib/source/Interface.boost.cc b/readLib/source/Interface.boost.cc index 14fdd8cf7c1b6ee630d74e01fc35fe84f70bfea2..acf344215dcb4918a182d534d20498b36ee6e3b7 100644 --- a/readLib/source/Interface.boost.cc +++ b/readLib/source/Interface.boost.cc @@ -37,8 +37,8 @@ namespace corsika_data { std::string trimmed(s.substr(i1, i2 - i1)); file_in_.open(trimmed, ios_base::in | ios_base::binary); in_.reset(); - if (trimmed.rfind(".bz2") == trimmed.length()-4) - in_.push(boost::iostreams::bzip2_decompressor()); + if (trimmed.rfind(".bz2") == trimmed.length() - 4) + in_.push(boost::iostreams::bzip2_decompressor()); in_.push(file_in_); } void Close() { file_in_.close(); } @@ -59,33 +59,30 @@ namespace corsika_data { DataFile global_DataFile; void CorDataOpenFile(const std::string& name) { global_DataFile.Open(name.c_str()); } - //void CorDataOpenFile(const char* name) { global_DataFile.Open(name); } + // void CorDataOpenFile(const char* name) { global_DataFile.Open(name); } void CorDataFillArray(double* data, const int& length) { global_DataFile.FillArray(data, length); } void CorDataCloseFile() { global_DataFile.Close(); } double CorDataNextNumber() { return global_DataFile.ReadNextNumber(); } - void CorDataNextText(std::string& data) { - global_DataFile.ReadNextText(data); - } + void CorDataNextText(std::string& data) { global_DataFile.ReadNextText(data); } void CorDataNextText(char* data, const int maxlength) { std::string STR; CorDataNextText(STR); - for (int i = 0; i < maxlength && i < (int)STR.size(); ++i) - data[i] = STR[i]; + 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(); } + int cordatacandecompress_() { return 1; } } } // namespace corsika_data diff --git a/readLib/source/Interface.dummy.cc b/readLib/source/Interface.dummy.cc index 8bc47138bc0d3f922059d40e88bdd62248345a3f..5f851eaf02fc4d69a2523319880935e5c5652800 100644 --- a/readLib/source/Interface.dummy.cc +++ b/readLib/source/Interface.dummy.cc @@ -14,8 +14,8 @@ namespace corsika_data { // the c++ interface functions - //void CorDataOpenFile(const char*) { - //std::runtime_error("Cannot read compressed data files with dummy library."); + // void CorDataOpenFile(const char*) { + // std::runtime_error("Cannot read compressed data files with dummy library."); //} void CorDataOpenFile(const std::string&) { std::runtime_error("Cannot read compressed data files with dummy library."); @@ -40,15 +40,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) { - std::runtime_error("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) { + std::runtime_error("Cannot read compressed data files with dummy library."); + } + int cordatacandecompress_() { return 0; } } } // namespace corsika_data diff --git a/readLib/source/testData.cc b/readLib/source/testData.cc index ede1c3724b7a18bb7a3f4fcb813a713fe97bd1e2..65a3a5eb0cfb63e5d6e5d9c8209cd6a9990572fc 100644 --- a/readLib/source/testData.cc +++ b/readLib/source/testData.cc @@ -12,157 +12,146 @@ #include <corsika_data/Interface.h> -#include <iostream> #include <array> +#include <iostream> using namespace std; using namespace corsika_data; -const array<double, 3*9> testData = {0.00000000, 0.00000000, 0.00000000, - 0.00000000, 0.00000000, 0.00000000, - 0.00000000, 0.00000000, 0.00000000, - 7.74900036E-06, 1.00000000, 1.47967212E-05, - 3.76063472E-05, 3.91302201E-05, 5.68050455E-05, - 5.91166172E-05, 6.64338659E-05, 8.79753206E-05, - 9.61698461E-05, 1.02615748E-04, 1.12829475E-04, - 1.28208514E-04, 1.50734515E-04, 1.79381183E-04, - 2.09064019E-04, 2.32736333E-04, 2.50067125E-04}; +const array<double, 3 * 9> testData = { + 0.00000000, 0.00000000, 0.00000000, 0.00000000, 0.00000000, + 0.00000000, 0.00000000, 0.00000000, 0.00000000, 7.74900036E-06, + 1.00000000, 1.47967212E-05, 3.76063472E-05, 3.91302201E-05, 5.68050455E-05, + 5.91166172E-05, 6.64338659E-05, 8.79753206E-05, 9.61698461E-05, 1.02615748E-04, + 1.12829475E-04, 1.28208514E-04, 1.50734515E-04, 1.79381183E-04, 2.09064019E-04, + 2.32736333E-04, 2.50067125E-04}; const std::string fileName = std::string(TESTDATA); -const std::string fileNameBZ2 = std::string(TESTDATA)+std::string(".bz2"); - +const std::string fileNameBZ2 = std::string(TESTDATA) + std::string(".bz2"); -TEST_CASE ("Data", "[data]") { +TEST_CASE("Data", "[data]") { #ifdef TEST_WITH_BOOST - SECTION ("c++, uncompressed") { + SECTION("c++, uncompressed") { bool b = CorDataCanDeCompress(); - CHECK( b==true ); + CHECK(b == true); cout << "Reading: " << fileName << endl; CorDataOpenFile(fileName); std::string str; CorDataNextText(str); - CHECK ( str=="sibyll20" ); - CHECK ( CorDataNextNumber()==0.10000E-02 ); - CHECK ( CorDataNextNumber()==91 ); - CHECK ( CorDataNextNumber()==261 ); - CHECK ( CorDataNextNumber()==5 ); - CHECK ( CorDataNextNumber()==11 ); - CHECK ( CorDataNextNumber()==20 ); - - double aData[3*9]; - const int length = 3*9; + CHECK(str == "sibyll20"); + CHECK(CorDataNextNumber() == 0.10000E-02); + CHECK(CorDataNextNumber() == 91); + CHECK(CorDataNextNumber() == 261); + CHECK(CorDataNextNumber() == 5); + CHECK(CorDataNextNumber() == 11); + CHECK(CorDataNextNumber() == 20); + + double aData[3 * 9]; + const int length = 3 * 9; CorDataFillArray(aData, length); - for (int i=0; i<length; ++i) { - CHECK( aData[i] == testData[i] ); - } + for (int i = 0; i < length; ++i) { CHECK(aData[i] == testData[i]); } CorDataCloseFile(); } - - SECTION ("c++, compressed") { + + SECTION("c++, compressed") { bool b = CorDataCanDeCompress(); - CHECK( b==true ); + CHECK(b == true); cout << "Reading: " << fileNameBZ2 << endl; CorDataOpenFile(fileNameBZ2); std::string str; CorDataNextText(str); - CHECK ( str=="sibyll20" ); - CHECK ( CorDataNextNumber()==0.10000E-02 ); - CHECK ( CorDataNextNumber()==91 ); - CHECK ( CorDataNextNumber()==261 ); - CHECK ( CorDataNextNumber()==5 ); - CHECK ( CorDataNextNumber()==11 ); - CHECK ( CorDataNextNumber()==20 ); - - double aData[3*9]; - const int length = 3*9; + CHECK(str == "sibyll20"); + CHECK(CorDataNextNumber() == 0.10000E-02); + CHECK(CorDataNextNumber() == 91); + CHECK(CorDataNextNumber() == 261); + CHECK(CorDataNextNumber() == 5); + CHECK(CorDataNextNumber() == 11); + CHECK(CorDataNextNumber() == 20); + + double aData[3 * 9]; + const int length = 3 * 9; CorDataFillArray(aData, length); - for (int i=0; i<length; ++i) { - CHECK( aData[i] == testData[i] ); - } + for (int i = 0; i < length; ++i) { CHECK(aData[i] == testData[i]); } CorDataCloseFile(); } - - SECTION ("fortran, uncompressed") { + + SECTION("fortran, uncompressed") { bool b = cordatacandecompress_(); - CHECK( b==true ); + CHECK(b == true); cout << "Reading: " << fileName << endl; cordataopenfile_(fileName.c_str()); char str[10]; cordatanexttext_(str, 10); - CHECK ( std::string(str)=="sibyll20" ); - CHECK ( cordatanextnumber_()==0.10000E-02 ); - CHECK ( cordatanextnumber_()==91 ); - CHECK ( cordatanextnumber_()==261 ); - CHECK ( cordatanextnumber_()==5 ); - CHECK ( cordatanextnumber_()==11 ); - CHECK ( cordatanextnumber_()==20 ); - - double aData[3*9]; - const int length = 3*9; + CHECK(std::string(str) == "sibyll20"); + CHECK(cordatanextnumber_() == 0.10000E-02); + CHECK(cordatanextnumber_() == 91); + CHECK(cordatanextnumber_() == 261); + CHECK(cordatanextnumber_() == 5); + CHECK(cordatanextnumber_() == 11); + CHECK(cordatanextnumber_() == 20); + + double aData[3 * 9]; + const int length = 3 * 9; cordatafillarray_(aData, length); - - for (int i=0; i<length; ++i) { - CHECK( aData[i] == testData[i] ); - } + + for (int i = 0; i < length; ++i) { CHECK(aData[i] == testData[i]); } cordataclosefile_(); } - SECTION ("fortran, compressed") { + SECTION("fortran, compressed") { bool b = cordatacandecompress_(); - CHECK( b==true ); + CHECK(b == true); cout << "Reading: " << fileNameBZ2 << endl; cordataopenfile_(fileNameBZ2.c_str()); char str[10]; cordatanexttext_(str, 10); - CHECK ( std::string(str)=="sibyll20" ); - CHECK ( cordatanextnumber_()==0.10000E-02 ); - CHECK ( cordatanextnumber_()==91 ); - CHECK ( cordatanextnumber_()==261 ); - CHECK ( cordatanextnumber_()==5 ); - CHECK ( cordatanextnumber_()==11 ); - CHECK ( cordatanextnumber_()==20 ); - - double aData[3*9]; - const int length = 3*9; + CHECK(std::string(str) == "sibyll20"); + CHECK(cordatanextnumber_() == 0.10000E-02); + CHECK(cordatanextnumber_() == 91); + CHECK(cordatanextnumber_() == 261); + CHECK(cordatanextnumber_() == 5); + CHECK(cordatanextnumber_() == 11); + CHECK(cordatanextnumber_() == 20); + + double aData[3 * 9]; + const int length = 3 * 9; cordatafillarray_(aData, length); - - for (int i=0; i<length; ++i) { - CHECK( aData[i] == testData[i] ); - } + + for (int i = 0; i < length; ++i) { CHECK(aData[i] == testData[i]); } cordataclosefile_(); } #else - SECTION ("c++") { - CHECK_THROWS( CorDataOpenFile("") ); + SECTION("c++") { + CHECK_THROWS(CorDataOpenFile("")); double a[1]; const int length = 1; - CHECK_THROWS( CorDataFillArray(a, length) ); - CHECK_THROWS( CorDataCloseFile() ); + CHECK_THROWS(CorDataFillArray(a, length)); + CHECK_THROWS(CorDataCloseFile()); double v = 0; - CHECK_THROWS( v = CorDataNextNumber() ); + CHECK_THROWS(v = CorDataNextNumber()); string data; - CHECK_THROWS( CorDataNextText(data) ); - CHECK( CorDataCanDeCompress() == false ); + CHECK_THROWS(CorDataNextText(data)); + CHECK(CorDataCanDeCompress() == false); } - - SECTION ("fortran") { - CHECK_THROWS( cordataopenfile_("") ); + + SECTION("fortran") { + CHECK_THROWS(cordataopenfile_("")); double a[1]; const int length = 1; - CHECK_THROWS( cordatafillarray_(a, length) ); - CHECK_THROWS( cordataclosefile_() ); + CHECK_THROWS(cordatafillarray_(a, length)); + CHECK_THROWS(cordataclosefile_()); double d = 0; - CHECK_THROWS( d = cordatanextnumber_() ); - char* str = ""; - CHECK_THROWS( cordatanexttext_(str, 0) ); - CHECK( cordatacandecompress_() == 0 ); + CHECK_THROWS(d = cordatanextnumber_()); + std::string str(" "); + CHECK_THROWS(cordatanexttext_(str.c_str(), 0)); + CHECK(cordatacandecompress_() == 0); } - + #endif }