Files
kraken/stdlib/math.krak

141 lines
2.0 KiB
Plaintext
Raw Normal View History

__if_comp__ __C__ simple_passthrough(::"-lm") """
#include <math.h>
"""
fun fibanacci(num: int): int {
if (num < 2)
return 1;
return fibanacci(num-1) + fibanacci(num-2);
}
/*********************
* Trig Functions
********************/
fun atan(arg: double): double
{
var ans: double = 0;
__if_comp__ __C__{
simple_passthrough(arg = arg, ans = ans : ans = ans :) """
ans = atan(arg);
"""
}//end C wrapper
2015-04-04 01:32:40 -04:00
return ans;
}//end atan function
fun atan2(x: double, y: double): double
{
var ans: double = 0;
__if_comp__ __C__{
simple_passthrough(x = x, y = y, ans = ans : ans = ans :) """
ans = atan2(x,y);
"""
}//end C wrapper
2015-04-04 01:32:40 -04:00
return ans;
}//end atan2 function
fun acos(arg: double): double
{
var ans: double = 0;
__if_comp__ __C__{
simple_passthrough(arg = arg, ans = ans : ans = ans :) """
ans = acos(arg);
"""
}//end C wrapper
2015-04-04 01:32:40 -04:00
return ans;
}//end acos function
fun asin(arg: double): double
{
var ans: double = 0;
__if_comp__ __C__{
simple_passthrough(arg = arg, ans = ans : ans = ans :) """
ans = asin(arg);
"""
}//end C wrapper
2015-04-04 01:32:40 -04:00
return ans;
}//end asin function
fun tan(arg: double): double
{
var ans: double = 0;
__if_comp__ __C__{
simple_passthrough(arg = arg, ans = ans : ans = ans :) """
ans = tan(arg);
"""
}//end C wrapper
2015-04-04 01:32:40 -04:00
return ans;
}//end tan function
fun cos(arg: double): double
{
var ans: double = 0;
__if_comp__ __C__{
simple_passthrough(arg = arg, ans = ans : ans = ans :) """
ans = cos(arg);
"""
}//end C wrapper
2015-04-04 01:32:40 -04:00
return ans;
}//end cos function
fun sin(arg: double): double
{
var ans: double = 0;
__if_comp__ __C__{
simple_passthrough(arg = arg, ans = ans : ans = ans :) """
ans = sin(arg);
"""
}//end C wrapper
2015-04-04 01:32:40 -04:00
return ans;
}//end sin function
2015-08-28 18:52:29 -04:00
fun mod(x: double, y: double): double
{
var ans: double;
var intAns: int;
intAns = x / y;
ans = x - intAns*y;
return ans;
}