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
102inline std::ostream& operator<<(std::ostream& os,
const version& ver)
106 os <<
" (" << ver.
tag <<
")";
195 static constexpr version get_header_version() noexcept
197 return version{GKO_VERSION_MAJOR, GKO_VERSION_MINOR, GKO_VERSION_PATCH,
201 static version get_core_version() noexcept;
203 static
version get_reference_version() noexcept;
205 static
version get_omp_version() noexcept;
207 static
version get_cuda_version() noexcept;
209 static
version get_hip_version() noexcept;
211 static
version get_dpcpp_version() noexcept;
233std::ostream& operator<<(std::ostream& os,
const version_info& ver_info);
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
std::uint64_t uint64
64-bit unsigned integral type.
Definition types.hpp:132
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