From 2a1feb7fb9aafb7ab36a3e41a5e6e31b0936f546 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Mon, 13 May 2024 22:31:50 +0800 Subject: [PATCH] added "const" between constexpr and double. --- inc/hgl/color/Gamma.h | 6 ++-- inc/hgl/math/MathConst.h | 67 ++++++++++++++++++++----------------- inc/hgl/math/PhysicsConst.h | 18 +++++----- 3 files changed, 48 insertions(+), 43 deletions(-) diff --git a/inc/hgl/color/Gamma.h b/inc/hgl/color/Gamma.h index 4cadf07..0472fec 100644 --- a/inc/hgl/color/Gamma.h +++ b/inc/hgl/color/Gamma.h @@ -5,9 +5,9 @@ namespace hgl { - constexpr double GAMMA =2.4f; - constexpr double INV_GAMMA =1.0f/GAMMA; - constexpr double SRGB_ALPHA =0.055f; + constexpr const double GAMMA =2.4f; + constexpr const double INV_GAMMA =1.0f/GAMMA; + constexpr const double SRGB_ALPHA =0.055f; template inline constexpr T sRGB2Linear(const T &in) diff --git a/inc/hgl/math/MathConst.h b/inc/hgl/math/MathConst.h index 9916d3b..b9980f6 100644 --- a/inc/hgl/math/MathConst.h +++ b/inc/hgl/math/MathConst.h @@ -14,41 +14,46 @@ namespace hgl template bool IsNearlyZero(const T value) { - return(abs(value) bool IsNearlyEqual(const T a,const T b) + { + return(abs(a-b)<=HGL_FLOAT_KINDA_SMALL); + } - constexpr double HGL_COS_0 =1; - constexpr double HGL_COS_45 =0.707106781187; - constexpr double HGL_COS_90 =0; - constexpr double HGL_COS_135=-0.707106781187; - constexpr double HGL_COS_180=-1; - constexpr double HGL_COS_225=-0.707106781187; - constexpr double HGL_COS_270=0; - constexpr double HGL_COS_315=0.707106781187; + constexpr const double HGL_E =2.7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274; //欧拉数(自然对数的底数) + constexpr const double HGL_LOG2E =1.44269504088896340736; + constexpr const double HGL_LOG10E =0.434294481903251827651; + constexpr const double HGL_LN2 =0.693147180559945309417; + constexpr const double HGL_LN10 =2.30258509299404568402; + constexpr const double HGL_PI =3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117068; + constexpr const double HGL_PI_2 =1.57079632679489661923; + constexpr const double HGL_PI_4 =0.785398163397448309616; + constexpr const double HGL_PI_3_4 =2.356194490192344928938; + constexpr const double HGL_1_PI =0.318309886183790671538; + constexpr const double HGL_2_PI =0.636619772367581343076; + constexpr const double HGL_2_SQRTPI =1.12837916709551257390; + constexpr const double HGL_SQRT2 =1.41421356237309504880168872420969807; + constexpr const double HGL_SQRT1_2 =0.707106781186547524401; - constexpr double HGL_SIN_0 =0; - constexpr double HGL_SIN_45 =0.707106781187; - constexpr double HGL_SIN_90 =1; - constexpr double HGL_SIN_135=0.707106781187; - constexpr double HGL_SIN_180=0; - constexpr double HGL_SIN_225=-0.707106781187; - constexpr double HGL_SIN_270=-1; - constexpr double HGL_SIN_315=-0.707106781187; + constexpr const double HGL_COS_0 =1; + constexpr const double HGL_COS_45 =0.707106781187; + constexpr const double HGL_COS_90 =0; + constexpr const double HGL_COS_135=-0.707106781187; + constexpr const double HGL_COS_180=-1; + constexpr const double HGL_COS_225=-0.707106781187; + constexpr const double HGL_COS_270=0; + constexpr const double HGL_COS_315=0.707106781187; + + constexpr const double HGL_SIN_0 =0; + constexpr const double HGL_SIN_45 =0.707106781187; + constexpr const double HGL_SIN_90 =1; + constexpr const double HGL_SIN_135=0.707106781187; + constexpr const double HGL_SIN_180=0; + constexpr const double HGL_SIN_225=-0.707106781187; + constexpr const double HGL_SIN_270=-1; + constexpr const double HGL_SIN_315=-0.707106781187; #define HGL_DEF_DEG2RAD(ang) constexpr double HGL_RAD_##ang=double(ang)*(HGL_PI/180.0f); diff --git a/inc/hgl/math/PhysicsConst.h b/inc/hgl/math/PhysicsConst.h index ae1eb5f..7b8e4a1 100644 --- a/inc/hgl/math/PhysicsConst.h +++ b/inc/hgl/math/PhysicsConst.h @@ -3,19 +3,19 @@ namespace hgl { - constexpr double HGL_GOLDEN_RATIO =0.61803398874989484820458683436563811772030917980576;//黄金比例 - constexpr double HGL_SILVER_RATIO =2.4142135623730950488; //白银比例 + constexpr const double HGL_GOLDEN_RATIO =0.61803398874989484820458683436563811772030917980576;//黄金比例 + constexpr const double HGL_SILVER_RATIO =2.4142135623730950488; //白银比例 - constexpr double HGL_SPEED_OF_SOUND =331.3f; //音速(米/秒) - constexpr double HGL_SPEED_OF_LIGHT =299792458; //光速(米/秒) + constexpr const double HGL_SPEED_OF_SOUND =331.3f; //音速(米/秒) + constexpr const double HGL_SPEED_OF_LIGHT =299792458; //光速(米/秒) - constexpr double HGL_ABSOLUTE_ZERO =-273.15f; //绝对零度 + constexpr const double HGL_ABSOLUTE_ZERO =-273.15f; //绝对零度 - constexpr double HGL_UNIVERSAL_GRAVITATION =6.67384e-11; //万有引力常数 + constexpr const double HGL_UNIVERSAL_GRAVITATION =6.67384e-11; //万有引力常数 - constexpr double HGL_EARTH_GRAVITATIONAL_ACCELERATION =9.80665; //地球上的重力加速度(牛顿) - constexpr double HGL_EARTH_MASS =5.9722e+24; //地球质量 - constexpr double HGL_EARTH_RADIUS =6371000; //地球半径(米) + constexpr const double HGL_EARTH_GRAVITATIONAL_ACCELERATION =9.80665; //地球上的重力加速度(牛顿) + constexpr const double HGL_EARTH_MASS =5.9722e+24; //地球质量 + constexpr const double HGL_EARTH_RADIUS =6371000; //地球半径(米) /** * 物体万有引力计算