/*
     Description: 数学常用的一些常数，如pi，e等

     Copyright : All right reserved by ICT

     Author : Zhang Zhonghai
     Date : 2025/12/26
*/
#pragma once

#include <limits>
#include <limits.h>

struct MathConst {
    static constexpr double PI = 105414357.0 / 33554432.0 + 1.984187159361080883e-9;

    static constexpr double TWO_PI = 2 * (105414357.0 / 33554432.0 + 1.984187159361080883e-9);

    static constexpr double DOUBLE_NAN = std::numeric_limits<double>::quiet_NaN();

    static constexpr double DOUBLE_NEGATIVE_INFINITY = -std::numeric_limits<double>::infinity();

    static constexpr double DOUBLE_POSITIVE_INFINITY = std::numeric_limits<double>::infinity();

    static constexpr int INT_MAX_VALUE = INT_MAX;
};