📄 extended.h
字号:
void Mod (const Extended & x); //求余
void Round (); //四舍五入取整(正好在中间时向偶数取整)
void Floor (); //向负无穷大取整 (不大于this的最大整数)
void Trunc (); //截断取整 即 向零取整
void Ceil (); //向无穷大取整
template <class T> void Max (const T & x) { this->Max (Extended(x)); }
template <class T> void Min (const T & x) { this->Min (Extended(x)); }
void Max (const Extended & x); //最大值
void Min (const Extended & x); //最小值
template <class T>
void Power (const T & x) { this->Power (Extended(x)); }
void Power (const Extended & y); //指数 this^y
void Exp (); //自然数e的次方
void Ln (); //自然数e的对数
void Log2 (); //2的对数
void Log10 (); //10的对数
void Rev (); //求倒数 1/this
void Chs (); //求负 -this
void Sqr (); //平方
void Sqr3 (); //立方
void Sqr4 (); //平方的平方
void Sqrt (); //开方
void Abs (); //绝对值
void Sgn (); //符号函数
template <class T>
void Hypot (const T & x) { this->Hypot (Extended(x)); }
void Hypot (const Extended & x); //Sqrt(this*this+x*x)
void Sin (); //正弦
void Cos (); //余弦
void Tan (); //正切
template <class Tsin,class Tcos>
void SinCos (Tsin* xSin,Tcos* xCos)const
{ Extended rsin,rcos; this->SinCos(&rsin,&rcos); *xSin=Tsin(rsin); *xCos=Tcos(rcos); }
void SinCos (Extended* xSin,Extended* xCos) const; //同时求出正弦和余弦,并通过参数传出,this值不变,
//该函数的计算时间只相当于求一次Sin(或Cos)的时间!!!
void ArcSin (); //反正弦
void ArcCos (); //反余弦
void ArcTan (); //反正切
template <class T>
void ArcTan2 (const T & y) { this->ArcTan2 (Extended(y)); }
void ArcTan2 (const Extended & y); //反正切2 (-PI~PI) 相当于this=Arctan(y/this),但不全部等价,
//求出的值是真正的全角度,数学运算中很有用!
void Csc (); //余割 1/Sin(this)
void Sec (); //正割 1/Cos(this)
void Cot (); //余切 1/Tan(this)
void ArcCsc (); //反余割
void ArcSec (); //反正割
void ArcCot (); //反余切
void SinH (); //双曲正弦
void CosH (); //双曲余弦
void TanH (); //双曲正切
template <class Tsinh,class Tcosh>
void SinHCosH (Tsinh * xSinH,Tcosh * xCosH) const
{ Extended rsinh,rcosh; this->SinHCosH(&rsinh,&rcosh); *xSinH=Tsinh(rsinh); *xCosH=Tcosh(rcosh); }
void SinHCosH(Extended * xSinH,Extended * xCosH) const; //同时求出双曲正弦和双曲余弦,并通过参数传出,this值不变,
//该函数的计算时间只相当于求一次SinH(或CosH)的时间!!!
void ArcSinH (); //双曲反正弦
void ArcCosH (); //双曲反余弦
void ArcTanH (); //双曲反正切
void CscH (); //双曲余割 1/SinH(this)
void SecH (); //双曲正割 1/CosH(this)
void CotH (); //双曲余切 1/TanH(this)
void ArcCscH (); //双曲反余割
void ArcSecH (); //双曲反正割
void ArcCotH (); //双曲反余切
void Fld_PI (); //得到常量 圆周率 PI = 3.1415926535897932384626
void Fld_e (); //得到常量 自然数 e = 2.7182818284590452353603
void Fld_1 (); //得到常量 1.0
void Fld_0 (); //得到常量 0.0
//下面的函数命名仿照"math.h" ,意义也相同 , 用以支持表达式函数连写
friend const Extended ceil ( const Extended& x ){ Extended r(x); r.Ceil(); return r; }
friend const Extended floor ( const Extended& x ){ Extended r(x); r.Floor(); return r; }
friend const Extended _chgsign ( const Extended& x ){ Extended r(x); r.Chs(); return r; }
friend const Extended fabs ( const Extended& x ){ Extended r(x); r.Abs(); return r; }
friend const Extended sqrt ( const Extended& x ){ Extended r(x); r.Sqrt(); return r; }
friend const Extended fmod ( const Extended& x, const Extended& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const Extended& x, const long double& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const long double& x, const Extended& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const Extended& x, const double& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const double& x, const Extended& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const Extended& x, const float& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const float& x, const Extended& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const Extended& x, const __int64& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const __int64& x, const Extended& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( const Extended& x, int& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended fmod ( int& x, const Extended& y ) { Extended r(x); r.Mod(y); return r; }
friend const Extended _hypot ( const Extended& x, const Extended& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const Extended& x, const long double& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const long double& x, const Extended& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const Extended& x, const double& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const double& x, const Extended& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const Extended& x, const float& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const float& x, const Extended& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const Extended& x, const __int64& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const __int64& x, const Extended& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const Extended& x, const int& y ) { Extended r(x); r.Hypot(y); return r; }
friend const Extended _hypot ( const int& x, const Extended& y ) { Extended r(x); r.Hypot(y); return r; }
friend BOOL _isnan ( const Extended& x ); //是否是无效数值
friend BOOL _finite ( const Extended& x ); //是否是有限数值
template <class T>
friend const Extended modf ( const Extended& x, T *intptr )
{ Extended rp,rx; rx=modf(x,&rp); *intptr=T(rp); return rx; }
friend const Extended modf ( const Extended& x, Extended *intptr );
friend const Extended pow ( const Extended& x, const Extended& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const Extended& x, const long double& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const long double& x, const Extended& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const Extended& x, const double& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const double& x, const Extended& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const Extended& x, const float& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const float& x, const Extended& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const Extended& x, const __int64& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const __int64& x, const Extended& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const Extended& x, const int& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended pow ( const int& x, const Extended& y ) { Extended r(x); r.Power(y); return r; }
friend const Extended exp ( const Extended& x ){ Extended r(x); r.Exp(); return r; }
friend const Extended log ( const Extended& x ){ Extended r(x); r.Ln(); return r; }
friend const Extended log10 ( const Extended& x ){ Extended r(x); r.Log10(); return r; }
friend const Extended sin ( const Extended& x ){ Extended r(x); r.Sin(); return r; }
friend const Extended cos ( const Extended& x ){ Extended r(x); r.Cos(); return r; }
friend const Extended tan ( const Extended& x ){ Extended r(x); r.Tan(); return r; }
friend const Extended acos ( const Extended& x ){ Extended r(x); r.ArcCos(); return r; }
friend const Extended asin ( const Extended& x ){ Extended r(x); r.ArcSin(); return r; }
friend const Extended atan ( const Extended& x ){ Extended r(x); r.ArcTan(); return r; }
friend const Extended atan2 ( const Extended& y, const Extended& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const Extended& y, const long double& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const long double& y, const Extended& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const Extended& y, const double& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const double& y, const Extended& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const Extended& y, const float& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const float& y, const Extended& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const Extended& y, const __int64& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const __int64& y, const Extended& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const Extended& y, const int& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended atan2 ( const int& y, const Extended& x ) { Extended r(x); r.ArcTan2(y); return r; }
friend const Extended sinh ( const Extended& x ){ Extended r(x); r.SinH(); return r; }
friend const Extended cosh ( const Extended& x ){ Extended r(x); r.CosH(); return r; }
friend const Extended tanh ( const Extended& x ){ Extended r(x); r.TanH(); return r; }
//下面的函数仿照"math.h" ,但"math.h"中又不支持的一些数学函数, 用以支持表达式函数连写
friend const Extended round ( const Extended& x ){ Extended r(x); r.Round(); return r; }
friend const Extended trunc ( const Extended& x ){ Extended r(x); r.Trunc(); return r; }
friend const Extended Sqr3 ( const Extended& x ){ Extended r(x); r.Sqr3(); return r; }
friend const Extended Sqr4 ( const Extended& x ){ Extended r(x); r.Sqr4(); return r; }
friend const Extended sqr ( const Extended& x ){ Extended r(x); r.Sqr(); return r; }
friend const Extended log2 ( const Extended& x ){ Extended r(x); r.Log2(); return r; }
friend const Extended asinh ( const Extended& x ){ Extended r(x); r.ArcSinH(); return r; }
friend const Extended acosh ( const Extended& x ){ Extended r(x); r.ArcCosH(); return r; }
friend const Extended atanh ( const Extended& x ){ Extended r(x); r.ArcTanH(); return r; }
friend const Extended csc ( const Extended& x ){ Extended r(x); r.Csc(); return r; }
friend const Extended sec ( const Extended& x ){ Extended r(x); r.Sec(); return r; }
friend const Extended cot ( const Extended& x ){ Extended r(x); r.Cot(); return r; }
friend const Extended acsc ( const Extended& x ){ Extended r(x); r.ArcCsc(); return r; }
friend const Extended asec ( const Extended& x ){ Extended r(x); r.ArcSec(); return r; }
friend const Extended acot ( const Extended& x ){ Extended r(x); r.ArcCot(); return r; }
friend const Extended csch ( const Extended& x ){ Extended r(x); r.CscH(); return r; }
friend const Extended sech ( const Extended& x ){ Extended r(x); r.SecH(); return r; }
friend const Extended coth ( const Extended& x ){ Extended r(x); r.CotH(); return r; }
friend const Extended acsch ( const Extended& x ){ Extended r(x); r.ArcCscH(); return r; }
friend const Extended asech ( const Extended& x ){ Extended r(x); r.ArcSecH(); return r; }
friend const Extended acoth ( const Extended& x ){ Extended r(x); r.ArcCotH(); return r; }
};
#endif // !defined(HSS_EXTENDED_H__1ECD8DAE_80C2_4D79_9E0D_F80C031B8CA1__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -