📄 math.cpp
字号:
#pragma math
#pragma qualified
#include <MathLib0.h>
#include <MathLib1.h>
#include <MathLib2.h>
float acos(float x)
{
return MathLib1.ArcCos(x);
};
float asin(float x)
{
return MathLib1.ArcSin(x);
};
float atan(float x)
{
return MathLib0.Arctan(x);
};
float atan2(float x, float y)
{
return MathLib1.ArcTan(y,x);
};
float ceil(float x)
{
if (x<0.0) return FLOAT(MathLib0.Entier(x+0.5)); else return FLOAT(MathLib0.Entier(x+0.99999));
};
float cos(float x)
{
return MathLib0.Cos(x);
};
float cosh(float x)
{
return (MathLib0.Exp(x)+MathLib0.Exp(-x))/2.0;
};
float exp(float x)
{
return MathLib0.Exp(x);
};
float fabs(float x)
{
return ABS(x);
};
float floor(float x)
{
return FLOAT(MathLib0.Entier(x));
};
float fmod(float x, float y)
{
boolean sign; float tmp;
tmp = x/y; sign = false;
if (tmp<0.0) sign = true;
if (sign) {if (tmp < -1.0e9) return 0.0; }
else if (tmp > 1.0e9) return 0.0;
return x-y*FLOAT(TRUNC(x/y));
};
float frexp(float x, int &p)
{
int a;
float sign;
p = 0;
a=0;
sign = 1.0;
if (x == 0.0) return x;
if (x < 0.0) sign = -1.0;
x = x * sign;
if (x > 0.5) {
while ((x < 0.5) || (x > 1.0)) { // shift right
p = p + 1;
x = x / 2.0;
}
}
else {
while ((x < 0.5) || (x > 1.0)) { // shift left
a = a - 1;
x = x * 2.0;
}
p=a;
}
return (x * sign);
};
long labs(long l)
{
return ABS(l);
};
float ldexp(float x, int y)
{
float tmp;
tmp=MathLib2.Power(2.0,FLOAT(y));
return MathLib2.Power(x,tmp);
//his version return x*MathLib2.Power(2.0,FLOAT(y));
};
float log(float x)
{
return MathLib0.Ln(x);
};
float log10(float x)
{
return MathLib0.Ln(x)/MathLib0.Ln(10.0);
};
float modf(float x, float &p)
{
float tempf;
boolean sign;
sign = false;
if ( x < 0.0 ) {
if (x < -1.0e9) {
p =x;
return 0.0;
};
sign = true;
x = -x;
} else if (x > 1.0e9) {
p =x;
return 0.0;
};
tempf = FLOAT(TRUNC(x));
if (sign) {
p = -tempf;
return tempf-x;
};
p = tempf;
return x-tempf;
};
float pow(float x, float y)
{
return MathLib2.Power(x,y);
};
float sin(float x)
{
return MathLib0.Sin(x);
};
float sinh(float x)
{
return (MathLib0.Exp(x)-MathLib0.Exp(-x))/2.0;
};
float sqrt(float x)
{
return MathLib0.Sqrt(x);
};
float tan(float x)
{
return MathLib1.Tan(x);
};
float tanh(float x)
{
return (MathLib0.Exp(x)-MathLib0.Exp(-x))/(MathLib0.Exp(x)+MathLib0.Exp(-x));
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -