IAP GITLAB

Skip to content
Snippets Groups Projects
Commit 417c94a2 authored by ralfulrich's avatar ralfulrich
Browse files

replace function by subroutine

parent deaba53f
No related branches found
No related tags found
No related merge requests found
......@@ -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
......@@ -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
......@@ -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
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment