Files
mcc/mcc_constants.h
Timur A. Fatkhullin a686731c0a ...
2026-01-30 22:20:42 +03:00

36 lines
1.4 KiB
C++

#pragma once
/****************************************************************************************
* *
* MOUNT CONTROL COMPONENTS LIBRARY *
* *
* *
* LIBRARY-WIDE CONSTANTS *
* *
****************************************************************************************/
#include <numbers>
#include "mcc_traits.h"
namespace mcc
{
constexpr double MCC_HALF_PI = std::numbers::pi / 2.0;
constexpr double MCC_TWO_PI = std::numbers::pi * 2.0;
static constexpr double MCC_SIDERAL_TO_UT1_RATIO = 1.002737909350795; // sideral/UT1
// a value to represent of infinite time duration according to type of duration representation
template <traits::mcc_time_duration_c DT>
static constexpr DT MCC_INFINITE_DURATION_V =
std::floating_point<typename DT::rep> ? DT{std::numeric_limits<typename DT::rep>::infinity()}
: DT{std::numeric_limits<typename DT::rep>::max()};
} // namespace mcc