Mercurial > audlegacy-plugins
comparison src/paranormal/libcalc/function.c @ 1175:7ae024f5d91b trunk
[svn] - libcalc (paranormal virtual evaluation machine): add rand() instruction, global registers (global_reg0-reg99).
author | nenolod |
---|---|
date | Fri, 08 Jun 2007 10:56:12 -0700 |
parents | a9f1bd76a3e6 |
children | 44d28af95a23 |
comparison
equal
deleted
inserted
replaced
1174:8aab955fb114 | 1175:7ae024f5d91b |
---|---|
71 int y = (int)pop (stack); | 71 int y = (int)pop (stack); |
72 int x = (int)pop (stack); | 72 int x = (int)pop (stack); |
73 return (y == 0) ? 0 : (x / y); | 73 return (y == 0) ? 0 : (x / y); |
74 } | 74 } |
75 | 75 |
76 static double f_rand (ex_stack *stack) { | |
77 return rand() % pop (stack); | |
78 } | |
79 | |
76 /* */ | 80 /* */ |
77 | 81 |
78 static const func_t init[] = { | 82 static const func_t init[] = { |
79 { "sin", f_sin }, | 83 { "sin", f_sin }, |
80 { "cos", f_cos }, | 84 { "cos", f_cos }, |
83 { "acos", f_acos }, | 87 { "acos", f_acos }, |
84 { "atan", f_atan }, | 88 { "atan", f_atan }, |
85 { "log", f_log }, | 89 { "log", f_log }, |
86 { "if", f_if }, | 90 { "if", f_if }, |
87 { "div", f_div } | 91 { "div", f_div } |
92 { "rand", f_rand } | |
88 }; | 93 }; |
89 | 94 |
90 int function_lookup (const char *name) { | 95 int function_lookup (const char *name) { |
91 int i; | 96 int i; |
92 | 97 |