forked from KolibriOS/kolibrios
69 lines
758 B
C
69 lines
758 B
C
|
//IO library
|
||
|
#ifndef INCLUDE_MATH_H
|
||
|
#define INCLUDE_MATH_H
|
||
|
|
||
|
#ifndef INCLUDE_KOLIBRI_H
|
||
|
#include "../lib/kolibri.h"
|
||
|
#endif
|
||
|
|
||
|
:struct MATH
|
||
|
{
|
||
|
float pi();
|
||
|
float cos(float x);
|
||
|
float sin(float x);
|
||
|
float sqrt(float x);
|
||
|
float tan(float x);
|
||
|
float abs(float x);
|
||
|
}math;
|
||
|
:float MATH::abs(float x)
|
||
|
{
|
||
|
IF(x<0)return -x;
|
||
|
return x;
|
||
|
}
|
||
|
|
||
|
:float MATH::cos(float x)
|
||
|
{
|
||
|
float r;
|
||
|
asm
|
||
|
{
|
||
|
fld x
|
||
|
fcos
|
||
|
fstp r
|
||
|
}
|
||
|
return r;
|
||
|
}
|
||
|
:float MATH::sin(float x)
|
||
|
{
|
||
|
float r;
|
||
|
asm
|
||
|
{
|
||
|
fld x
|
||
|
fsin
|
||
|
fstp r
|
||
|
}
|
||
|
return r;
|
||
|
}
|
||
|
:float MATH::sqrt(float x)
|
||
|
{
|
||
|
float r;
|
||
|
asm
|
||
|
{
|
||
|
fld x
|
||
|
fsqrt
|
||
|
fstp r
|
||
|
}
|
||
|
return r;
|
||
|
}
|
||
|
:float MATH::tan(float x)
|
||
|
{
|
||
|
float r;
|
||
|
asm
|
||
|
{
|
||
|
fld x
|
||
|
fld1
|
||
|
fpatan
|
||
|
fstp r
|
||
|
}
|
||
|
return r;
|
||
|
}
|
||
|
#endif
|