|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
提供一些跨平台公用函数与类
专题 | |
| 容器 | |
| 文本解析和格式化 | |
| 平台相关接口 | |
| 单位和数量分析 | |
| 运行时类型信息 | |
| 字符串相关函数 | |
命名空间 | |
| namespace | ast::literals |
类 | |
| class | ast::Color |
| class | ast::MessageLogContext |
| class | ast::LoggerStream |
| class | ast::NoopStream |
| class | ast::MessageLogger |
| class | ast::SinCos |
| class | ast::Polynomial |
| class | ast::WorkingDirectory |
宏定义 | |
| #define | AST_ENV_DATA_DIR "AST_DATA_DIR" |
| #define | AST_DATA_DIR_NAME "data" |
| #define | AST_DEFAULT_DIR_AEP8 "SolarSystem/Earth/aep8/" |
| #define | AST_DEFAULT_DIR_IGRF "SolarSystem/Earth/igrf/" |
类型定义 | |
| typedef uint32_t | ast::color_t |
枚举 | |
| enum | ast::EColor : color_t { ast::eBlack = rgb(0, 0, 0) , ast::eSilver = rgb(192, 192, 192) , ast::eGray = rgb(128, 128, 128) , ast::eWhite = rgb(255, 255, 255) , ast::eMaroon = rgb(128, 0, 0) , ast::eRed = rgb(255, 0, 0) , ast::ePurple = rgb(128, 0, 128) , ast::eFuchsia = rgb(255, 0, 255) , ast::eGreen = rgb(0, 128, 0) , ast::eLime = rgb(0, 255, 0) , ast::eOlive = rgb(128, 128, 0) , ast::eYellow = rgb(255, 255, 0) , ast::eNavy = rgb(0, 0, 128) , ast::eBlue = rgb(0, 0, 255) , ast::eTeal = rgb(0, 128, 128) , ast::eAqua = rgb(0, 255, 255) , ast::eTransparent = rgba(0, 0, 0, 0) , ast::eAquaMarine = rgb(127, 255, 212) , ast::eAliceBlue = rgb(240, 248, 255) , ast::eAntiqueWhite = rgb(250, 235, 215) , ast::eAzure = rgb(240, 255, 255) , ast::eBeige = rgb(245, 245, 220) , ast::eBisque = rgb(255, 228, 196) , ast::eBlanchedAlmond = rgb(255, 235, 205) , ast::eBlueViolet = rgb(138, 43, 226) , ast::eBrown = rgb(165, 42, 42) , ast::eBurlyWood = rgb(222, 184, 135) , ast::eCadetBlue = rgb(95, 158, 160) , ast::eChartreuse = rgb(127, 255, 0) , ast::eChocolate = rgb(210, 105, 30) , ast::eCoral = rgb(255, 127, 80) , ast::eCornflowerBlue = rgb(100, 149, 237) , ast::eCornsilk = rgb(255, 248, 220) , ast::eCrimson = rgb(220, 20, 60) , ast::eCyan = eAqua , ast::eDarkBlue = rgb(0, 0, 139) , ast::eDarkCyan = rgb(0, 139, 139) , ast::eDarkGoldenRod = rgb(184, 134, 11) , ast::eDarkGray = rgb(169, 169, 169) , ast::eDarkGreen = rgb(0, 100, 0) , ast::eDarkGrey = rgb(169, 169, 169) , ast::eDarkKhaki = rgb(189, 183, 107) , ast::eDarkMagenta = rgb(139, 0, 139) , ast::eDarkOliveGreen = rgb(85, 107, 47) , ast::eDarkOrange = rgb(255, 140, 0) , ast::eDarkOrchid = rgb(153, 50, 204) , ast::eDarkRed = rgb(139, 0, 0) , ast::eDarkSalmon = rgb(233, 150, 122) , ast::eDarkSeaGreen = rgb(143, 188, 143) , ast::eDarkSlateBlue = rgb(72, 61, 139) , ast::eDarkSlateGray = rgb(47, 79, 79) , ast::eDarkSlateGrey = rgb(47, 79, 79) , ast::eDarkTurquoise = rgb(0, 206, 209) , ast::eDarkViolet = rgb(148, 0, 211) , ast::eDeepPink = rgb(255, 20, 147) , ast::eDeepSkyBlue = rgb(0, 191, 255) , ast::eDimGray = rgb(105, 105, 105) , ast::eDimGrey = rgb(105, 105, 105) , ast::eDodgerBlue = rgb(30, 144, 255) , ast::eFireBrick = rgb(178, 34, 34) , ast::eFloralWhite = rgb(255, 250, 240) , ast::eForestGreen = rgb(34, 139, 34) , ast::eGainsboro = rgb(220, 220, 220) , ast::eGhostWhite = rgb(248, 248, 255) , ast::eGold = rgb(255, 215, 0) , ast::eGoldenRod = rgb(218, 165, 32) , ast::eGreenYellow = rgb(173, 255, 47) , ast::eGrey = rgb(128, 128, 128) , ast::eHoneydew = rgb(240, 255, 240) , ast::eHotPink = rgb(255, 105, 180) , ast::eIndianRed = rgb(205, 92, 92) , ast::eIndigo = rgb(75, 0, 130) , ast::eIvory = rgb(255, 255, 240) , ast::eKhaki = rgb(240, 230, 140) , ast::eLavender = rgb(230, 230, 250) , ast::eLavenderBlush = rgb(255, 240, 245) , ast::eLawnGreen = rgb(124, 252, 0) , ast::eLemonChiffon = rgb(255, 250, 205) , ast::eLightBlue = rgb(173, 216, 230) , ast::eLightCoral = rgb(240, 128, 128) , ast::eLightCyan = rgb(224, 255, 255) , ast::eLightGoldenRodYellow = rgb(250, 250, 210) , ast::eLightGray = rgb(211, 211, 211) , ast::eLightGreen = rgb(144, 238, 144) , ast::eLightGrey = rgb(211, 211, 211) , ast::eLightPink = rgb(255, 182, 193) , ast::eLightSalmon = rgb(255, 160, 122) , ast::eLightSeaGreen = rgb(32, 178, 170) , ast::eLightSkyBlue = rgb(135, 206, 250) , ast::eLightSlateGray = rgb(119, 136, 153) , ast::eLightSlateGrey = rgb(119, 136, 153) , ast::eLightSteelBlue = rgb(176, 196, 222) , ast::eLightYellow = rgb(255, 255, 224) , ast::eLimeGreen = rgb(50, 205, 50) , ast::eLinen = rgb(250, 240, 230) , ast::eMagenta = eFuchsia , ast::eMediumAquaMarine = rgb(102, 205, 170) , ast::eMediumBlue = rgb(0, 0, 205) , ast::eMediumOrchid = rgb(186, 85, 211) , ast::eMediumPurple = rgb(147, 112, 219) , ast::eMediumSeaGreen = rgb(60, 179, 113) , ast::eMediumSlateBlue = rgb(123, 104, 238) , ast::eMediumSpringGreen = rgb(0, 250, 154) , ast::eMediumTurquoise = rgb(72, 209, 204) , ast::eMediumVioletRed = rgb(199, 21, 133) , ast::eMidnightBlue = rgb(25, 25, 112) , ast::eMintCream = rgb(245, 255, 250) , ast::eMistyRose = rgb(255, 228, 225) , ast::eMoccasin = rgb(255, 228, 181) , ast::eNavajoWhite = rgb(255, 222, 173) , ast::eOldLace = rgb(253, 245, 230) , ast::eOliveDrab = rgb(107, 142, 35) , ast::eOrange = rgb(255, 165, 0) , ast::eOrangeRed = rgb(255, 69, 0) , ast::eOrchid = rgb(218, 112, 214) , ast::ePaleGoldenRod = rgb(238, 232, 170) , ast::ePaleGreen = rgb(152, 251, 152) , ast::ePaleTurquoise = rgb(175, 238, 238) , ast::ePaleVioletRed = rgb(219, 112, 147) , ast::ePapayaWhip = rgb(255, 239, 213) , ast::ePeachPuff = rgb(255, 218, 185) , ast::ePeru = rgb(205, 133, 63) , ast::ePink = rgb(255, 192, 203) , ast::ePlum = rgb(221, 160, 221) , ast::ePowderBlue = rgb(176, 224, 230) , ast::eRebeccaPurple = rgb(102, 51, 153) , ast::eRosyBrown = rgb(188, 143, 143) , ast::eRoyalBlue = rgb(65, 105, 225) , ast::eSaddleBrown = rgb(139, 69, 19) , ast::eSalmon = rgb(250, 128, 114) , ast::eSandyBrown = rgb(244, 164, 96) , ast::eSeaGreen = rgb(46, 139, 87) , ast::eSeaShell = rgb(255, 245, 238) , ast::eSienna = rgb(160, 82, 45) , ast::eSkyBlue = rgb(135, 206, 235) , ast::eSlateBlue = rgb(106, 90, 205) , ast::eSlateGray = rgb(112, 128, 144) , ast::eSlateGrey = rgb(112, 128, 144) , ast::eSnow = rgb(255, 250, 250) , ast::eSpringGreen = rgb(0, 255, 127) , ast::eSteelBlue = rgb(70, 130, 180) , ast::eTan = rgb(210, 180, 140) , ast::eThistle = rgb(216, 191, 216) , ast::eTomato = rgb(255, 99, 71) , ast::eTurquoise = rgb(64, 224, 208) , ast::eViolet = rgb(238, 130, 238) , ast::eWheat = rgb(245, 222, 179) , ast::eWhiteSmoke = rgb(245, 245, 245) , ast::eYellowGreen = rgb(154, 205, 50) } |
| enum | ast::ELogLevel { ast::eDebug , ast::eInfo , ast::eWarning , ast::eError , ast::eCritical , ast::eFatal } |
函数 | |
| constexpr color_t | ast::rgb (uint8_t r, uint8_t g, uint8_t b) |
| constexpr color_t | ast::rgba (uint8_t r, uint8_t g, uint8_t b, uint8_t a) |
| A_CONSTEXPR_CXX14 void | ast::aColorToRGB (color_t color, uint8_t &r, uint8_t &g, uint8_t &b) noexcept |
| A_CONSTEXPR_CXX14 void | ast::aColorToRGBA (color_t color, uint8_t &r, uint8_t &g, uint8_t &b, uint8_t &a) noexcept |
| A_ALWAYS_INLINE double | ast::aLightSpeed () noexcept |
| void | ast::aDebugBreak () |
| void | ast::aLogMessageV (ELogLevel level, const MessageLogContext &context, const char *format, va_list ap) |
| void | ast::aLogMessage (ELogLevel level, const MessageLogContext &context, const char *format,...) |
| A_ALWAYS_INLINE void | ast::sincos (double x, double *psin, double *pcos) |
| A_ALWAYS_INLINE SinCos | ast::sincos (double x) |
| template<typename Scalar > | |
| Scalar | ast::aMax (Scalar a, Scalar b) |
| template<typename Scalar > | |
| Scalar | ast::aMin (Scalar a, Scalar b) |
| A_ALWAYS_INLINE double | ast::aNormalizeAngleStart (double angle, double start) |
| A_ALWAYS_INLINE double | ast::aNormalizeAngle (double angle, double center) |
| A_ALWAYS_INLINE double | ast::aNormalizeAngle0To2Pi (double angle) |
| A_ALWAYS_INLINE double | ast::aNormalizeAngleNegPiToPi (double angle) |
| A_ALWAYS_INLINE double | ast::aNormalizeAngleNeg2PiTo0 (double angle) |
| A_ALWAYS_INLINE double | ast::rad2deg (double x) |
| A_ALWAYS_INLINE double | ast::deg2rad (double x) |
| A_ALWAYS_INLINE double | ast::sind (double x) |
| A_ALWAYS_INLINE double | ast::cosd (double x) |
| A_ALWAYS_INLINE double | ast::tand (double x) |
| A_ALWAYS_INLINE double | ast::asind (double x) |
| A_ALWAYS_INLINE double | ast::acosd (double x) |
| A_ALWAYS_INLINE double | ast::atand (double x) |
| A_ALWAYS_INLINE double | ast::atan2d (double y, double x) |
| errc_t | ast::aParsePolynomial (StringView content, StringView varname, std::vector< double > &coeffs) |
| errc_t | ast::aParsePolynomial (StringView content, std::vector< double > &coeffs) |
| std::string | ast::aFormatPolynomial (const std::vector< double > &coeffs, StringView varname) |
| A_ALWAYS_INLINE errc_t | ast::aParsePolynomial (StringView content, Polynomial &poly) |
| A_ALWAYS_INLINE errc_t | ast::aParsePolynomial (StringView content, StringView varname, Polynomial &poly) |
| std::string | ast::aDataDirGetDefault () |
| errc_t | ast::aDataDirGetDefault (std::string &datadir) |
| std::string | ast::aDataDir () |
| errc_t | ast::aDataDir (std::string &datadir) |
| double | ast::Polynomial::eval (double x) const |
变量 | |
| constexpr double | ast::kJ1900Epoch = 2415020.0 |
| constexpr double | ast::kJ1950Epoch = 2433282.5 |
| constexpr double | ast::kJ2000Epoch = 2451545.0 |
| constexpr double | ast::kJ2100Epoch = 2488070.0 |
| constexpr double | ast::kB1900Epoch = 2415020.31352 |
| constexpr double | ast::kB1950Epoch = 2433282.42345905 |
| constexpr double | ast::kTTMinusTAI = 32.184 |
| constexpr double | ast::kGPSMinusTAI = 19.0 |
| constexpr double | ast::kTTMinusTAIInDay = 32.184/86400 |
| constexpr double | ast::kMJDRefEpoch = 2400000.5 |
| constexpr double | ast::kPI = 3.141592653589793238462643383279502884197169399375105 |
| constexpr double | ast::kTwoPI = 6.283185307179586476925286766558 |
| constexpr double | ast::kFourPI = 12.566370614359172953850573533116 |
| constexpr double | ast::kHalfPI = 1.5707963267948966192313216916395 |
| constexpr double | ast::kThirdPI = 1.047197551196597746154214461093 |
| constexpr double | ast::kQuarterPI = 0.78539816339744830961566084581975 |
| constexpr double | ast::kSqrPI = 9.869604401089358618834490999873 |
| constexpr double | ast::kAU = 1.49597870691e11 |
| constexpr double | ast::kLightSpeed = 2.99792458e8 |
| constexpr double | ast::kGrav = 6.673e-11 |
| constexpr double | ast::kEarthGrav = 3.986004418e14 |
| constexpr double | ast::kEarthGrav_EGM2008 = 3.986004415e14 |
| constexpr double | ast::kEarthRadius = 6378137.0 |
| constexpr double | ast::kEarthMinRadius = 6.35675231424E6 |
| constexpr double | ast::kEarthFlatFact = 3.35281066475E-3 |
| constexpr double | ast::kEarthSiderealDay = 86164.09054 |
| constexpr double | ast::kEarthSiderealYear = 365.25636 |
| constexpr double | ast::kEarthAngVel = 7.292115146706979e-5 |
| constexpr double | ast::kMoonGrav = 4.9028029535968e+12 |
| constexpr double | ast::kMoonRadius = 1737400.0 |
| constexpr double | ast::kMoonMinRadius = 1737400.0 |
| constexpr double | ast::kJupiterGrav = 1.26712000000000e+017 |
| constexpr double | ast::kJupiterRadius = 7.14920000000000e+007 |
| constexpr double | ast::kJupiterMinRadius = 6.68540000000000e+007 |
| constexpr double | ast::kMarsGrav = 4.28283719012840e+013 |
| constexpr double | ast::kMarsRadius = 3.39700000000000e+006 |
| constexpr double | ast::kMarsMinRadius = 3.37500000000000e+006 |
| constexpr double | ast::kMercuryGrav = 2.20320800000000e+013 |
| constexpr double | ast::kMercuryRadius = 2.43970000000000e+006 |
| constexpr double | ast::kMercuryMinRadius = 2.43970000000000e+006 |
| constexpr double | ast::kNeptuneGrav = 6.87130000000000e+015 |
| constexpr double | ast::kNeptuneRadius = 2.52690000000000e+007 |
| constexpr double | ast::kNeptuneMinRadius = 2.48000000000000e+007 |
| constexpr double | ast::kPlutoGrav = 1.00907600000000e+012 |
| constexpr double | ast::kPlutoRadius = 1.16200000000000e+006 |
| constexpr double | ast::kPlutoMinRadius = 1.16200000000000e+006 |
| constexpr double | ast::kSaturnGrav = 3.79340000000000e+016 |
| constexpr double | ast::kSaturnRadius = 6.02680000000000e+007 |
| constexpr double | ast::kSaturnMinRadius = 5.43640000000000e+007 |
| constexpr double | ast::kSunGrav = 1.327122E20 |
| constexpr double | ast::kSunRadius = 695990000.0 |
| constexpr double | ast::kSunMinRadius = 695990000.0 |
| constexpr double | ast::kUranusGrav = 5.80320000000000e+015 |
| constexpr double | ast::kUranusRadius = 2.55590000000000e+007 |
| constexpr double | ast::kUranusMinRadius = 2.49730000000000e+007 |
| constexpr double | ast::kVenusGrav = 3.24858800000000e+014 |
| constexpr double | ast::kVenusRadius = 6.05190000000000e+006 |
| constexpr double | ast::kVenusMinRadius = 6.05190000000000e+006 |
| constexpr double | ast::kMeterToKilometer = 1.0e-03 |
| constexpr double | ast::kMeterToCentimeter = 1.0e+02 |
| constexpr double | ast::kMeterToMillimeter = 1.0e+03 |
| constexpr double | ast::kMeterToMicroMeter = 1.0e+06 |
| constexpr double | ast::kMeterToNanometer = 1.0e+09 |
| constexpr double | ast::kKilometerToMeter = 1.0e03 |
| constexpr double | ast::kCentimeterToMeter = 1.e-02 |
| constexpr double | ast::kMillimeterToMeter = 1.e-03 |
| constexpr double | ast::kMicroMeterToMeter = 1.e-06 |
| constexpr double | ast::kNanometerToMeter = 1.e-09 |
| constexpr double | ast::kSecToMin = 0.0166666666666666667 |
| constexpr double | ast::kSecToHour = 0.000277777777777777778 |
| constexpr double | ast::kSecToDay = 0.0000115740740740740741 |
| constexpr double | ast::kMinToSec = 60.0 |
| constexpr double | ast::kMinToHour = 0.0166666666666666667 |
| constexpr double | ast::kMinToDay = 0.000694444444444444444 |
| constexpr double | ast::kHourToSec = 3600.0 |
| constexpr double | ast::kHourToMin = 60.0 |
| constexpr double | ast::kHourToDay = 0.0416666666666666667 |
| constexpr double | ast::kDayToSec = 8.64e04 |
| constexpr double | ast::kDayToMin = 1440.0 |
| constexpr double | ast::kDayToHour = 24.0 |
| constexpr double | ast::kMilliSecToSec = 1.0e-03 |
| constexpr double | ast::kMicroSecToSec = 1.0e-06 |
| constexpr double | ast::kNanoSecToSec = 1.0e-09 |
| constexpr double | ast::kPicoSecToSec = 1.0e-12 |
| constexpr double | ast::kSecToMilliSec = 1.0e+03 |
| constexpr double | ast::kSecToMicroSec = 1.0e+06 |
| constexpr double | ast::kSecToNanoSec = 1.0e+09 |
| constexpr double | ast::kSecToPicoSec = 1.0e+12 |
| constexpr double | ast::kDaysPerJulianCentury = 36525.0 |
| constexpr double | ast::kDaysPerJulianYear = 365.25 |
| constexpr double | ast::kSecondsPerDay = 86400.0 |
| constexpr double | ast::kSecondsPerHour = 3600.0 |
| constexpr double | ast::kSecondsPerMinute = 60.0 |
| constexpr double | ast::kSecondsPerJulianYear = 31557600.0 |
| constexpr double | ast::kRadToDeg = 57.2957795130823208767 |
| constexpr double | ast::kDegToRad = 0.017453292519943295769236907684886 |
| constexpr double | ast::kArcSecToRad = 4.848136811095359935899141e-6 |
| constexpr double | ast::kArcMinToRad = 2.9088820866572159615394846141477e-4 |
| constexpr double | ast::kTimeSecToRad = 7.2722052166430399038487115353692e-5 |
| constexpr double | ast::kTimeMinToRad = 0.0043633231299858239423092269212215 |
| constexpr double | ast::kRevolutionToRad = kTwoPI |
| enum ast::EColor : color_t |
预定义的颜色枚举
| enum ast::ELogLevel |
|
inlinenoexcept |
|
inlinenoexcept |
| A_ALWAYS_INLINE double ast::acosd | ( | double | x | ) |
计算反余弦(以度为单位)
| x | 余弦值(范围[-1, 1]) |
| AST_UTIL_API std::string ast::aDataDir | ( | ) |
获取数据文件夹
| AST_UTIL_CAPI errc_t ast::aDataDir | ( | std::string & | datadir | ) |
获取数据文件夹
| AST_UTIL_API std::string ast::aDataDirGetDefault | ( | ) |
获取默认数据文件夹 数据文件夹的顺序:
| AST_UTIL_CAPI errc_t ast::aDataDirGetDefault | ( | std::string & | datadir | ) |
| AST_UTIL_CAPI void ast::aDebugBreak | ( | ) |
触发调试器中断
| AST_UTIL_API std::string ast::aFormatPolynomial | ( | const std::vector< double > & | coeffs, |
| StringView | varname ) |
将系数向量格式化为多项式表达式字符串
| coeffs | 系数向量,例如 {-1.0, 3.0, 2.0} 表示 2x^2 + 3x - 1 |
| varname | 变量名,例如 "x" |
|
noexcept |
获取真空中的光速
这个函数接口是为了应对未来可能允许在软件运行时修改光速的情况
| A_ALWAYS_INLINE double ast::aNormalizeAngle | ( | double | angle, |
| double | center ) |
将角度量规范化到指定中心范围
| angle | 输入角度(弧度) |
| center | 中心角度(弧度) |
| A_ALWAYS_INLINE double ast::aNormalizeAngle0To2Pi | ( | double | angle | ) |
将角度量规范化到 0 到 2π 范围
| angle | 输入角度(弧度) |
| A_ALWAYS_INLINE double ast::aNormalizeAngleNeg2PiTo0 | ( | double | angle | ) |
将角度量规范化到 -2π 到 0 范围
| angle | 输入角度(弧度) |
| A_ALWAYS_INLINE double ast::aNormalizeAngleNegPiToPi | ( | double | angle | ) |
将角度量规范化到 -π 到 π 范围
| angle | 输入角度(弧度) |
| A_ALWAYS_INLINE double ast::aNormalizeAngleStart | ( | double | angle, |
| double | start ) |
将角度量规范化到指定起始范围
| angle | 输入角度(弧度) |
| start | 起始角度(弧度) |
| AST_UTIL_API errc_t ast::aParsePolynomial | ( | StringView | content, |
| std::vector< double > & | coeffs ) |
解析多项式表达式
| content | 多项式表达式字符串,例如 "2x^2 + 3x - 1" |
| coeffs | 输出参数,用于存储解析后的系数 |
| AST_UTIL_API errc_t ast::aParsePolynomial | ( | StringView | content, |
| StringView | varname, | ||
| std::vector< double > & | coeffs ) |
解析多项式表达式
| content | 多项式表达式字符串,例如 "2x^2 + 3x - 1" |
| varname | 变量名,例如 "x" |
| coeffs | 输出参数,用于存储解析后的系数 |
| A_ALWAYS_INLINE double ast::asind | ( | double | x | ) |
计算反正弦(以度为单位)
| x | 正弦值(范围[-1, 1]) |
| A_ALWAYS_INLINE double ast::atan2d | ( | double | y, |
| double | x ) |
计算四象限反正切(以度为单位)
| y | 垂直坐标 |
| x | 水平坐标 |
| A_ALWAYS_INLINE double ast::atand | ( | double | x | ) |
计算反正切(以度为单位)
| x | 正切值 |
| A_ALWAYS_INLINE double ast::cosd | ( | double | x | ) |
计算余弦值(以度为单位)
| x | 角度(以度为单位) |
| A_ALWAYS_INLINE double ast::deg2rad | ( | double | x | ) |
将角度转换为弧度
| x | 输入角度 |
|
inline |
计算多项式在给定值x处的函数值
| x | 给定值 |
| A_ALWAYS_INLINE double ast::rad2deg | ( | double | x | ) |
将弧度转换为角度
| x | 输入弧度 |
|
inlineconstexpr |
|
inlineconstexpr |
| A_ALWAYS_INLINE SinCos ast::sincos | ( | double | x | ) |
| A_ALWAYS_INLINE void ast::sincos | ( | double | x, |
| double * | psin, | ||
| double * | pcos ) |
计算 sin(x) 和 cos(x) 值
| x | 输入角度(弧度) |
| psin | 指向 sin(x) 值的指针 |
| pcos | 指向 cos(x) 值的指针 |
| A_ALWAYS_INLINE double ast::sind | ( | double | x | ) |
计算正弦值(以度为单位)
| x | 角度(以度为单位) |
| A_ALWAYS_INLINE double ast::tand | ( | double | x | ) |
计算正切值(以度为单位)
| x | 角度(以度为单位) |