summaryrefslogtreecommitdiff
path: root/apps/plugins/lua/rockaux.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lua/rockaux.c')
-rw-r--r--apps/plugins/lua/rockaux.c49
1 files changed, 30 insertions, 19 deletions
diff --git a/apps/plugins/lua/rockaux.c b/apps/plugins/lua/rockaux.c
index 95f2ab169b..ea95f232ab 100644
--- a/apps/plugins/lua/rockaux.c
+++ b/apps/plugins/lua/rockaux.c
@@ -31,29 +31,41 @@ int errno = 0;
31char *strerror(int errnum) 31char *strerror(int errnum)
32{ 32{
33 (void) errnum; 33 (void) errnum;
34 34
35 DEBUGF("strerror()\n"); 35 DEBUGF("strerror(%d)\n", errnum);
36 36
37 return NULL; 37 return NULL;
38} 38}
39 39
40long floor(long x) 40long rb_pow(long x, long n)
41{ 41{
42 (void) x; 42 long pow = 1;
43 43 unsigned long u;
44 DEBUGF("floor()\n");
45
46 return 0;
47}
48 44
49long pow(long x, long y) 45 if(n <= 0)
50{ 46 {
51 (void) x; 47 if(n == 0 || x == 1)
52 (void) y; 48 return 1;
53 49
54 DEBUGF("pow()\n"); 50 if(x != -1)
55 51 return x != 0 ? 1/x : 0;
56 return 0; 52
53 n = -n;
54 }
55
56 u = n;
57 while(1)
58 {
59 if(u & 01)
60 pow *= x;
61
62 if(u >>= 1)
63 x *= x;
64 else
65 break;
66 }
67
68 return pow;
57} 69}
58 70
59int strcoll(const char * str1, const char * str2) 71int strcoll(const char * str1, const char * str2)
@@ -91,4 +103,3 @@ const char* get_current_path(lua_State *L, int level)
91 103
92 return NULL; 104 return NULL;
93} 105}
94