// Last updated: December 28th, 2011
// ========================================
-string rpn_pop()
+string rpn_pop()
{
if(rpn_sp > 0) {
--rpn_sp;
return "";
}
}
-void rpn_push(string s)
+void rpn_push(string s)
{
if(rpn_sp < MAX_RPN_STACK) {
rpn_stack[rpn_sp] = s;
rpn_error = TRUE;
}
}
-string rpn_get()
+string rpn_get()
{
if(rpn_sp > 0) {
return rpn_stack[rpn_sp - 1];
return "";
}
}
-void rpn_set(string s)
+void rpn_set(string s)
{
if(rpn_sp > 0) {
rpn_stack[rpn_sp - 1] = s;
float i, j, f, f2, f3, rpnpos;
//vector rgb;
string s, s2, rpncmd;
-
+
if(!rpn_db)
{
rpn_db = db_create();
db_put(rpn_db, "stack.pointer", "0");
db_put(rpn_db, "stack.pos", "-1");
}
-
+
if(argc >= 2)
{
rpn_sp = 0;
print("rpn: database underflow\n");
}
} else if(rpncmd == "dbget") {
-
+
i = stof(db_get(rpn_db, "stack.pointer"));
if(i)
{
{
j = stof(db_get(rpn_db, "stack.pointer"));
i = stof(db_get(rpn_db, "stack.pos"));
-
+
if(i < 0)
{
i = 0;
db_put(rpn_db, "stack.pos", "0");
}
-
+
db_put(rpn_db, "stack.pointer", ftos(j+1));
for(--j; j >= i; --j)
{
i = 0;
else
i = stof(s);
-
+
j = stof(db_get(rpn_db, "stack.pointer"));
if(i < 0 || i >= j)
{
// tokens f..f2 represent s2
// UNION: add all tokens to s that are in s2 but not in s
s = "";
- for(i = 0; i < f; ++i)
+ for(i = 0; i < f; ++i)
s = strcat(s, " ", argv(i));
for(i = f; i < f2; ++i) {
for(j = 0; j < f; ++j)
return;
}
-
+
default:
case CMD_REQUEST_USAGE:
{