diff options
Diffstat (limited to 'demos/declarative/calculator/calculator.js')
-rw-r--r-- | demos/declarative/calculator/calculator.js | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/demos/declarative/calculator/calculator.js b/demos/declarative/calculator/calculator.js deleted file mode 100644 index f172daf..0000000 --- a/demos/declarative/calculator/calculator.js +++ /dev/null @@ -1,87 +0,0 @@ - -var curVal = 0; -var memory = 0; -var lastOp = ""; -var timer = 0; - -function disabled(op) { - if (op == "." && curNum.text.toString().search(/\./) != -1) { - return true; - } else if (op == "Sqrt" && curNum.text.toString().search(/-/) != -1) { - return true; - } else { - return false; - } -} - -function doOperation(op) { - if (disabled(op)) { - return; - } - - if (op.toString().length==1 && ((op >= "0" && op <= "9") || op==".") ) { - if (curNum.text.toString().length >= 14) - return; // No arbitrary length numbers - if (lastOp.toString().length == 1 && ((lastOp >= "0" && lastOp <= "9") || lastOp==".") ) { - curNum.text = curNum.text + op.toString(); - } else { - curNum.text = op; - } - lastOp = op; - return; - } - lastOp = op; - - // Pending operations - if (currentOperation.text == "+") { - curNum.text = Number(curNum.text.valueOf()) + Number(curVal.valueOf()); - } else if (currentOperation.text == "-") { - curNum.text = Number(curVal) - Number(curNum.text.valueOf()); - } else if (currentOperation.text == "x") { - curNum.text = Number(curVal) * Number(curNum.text.valueOf()); - } else if (currentOperation.text == "/") { - curNum.text = Number(Number(curVal) / Number(curNum.text.valueOf())).toString(); - } else if (currentOperation.text == "=") { - } - - if (op == "+" || op == "-" || op == "x" || op == "/") { - currentOperation.text = op; - curVal = curNum.text.valueOf(); - return; - } - curVal = 0; - currentOperation.text = ""; - - // Immediate operations - if (op == "1/x") { // reciprocal - curNum.text = (1 / curNum.text.valueOf()).toString(); - } else if (op == "^2") { // squared - curNum.text = (curNum.text.valueOf() * curNum.text.valueOf()).toString(); - } else if (op == "Abs") { - curNum.text = (Math.abs(curNum.text.valueOf())).toString(); - } else if (op == "Int") { - curNum.text = (Math.floor(curNum.text.valueOf())).toString(); - } else if (op == "+/-") { // plus/minus - curNum.text = (curNum.text.valueOf() * -1).toString(); - } else if (op == "Sqrt") { // square root - curNum.text = (Math.sqrt(curNum.text.valueOf())).toString(); - } else if (op == "MC") { // memory clear - memory = 0; - } else if (op == "M+") { // memory increment - memory += curNum.text.valueOf(); - } else if (op == "MR") { // memory recall - curNum.text = memory.toString(); - } else if (op == "MS") { // memory set - memory = curNum.text.valueOf(); - } else if (op == "Bksp") { - curNum.text = curNum.text.toString().slice(0, -1); - } else if (op == "C") { - curNum.text = "0"; - } else if (op == "AC") { - curVal = 0; - memory = 0; - lastOp = ""; - curNum.text ="0"; - } -} - |