diff --git a/opm/io/eclipse/EclFile.hpp b/opm/io/eclipse/EclFile.hpp index 38af36a3e..5ea81004c 100644 --- a/opm/io/eclipse/EclFile.hpp +++ b/opm/io/eclipse/EclFile.hpp @@ -28,6 +28,7 @@ #include #include #include +#include namespace Opm { namespace EclIO { @@ -56,7 +57,7 @@ public: char_array.clear(); } - using EclEntry = std::tuple; + using EclEntry = std::tuple; std::vector getList() const; const std::vector& getElementSizeList() const { return array_element_size; } @@ -86,10 +87,10 @@ protected: std::vector array_name; std::vector array_type; - std::vector array_size; + std::vector array_size; std::vector array_element_size; - std::vector ifStreamPos; + std::vector ifStreamPos; std::map array_index; @@ -105,7 +106,7 @@ private: std::vector arrayLoaded; void loadBinaryArray(std::fstream& fileH, std::size_t arrIndex); - void loadFormattedArray(const std::string& fileStr, std::size_t arrIndex, int64_t fromPos); + void loadFormattedArray(const std::string& fileStr, std::size_t arrIndex, std::int64_t fromPos); void load(bool preload); std::vector get_bin_logi_raw_values(int arrIndex) const; diff --git a/opm/io/eclipse/EclUtil.hpp b/opm/io/eclipse/EclUtil.hpp index a0c99b7d9..b4c97d42c 100644 --- a/opm/io/eclipse/EclUtil.hpp +++ b/opm/io/eclipse/EclUtil.hpp @@ -25,11 +25,12 @@ #include #include #include +#include namespace Opm { namespace EclIO { int flipEndianInt(int num); - int64_t flipEndianLongInt(int64_t num); + std::int64_t flipEndianLongInt(std::int64_t num); float flipEndianFloat(float num); double flipEndianDouble(double num); bool isEOF(std::fstream* fileH); @@ -53,44 +54,44 @@ namespace Opm { namespace EclIO { std::string trimr(const std::string &str1); - uint64_t sizeOnDiskBinary(int64_t num, Opm::EclIO::eclArrType arrType, int elementSize); - uint64_t sizeOnDiskFormatted(const int64_t num, Opm::EclIO::eclArrType arrType, int elementSize); + std::uint64_t sizeOnDiskBinary(std::int64_t num, Opm::EclIO::eclArrType arrType, int elementSize); + std::uint64_t sizeOnDiskFormatted(const std::int64_t num, Opm::EclIO::eclArrType arrType, int elementSize); void readBinaryHeader(std::fstream& fileH, std::string& tmpStrName, int& tmpSize, std::string& tmpStrType); void readBinaryHeader(std::fstream& fileH, std::string& arrName, - int64_t& size, Opm::EclIO::eclArrType &arrType, int& elementSize); + std::int64_t& size, Opm::EclIO::eclArrType &arrType, int& elementSize); void readFormattedHeader(std::fstream& fileH, std::string& arrName, - int64_t &num, Opm::EclIO::eclArrType &arrType, int& elementSize); + std::int64_t &num, Opm::EclIO::eclArrType &arrType, int& elementSize); template - std::vector readBinaryArray(std::fstream& fileH, const int64_t size, Opm::EclIO::eclArrType type, + std::vector readBinaryArray(std::fstream& fileH, const std::int64_t size, Opm::EclIO::eclArrType type, std::function& flip, int elementSize); - std::vector readBinaryInteArray(std::fstream &fileH, const int64_t size); - std::vector readBinaryRealArray(std::fstream& fileH, const int64_t size); - std::vector readBinaryDoubArray(std::fstream& fileH, const int64_t size); - std::vector readBinaryLogiArray(std::fstream &fileH, const int64_t size); - std::vector readBinaryRawLogiArray(std::fstream &fileH, const int64_t size); - std::vector readBinaryCharArray(std::fstream& fileH, const int64_t size); - std::vector readBinaryC0nnArray(std::fstream& fileH, const int64_t size, int elementSize); + std::vector readBinaryInteArray(std::fstream &fileH, const std::int64_t size); + std::vector readBinaryRealArray(std::fstream& fileH, const std::int64_t size); + std::vector readBinaryDoubArray(std::fstream& fileH, const std::int64_t size); + std::vector readBinaryLogiArray(std::fstream &fileH, const std::int64_t size); + std::vector readBinaryRawLogiArray(std::fstream &fileH, const std::int64_t size); + std::vector readBinaryCharArray(std::fstream& fileH, const std::int64_t size); + std::vector readBinaryC0nnArray(std::fstream& fileH, const std::int64_t size, int elementSize); template - std::vector readFormattedArray(const std::string& file_str, const int size, int64_t fromPos, + std::vector readFormattedArray(const std::string& file_str, const int size, std::int64_t fromPos, std::function& process); - std::vector readFormattedInteArray(const std::string& file_str, const int64_t size, int64_t fromPos); + std::vector readFormattedInteArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos); - std::vector readFormattedCharArray(const std::string& file_str, const int64_t size, - int64_t fromPos, int elementSize); + std::vector readFormattedCharArray(const std::string& file_str, const std::int64_t size, + std::int64_t fromPos, int elementSize); - std::vector readFormattedRealArray(const std::string& file_str, const int64_t size, int64_t fromPos); - std::vector readFormattedRealRawStrings(const std::string& file_str, const int64_t size, int64_t fromPos); + std::vector readFormattedRealArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos); + std::vector readFormattedRealRawStrings(const std::string& file_str, const std::int64_t size, std::int64_t fromPos); - std::vector readFormattedLogiArray(const std::string& file_str, const int64_t size, int64_t fromPos); - std::vector readFormattedDoubArray(const std::string& file_str, const int64_t size, int64_t fromPos); + std::vector readFormattedLogiArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos); + std::vector readFormattedDoubArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos); }} // namespace Opm::EclIO diff --git a/src/opm/io/eclipse/EclFile.cpp b/src/opm/io/eclipse/EclFile.cpp index c9dad2db7..cc1fea1b2 100644 --- a/src/opm/io/eclipse/EclFile.cpp +++ b/src/opm/io/eclipse/EclFile.cpp @@ -50,7 +50,7 @@ void EclFile::load(bool preload) { while (!isEOF(&fileH)) { std::string arrName(8,' '); eclArrType arrType; - int64_t num; + std::int64_t num; int sizeOfElement; if (formatted) { @@ -66,17 +66,17 @@ void EclFile::load(bool preload) { array_index[array_name[n]] = n; - uint64_t pos = fileH.tellg(); + std::uint64_t pos = fileH.tellg(); ifStreamPos.push_back(pos); arrayLoaded.push_back(false); if (num > 0){ if (formatted) { - uint64_t sizeOfNextArray = sizeOnDiskFormatted(num, arrType, sizeOfElement); + std::uint64_t sizeOfNextArray = sizeOnDiskFormatted(num, arrType, sizeOfElement); fileH.seekg(static_cast(sizeOfNextArray), std::ios_base::cur); } else { - uint64_t sizeOfNextArray = sizeOnDiskBinary(num, arrType, sizeOfElement); + std::uint64_t sizeOfNextArray = sizeOnDiskBinary(num, arrType, sizeOfElement); fileH.seekg(static_cast(sizeOfNextArray), std::ios_base::cur); } } @@ -85,7 +85,7 @@ void EclFile::load(bool preload) { }; fileH.seekg(0, std::ios_base::end); - this->ifStreamPos.push_back(static_cast(fileH.tellg())); + this->ifStreamPos.push_back(static_cast(fileH.tellg())); fileH.close(); if (preload) @@ -145,7 +145,7 @@ void EclFile::loadBinaryArray(std::fstream& fileH, std::size_t arrIndex) arrayLoaded[arrIndex] = true; } -void EclFile::loadFormattedArray(const std::string& fileStr, std::size_t arrIndex, int64_t fromPos) +void EclFile::loadFormattedArray(const std::string& fileStr, std::size_t arrIndex, std::int64_t fromPos) { switch (array_type[arrIndex]) { diff --git a/src/opm/io/eclipse/EclUtil.cpp b/src/opm/io/eclipse/EclUtil.cpp index 373182718..3d60a8d21 100644 --- a/src/opm/io/eclipse/EclUtil.cpp +++ b/src/opm/io/eclipse/EclUtil.cpp @@ -33,9 +33,9 @@ int Opm::EclIO::flipEndianInt(int num) return static_cast(tmp); } -int64_t Opm::EclIO::flipEndianLongInt(int64_t num) +std::int64_t Opm::EclIO::flipEndianLongInt(int64_t num) { - uint64_t tmp = __builtin_bswap64(num); + std::uint64_t tmp = __builtin_bswap64(num); return static_cast(tmp); } @@ -89,7 +89,7 @@ bool Opm::EclIO::isFormatted(const std::string& filename) bool Opm::EclIO::isEOF(std::fstream* fileH) { int num; - int64_t pos = fileH->tellg(); + std::int64_t pos = fileH->tellg(); fileH->read(reinterpret_cast(&num), sizeof(num)); if (fileH->eof()) { @@ -190,9 +190,9 @@ std::string Opm::EclIO::trimr(const std::string &str1) } } -uint64_t Opm::EclIO::sizeOnDiskBinary(int64_t num, Opm::EclIO::eclArrType arrType, int elementSize) +std::uint64_t Opm::EclIO::sizeOnDiskBinary(std::int64_t num, Opm::EclIO::eclArrType arrType, int elementSize) { - uint64_t size = 0; + std::uint64_t size = 0; if (arrType == Opm::EclIO::MESS) { if (num > 0) { @@ -212,16 +212,16 @@ uint64_t Opm::EclIO::sizeOnDiskBinary(int64_t num, Opm::EclIO::eclArrType arrTyp int maxBlockSize = std::get<1>(sizeData); int maxNumberOfElements = maxBlockSize / sizeOfElement; - auto numBlocks = static_cast(num)/static_cast(maxNumberOfElements); - auto rest = static_cast(num) - numBlocks*static_cast(maxNumberOfElements); + auto numBlocks = static_cast(num)/static_cast(maxNumberOfElements); + auto rest = static_cast(num) - numBlocks*static_cast(maxNumberOfElements); - auto size2Inte = static_cast(Opm::EclIO::sizeOfInte) * 2; - auto sizeFullBlocks = numBlocks * (static_cast(maxBlockSize) + size2Inte); + auto size2Inte = static_cast(Opm::EclIO::sizeOfInte) * 2; + auto sizeFullBlocks = numBlocks * (static_cast(maxBlockSize) + size2Inte); - uint64_t sizeLastBlock = 0; + std::uint64_t sizeLastBlock = 0; if (rest > 0) - sizeLastBlock = rest * static_cast(sizeOfElement) + size2Inte; + sizeLastBlock = rest * static_cast(sizeOfElement) + size2Inte; size = sizeFullBlocks + sizeLastBlock; } @@ -230,9 +230,9 @@ uint64_t Opm::EclIO::sizeOnDiskBinary(int64_t num, Opm::EclIO::eclArrType arrTyp return size; } -uint64_t Opm::EclIO::sizeOnDiskFormatted(const int64_t num, Opm::EclIO::eclArrType arrType, int elementSize) +std::uint64_t Opm::EclIO::sizeOnDiskFormatted(const std::int64_t num, Opm::EclIO::eclArrType arrType, int elementSize) { - uint64_t size = 0; + std::uint64_t size = 0; if (arrType == Opm::EclIO::MESS) { if (num > 0) { @@ -263,7 +263,7 @@ uint64_t Opm::EclIO::sizeOnDiskFormatted(const int64_t num, Opm::EclIO::eclArrTy nLinesBlock++; } - int64_t blockSize = maxBlockSize * columnWidth + nLinesBlock; + std::int64_t blockSize = maxBlockSize * columnWidth + nLinesBlock; size = nBlocks * blockSize; } @@ -310,7 +310,7 @@ void Opm::EclIO::readBinaryHeader(std::fstream& fileH, std::string& tmpStrName, } void Opm::EclIO::readBinaryHeader(std::fstream& fileH, std::string& arrName, - int64_t& size, Opm::EclIO::eclArrType &arrType, int& elementSize) + std::int64_t& size, Opm::EclIO::eclArrType &arrType, int& elementSize) { std::string tmpStrName(8,' '); std::string tmpStrType(4,' '); @@ -330,9 +330,9 @@ void Opm::EclIO::readBinaryHeader(std::fstream& fileH, std::string& arrName, if (x231exp < 0) OPM_THROW(std::runtime_error, "Invalid X231 header, size of array should be negative'"); - size = static_cast(tmpSize) + static_cast(x231exp) * pow(2,31); + size = static_cast(tmpSize) + static_cast(x231exp) * pow(2,31); } else { - size = static_cast(tmpSize); + size = static_cast(tmpSize); } elementSize = 4; @@ -364,7 +364,7 @@ void Opm::EclIO::readBinaryHeader(std::fstream& fileH, std::string& arrName, void Opm::EclIO::readFormattedHeader(std::fstream& fileH, std::string& arrName, - int64_t &num, Opm::EclIO::eclArrType &arrType, int& elementSize) + std::int64_t &num, Opm::EclIO::eclArrType &arrType, int& elementSize) { std::string line; std::getline(fileH,line); @@ -415,7 +415,7 @@ void Opm::EclIO::readFormattedHeader(std::fstream& fileH, std::string& arrName, } template -std::vector Opm::EclIO::readBinaryArray(std::fstream& fileH, const int64_t size, Opm::EclIO::eclArrType type, +std::vector Opm::EclIO::readBinaryArray(std::fstream& fileH, const std::int64_t size, Opm::EclIO::eclArrType type, std::function& flip, int elementSize) { std::vector arr; @@ -433,7 +433,7 @@ std::vector Opm::EclIO::readBinaryArray(std::fstream& fileH, const int64_t si arr.reserve(size); - int64_t rest = size; + std::int64_t rest = size; while (rest > 0) { int dhead; @@ -481,27 +481,27 @@ std::vector Opm::EclIO::readBinaryArray(std::fstream& fileH, const int64_t si } -std::vector Opm::EclIO::readBinaryInteArray(std::fstream &fileH, const int64_t size) +std::vector Opm::EclIO::readBinaryInteArray(std::fstream &fileH, const std::int64_t size) { std::function f = Opm::EclIO::flipEndianInt; return readBinaryArray(fileH, size, Opm::EclIO::INTE, f, sizeOfInte); } -std::vector Opm::EclIO::readBinaryRealArray(std::fstream& fileH, const int64_t size) +std::vector Opm::EclIO::readBinaryRealArray(std::fstream& fileH, const std::int64_t size) { std::function f = Opm::EclIO::flipEndianFloat; return readBinaryArray(fileH, size, Opm::EclIO::REAL, f, sizeOfReal); } -std::vector Opm::EclIO::readBinaryDoubArray(std::fstream& fileH, const int64_t size) +std::vector Opm::EclIO::readBinaryDoubArray(std::fstream& fileH, const std::int64_t size) { std::function f = Opm::EclIO::flipEndianDouble; return readBinaryArray(fileH, size, Opm::EclIO::DOUB, f, sizeOfDoub); } -std::vector Opm::EclIO::readBinaryLogiArray(std::fstream &fileH, const int64_t size) +std::vector Opm::EclIO::readBinaryLogiArray(std::fstream &fileH, const std::int64_t size) { std::function f = [](unsigned int intVal) { @@ -521,7 +521,7 @@ std::vector Opm::EclIO::readBinaryLogiArray(std::fstream &fileH, const int return readBinaryArray(fileH, size, Opm::EclIO::LOGI, f, sizeOfLogi); } -std::vector Opm::EclIO::readBinaryRawLogiArray(std::fstream &fileH, const int64_t size) +std::vector Opm::EclIO::readBinaryRawLogiArray(std::fstream &fileH, const std::int64_t size) { std::function f = [](unsigned int intVal) { @@ -531,7 +531,7 @@ std::vector Opm::EclIO::readBinaryRawLogiArray(std::fstream &fileH } -std::vector Opm::EclIO::readBinaryCharArray(std::fstream& fileH, const int64_t size) +std::vector Opm::EclIO::readBinaryCharArray(std::fstream& fileH, const std::int64_t size) { using Char8 = std::array; std::function f = [](const Char8& val) @@ -543,7 +543,7 @@ std::vector Opm::EclIO::readBinaryCharArray(std::fstream& fileH, co } -std::vector Opm::EclIO::readBinaryC0nnArray(std::fstream& fileH, const int64_t size, int elementSize) +std::vector Opm::EclIO::readBinaryC0nnArray(std::fstream& fileH, const std::int64_t size, int elementSize) { std::function f = [](const std::string& val) { @@ -555,18 +555,18 @@ std::vector Opm::EclIO::readBinaryC0nnArray(std::fstream& fileH, co template -std::vector Opm::EclIO::readFormattedArray(const std::string& file_str, const int size, int64_t fromPos, +std::vector Opm::EclIO::readFormattedArray(const std::string& file_str, const int size, std::int64_t fromPos, std::function& process) { std::vector arr; arr.reserve(size); - int64_t p1=fromPos; + std::int64_t p1=fromPos; for (int i=0; i< size; i++) { p1 = file_str.find_first_not_of(' ',p1); - int64_t p2 = file_str.find_first_of(' ', p1); + std::int64_t p2 = file_str.find_first_of(' ', p1); arr.push_back(process(file_str.substr(p1, p2-p1))); @@ -577,7 +577,7 @@ std::vector Opm::EclIO::readFormattedArray(const std::string& file_str, const } -std::vector Opm::EclIO::readFormattedInteArray(const std::string& file_str, const int64_t size, int64_t fromPos) +std::vector Opm::EclIO::readFormattedInteArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos) { std::function f = [](const std::string& val) @@ -589,13 +589,13 @@ std::vector Opm::EclIO::readFormattedInteArray(const std::string& file_str, } -std::vector Opm::EclIO::readFormattedCharArray(const std::string& file_str, const int64_t size, - int64_t fromPos, int elementSize) +std::vector Opm::EclIO::readFormattedCharArray(const std::string& file_str, const std::int64_t size, + std::int64_t fromPos, int elementSize) { std::vector arr; arr.reserve(size); - int64_t p1=fromPos; + std::int64_t p1=fromPos; for (int i=0; i< size; i++) { p1 = file_str.find_first_of('\'',p1); @@ -614,7 +614,7 @@ std::vector Opm::EclIO::readFormattedCharArray(const std::string& f } -std::vector Opm::EclIO::readFormattedRealArray(const std::string& file_str, const int64_t size, int64_t fromPos) +std::vector Opm::EclIO::readFormattedRealArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos) { std::function f = [](const std::string& val) @@ -628,7 +628,7 @@ std::vector Opm::EclIO::readFormattedRealArray(const std::string& file_st return readFormattedArray(file_str, size, fromPos, f); } -std::vector Opm::EclIO::readFormattedRealRawStrings(const std::string& file_str, const int64_t size, int64_t fromPos) +std::vector Opm::EclIO::readFormattedRealRawStrings(const std::string& file_str, const std::int64_t size, std::int64_t fromPos) { @@ -641,7 +641,7 @@ std::vector Opm::EclIO::readFormattedRealRawStrings(const std::stri } -std::vector Opm::EclIO::readFormattedLogiArray(const std::string& file_str, const int64_t size, int64_t fromPos) +std::vector Opm::EclIO::readFormattedLogiArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos) { std::function f = [](const std::string& val) @@ -659,7 +659,7 @@ std::vector Opm::EclIO::readFormattedLogiArray(const std::string& file_str return readFormattedArray(file_str, size, fromPos, f); } -std::vector Opm::EclIO::readFormattedDoubArray(const std::string& file_str, const int64_t size, int64_t fromPos) +std::vector Opm::EclIO::readFormattedDoubArray(const std::string& file_str, const std::int64_t size, std::int64_t fromPos) { std::function f = [](std::string val)