#pragma once
/**
 * @file angle_literals.h
 * @brief 提供角度单位转换的用户定义字面量
 *
 * 本文件定义了将角度从度数转换为弧度的字面量操作符。
 * 这允许在代码中以更自然的方式表示角度，例如：45_deg
 */

/**
 * @brief 将浮点度数转换为弧度的字面量操作符
 * @param in_degree 角度值（度）
 * @return 等效的弧度值
 *
 * 示例用法: auto angle = 45.5_deg;
 */
consteval auto operator"" _deg(const long double in_degree) {
	return in_degree * 3.1415926 / 180.0;
}

/**
 * @brief 将整数度数转换为弧度的字面量操作符
 * @param in_degree 角度值（度）
 * @return 等效的弧度值
 *
 * 示例用法: auto angle = 90_deg;
 */
consteval auto operator"" _deg(const unsigned long long in_degree) {
	return in_degree * 3.1415926 / 180.0;
}
