37 lines
790 B
C++
37 lines
790 B
C++
#pragma once
|
|
|
|
/*********************************
|
|
* MOUNT CONTROL COMPONENTS *
|
|
* *
|
|
* astrometry functions *
|
|
*********************************/
|
|
|
|
#include <chrono>
|
|
#include <xsimd/xsimd.hpp>
|
|
|
|
|
|
namespace mcc::traits
|
|
{
|
|
|
|
template <typename T>
|
|
concept mcc_scalar_or_simd_c = xsimd::is_batch<T>::value || std::is_arithmetic_v<T>;
|
|
|
|
} // namespace mcc::traits
|
|
|
|
|
|
namespace mcc::astro
|
|
{
|
|
|
|
// modified Julian date
|
|
template <traits::mcc_scalar_or_simd_c T>
|
|
int mcc_julday(const std::chrono::utc_clock::time_point& greg_time, T& mjd)
|
|
{
|
|
}
|
|
|
|
template <traits::mcc_scalar_or_simd_c T, typename CT, typename DT>
|
|
T mcc_time_to_alt_limit(const T& alt_limit, const T& RA, const T& DEC, const std::chrono::time_point<CT, DT>& now)
|
|
{
|
|
}
|
|
|
|
} // namespace mcc::astro
|