Skip to content

Commit

Permalink
Add ADIOSVersion to BP Minifooter for easy version comparison. E.g. 2…
Browse files Browse the repository at this point in the history
….7.1 --> 2007001
  • Loading branch information
pnorbert committed Jul 7, 2022
1 parent 9a95eeb commit 0353527
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 2 deletions.
1 change: 1 addition & 0 deletions source/adios2/toolkit/format/bp/BPBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,7 @@ class BPBase
uint8_t ADIOSVersionMajor = 0;
uint8_t ADIOSVersionMinor = 0;
uint8_t ADIOSVersionPatch = 0;
uint32_t ADIOSVersion = 0; // major*1M + minor*1k + patch e.g. 2007001
bool IsLittleEndian = true;
bool HasSubFiles = false;

Expand Down
3 changes: 3 additions & 0 deletions source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,9 @@ void BP4Deserializer::ParseMetadataIndex(BufferSTL &bufferSTL,
ascii = helper::ReadValue<uint8_t>(buffer, position,
m_Minifooter.IsLittleEndian);
m_Minifooter.ADIOSVersionPatch = ascii - (uint8_t)'0';
m_Minifooter.ADIOSVersion = m_Minifooter.ADIOSVersionMajor * 1000000 +
m_Minifooter.ADIOSVersionMinor * 1000 +
m_Minifooter.ADIOSVersionPatch;

// BP version
position = m_BPVersionPosition;
Expand Down
4 changes: 2 additions & 2 deletions source/adios2/toolkit/format/bp/bp4/BP4Deserializer.tcc
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ void BP4Deserializer::SetVariableBlockInfo(
blockOperation.PreSizeOf = sizeof(T);

// read metadata from supported type and populate Info
if (m_Minifooter.ADIOSVersionMinor >= 8)
if (m_Minifooter.ADIOSVersion >= 2008000)
{
std::memcpy(&blockOperation.PayloadSize,
bpOpInfo.Metadata.data() + 8, 8);
Expand Down Expand Up @@ -542,7 +542,7 @@ void BP4Deserializer::PostDataRead(
{
if (subStreamBoxInfo.OperationsInfo.size() > 0)
{
if (m_Minifooter.ADIOSVersionMinor >= 8)
if (m_Minifooter.ADIOSVersionMinor >= 2008000)
{
const helper::BlockOperationInfo &blockOperationInfo =
InitPostOperatorBlockData(subStreamBoxInfo.OperationsInfo);
Expand Down

0 comments on commit 0353527

Please sign in to comment.