⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 math.cpp

📁 eC++编译器源码
💻 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 + -