5#ifndef GKO_PUBLIC_CORE_BASE_VERSION_HPP_
6#define GKO_PUBLIC_CORE_BASE_VERSION_HPP_
12#include <ginkgo/config.hpp>
13#include <ginkgo/core/base/types.hpp>
52 const char*
const tag;
61inline bool operator!=(
const version& first,
const version& second)
63 return !(first == second);
66inline bool operator<(
const version& first,
const version& second)
68 if (first.major < second.major)
return true;
69 if (first.major == second.major && first.minor < second.minor)
return true;
70 if (first.major == second.major && first.minor == second.minor &&
71 first.patch < second.patch)
76inline bool operator<=(
const version& first,
const version& second)
78 return !(second < first);
81inline bool operator>(
const version& first,
const version& second)
83 return second < first;
86inline bool operator>=(
const version& first,
const version& second)
88 return !(first < second);
91#undef GKO_ENABLE_VERSION_COMPARISON
104 os <<
ver.major <<
"." <<
ver.minor <<
"." <<
ver.patch;
106 os <<
" (" <<
ver.tag <<
")";
197 return version{GKO_VERSION_MAJOR, GKO_VERSION_MINOR, GKO_VERSION_PATCH,
Ginkgo uses version numbers to label new features and to communicate backward compatibility guarantee...
Definition version.hpp:133
version dpcpp_version
Contains version information of the DPC++ module.
Definition version.hpp:192
version header_version
Contains version information of the header files.
Definition version.hpp:149
version cuda_version
Contains version information of the CUDA module.
Definition version.hpp:178
version reference_version
Contains version information of the reference module.
Definition version.hpp:164
version omp_version
Contains version information of the OMP module.
Definition version.hpp:171
version core_version
Contains version information of the core library.
Definition version.hpp:156
version hip_version
Contains version information of the HIP module.
Definition version.hpp:185
static const version_info & get()
Returns an instance of version_info.
Definition version.hpp:140
The Ginkgo namespace.
Definition abstract_factory.hpp:20
constexpr T one()
Returns the multiplicative identity for T.
Definition math.hpp:775
std::uint64_t uint64
64-bit unsigned integral type.
Definition types.hpp:138
This structure is used to represent versions of various Ginkgo modules.
Definition version.hpp:26
const uint64 major
The major version number.
Definition version.hpp:35
const char *const tag
Addition tag string that describes the version in more detail.
Definition version.hpp:52
const uint64 patch
The patch version number.
Definition version.hpp:45
const uint64 minor
The minor version number.
Definition version.hpp:40