]> gitweb.factorcode.org Git - factor.git/commitdiff
fjsc: add math operations
authorchris.double <chris.double@double.co.nz>
Mon, 11 Dec 2006 13:57:54 +0000 (13:57 +0000)
committerchris.double <chris.double@double.co.nz>
Mon, 11 Dec 2006 13:57:54 +0000 (13:57 +0000)
apps/furnace-fjsc/resources/bootstrap.js

index 90f7ce5483769ded7b81044dd4d448ee25bf83ed..ac8bb1e755c7cdc02ea8addc18624eeb2ec70683 100644 (file)
@@ -5,6 +5,10 @@ function Factor() {
     dup: function() { self.fjsc_dup(); },
     drop: function() { self.fjsc_drop(); },
     nip: function() { self.fjsc_nip(); },
+    "+": function() { self.fjsc_plus(); },
+    "-": function() { self.fjsc_minus(); },
+    "*": function() { self.fjsc_times(); },
+    "/": function() { self.fjsc_divide(); },
     alert: function() { self.fjsc_alert(); }
   };  
 }
@@ -55,6 +59,34 @@ Factor.prototype.fjsc_nip = function() {
   stack.push(v);
 }
 
+Factor.prototype.fjsc_plus = function() {
+  var stack = this.data_stack;
+  var v1 = stack.pop();
+  var v2 = stack.pop();
+  stack.push(v1+v2);
+}
+
+Factor.prototype.fjsc_minus = function() {
+  var stack = this.data_stack;
+  var v1 = stack.pop();
+  var v2 = stack.pop();
+  stack.push(v1-v2);
+}
+
+Factor.prototype.fjsc_times = function() {
+  var stack = this.data_stack;
+  var v1 = stack.pop();
+  var v2 = stack.pop();
+  stack.push(v1*v2);
+}
+
+Factor.prototype.fjsc_divide = function() {
+  var stack = this.data_stack;
+  var v1 = stack.pop();
+  var v2 = stack.pop();
+  stack.push(v2/v1);
+}
+
 Factor.prototype.fjsc_alert = function() {
   alert(this.data_stack.pop());
 }