Complete math.nas
This commit is contained in:
parent
b4d7805f06
commit
a2a6ca2f58
|
@ -1,4 +1,6 @@
|
||||||
var pi=3.14159265358979;
|
var pi=3.14159265358979;
|
||||||
|
var ln_2=0.69314718055994530942;
|
||||||
|
var ln_10=2.30258509299404568402;
|
||||||
|
|
||||||
var abs=func(__x)
|
var abs=func(__x)
|
||||||
{
|
{
|
||||||
|
@ -97,3 +99,46 @@ var tan=func(__x)
|
||||||
{
|
{
|
||||||
return sin(__x)/cos(__x);
|
return sin(__x)/cos(__x);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var sqrt=func(__x)
|
||||||
|
{
|
||||||
|
if(__x>100){return 10*sqrt(__x/100);}
|
||||||
|
var t=__x/8+0.5+2*__x/(4+__x);
|
||||||
|
var c=10;
|
||||||
|
while(c>0)
|
||||||
|
{
|
||||||
|
t=(t+__x/t)/2;
|
||||||
|
c-=1;
|
||||||
|
}
|
||||||
|
return t;
|
||||||
|
};
|
||||||
|
|
||||||
|
var __balloon_lib_asin_asr=func(__x,__y)
|
||||||
|
{
|
||||||
|
var __mid=(__x+__y)/2;
|
||||||
|
if(abs(__y-__x)<=0.01){return (1/sqrt(1-__x*__x)+4/sqrt(1-__mid*__mid)+1/sqrt(1-__y*__y))*(__y-__x)/6;}
|
||||||
|
return __balloon_lib_asin_asr(__x,__mid)+__balloon_lib_asin_asr(__mid,__y);
|
||||||
|
};
|
||||||
|
|
||||||
|
var asin=func(__x)
|
||||||
|
{
|
||||||
|
if(abs(__x)>1){return -1;}
|
||||||
|
var fl=1;
|
||||||
|
if(__x<0){fl=-fl;__x=-__x;}
|
||||||
|
if(abs(__x-1)<0.001){return pi/2;}
|
||||||
|
return fl*__balloon_lib_asin_asr(0,__x);
|
||||||
|
};
|
||||||
|
|
||||||
|
var acos=func(__x)
|
||||||
|
{
|
||||||
|
if(abs(__x)>1) {return -1;}
|
||||||
|
return pi/2-asin(__x);
|
||||||
|
};
|
||||||
|
|
||||||
|
var atan=func(__x)
|
||||||
|
{
|
||||||
|
if(__x<0){return -atan(-__x);}
|
||||||
|
if(__x>1){return pi/2-atan(1/__x);}
|
||||||
|
if(__x>0.001){return 2*atan((sqrt(1+__x*__x)-1)/__x);}
|
||||||
|
return __x*(1-__x*__x*(1/3+__x*__x*(1/5-__x*__x*(1/7+__x*__x/9))));
|
||||||
|
};
|
Loading…
Reference in New Issue