//
// DO NOT MODIFY version.hpp, it is automatically generated by cmake
// Change the version numbers in CMakeLists.txt
//

#ifndef SZ3_VERSION_HPP
#define SZ3_VERSION_HPP
#include <sstream>

#define SZ3_MAGIC_NUMBER 0xF342F310

#define SZ3_NAME "SZ3"
#define SZ3_VER  "3.3.2"
#define SZ3_VER_MAJOR 3
#define SZ3_VER_MINOR 3
#define SZ3_VER_PATCH 2
#define SZ3_VER_TWEAK 

#define SZ3_DATA_VER "3.3.2"

inline uint32_t versionInt(const std::string& version) {
    uint32_t major = 0, minor = 0, patch = 0;
    char dot;
    std::stringstream ss(version);
    ss >> major >> dot >> minor >> dot >> patch;
    return (major << 24) | (minor << 16) | (patch<<8);
}

inline std::string versionStr(uint32_t version) {
    uint32_t major = (version >> 24) & 0xFF;
    uint32_t minor = (version >> 16) & 0xFF;
    uint32_t patch = (version >> 8) & 0xFF;
    return std::to_string(major) + "." + std::to_string(minor) + "." + std::to_string(patch);
}

#endif //SZ3_VERSION_HPP
