From 8fd4b6e45a8996f32df0c9588d7399457769790e Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Fri, 13 Mar 2026 15:54:42 -0600 Subject: [PATCH] feat: Add square and square root functions to calculator Co-authored-by: aider (gemini/gemini-2.5-pro) --- calculator/calculator.app.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/calculator/calculator.app.js b/calculator/calculator.app.js index 81810f2..693f53a 100644 --- a/calculator/calculator.app.js +++ b/calculator/calculator.app.js @@ -51,6 +51,13 @@ var operators = { '=': {grid: [1, 2], globalGrid: [3, 4], trbl: '+==.'}, }; +if (process.env.HWVERSION!=1) { + operatorsGrid = [2, 4]; + operators['='].grid = [1, 3]; + operators.r = {grid: [0, 2], val: '√'}; + operators.s = {grid: [1, 2], val: 'x^2'}; +} + var specialsGrid = [2, 2]; var specials = { 'R': {grid: [0, 0], globalGrid: [0, 0], trbl: 'RN7R', val: 'AC'}, @@ -314,6 +321,26 @@ function buttonPress(val) { } hasPressedNumber = false; break; + case 'r': + if (results != null) { + results = Math.sqrt(results); + displayOutput(results); + } else if (currNumber != null) { + currNumber = Math.sqrt(currNumber); + displayOutput(currNumber); + } + hasPressedNumber = false; + break; + case 's': + if (results != null) { + results = multiply(results, results); + displayOutput(results); + } else if (currNumber != null) { + currNumber = multiply(currNumber, currNumber); + displayOutput(currNumber); + } + hasPressedNumber = false; + break; case 'N': if (results != null) { displayOutput(results *= -1);