From ae69401aa7048c4c78c8b4c2bdcf7356c2d7e85e Mon Sep 17 00:00:00 2001 From: tibbi Date: Thu, 5 Nov 2020 23:26:02 +0100 Subject: [PATCH] remove everything related to factorials, we dont even have it --- .../calculator/helpers/CalculatorImpl.kt | 11 +--------- .../calculator/helpers/Constants.kt | 1 - .../calculator/helpers/MyWidgetProvider.kt | 4 ++-- .../operation/FactorialOperation.kt | 21 ------------------- .../calculator/operation/OperationFactory.kt | 1 - 5 files changed, 3 insertions(+), 35 deletions(-) delete mode 100644 app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt index a49c04cb..4cfbef4d 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/CalculatorImpl.kt @@ -129,11 +129,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { calculateResult() } - private fun handleFactorial() { - baseValue = getDisplayedNumberAsDouble() - calculateResult() - } - private fun calculateResult(update: Boolean = true) { if (update) { updateFormula() @@ -185,7 +180,7 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { handlePercent() lastKey = tempOp lastOperation = tempOp - } else if (lastKey == DIGIT && operation != ROOT && operation != FACTORIAL) { + } else if (lastKey == DIGIT && operation != ROOT) { handleResult() if (inputDisplayedFormula.last() != '+' && inputDisplayedFormula.last() != '-' && @@ -205,9 +200,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { if (operation == ROOT) { handleRoot() resetValue = false - } else if (operation == FACTORIAL) { - handleFactorial() - resetValue = false } } @@ -318,7 +310,6 @@ class CalculatorImpl(calculator: Calculator, val context: Context) { PERCENT -> "%" POWER -> "^" ROOT -> "√" - FACTORIAL -> "!" else -> "" } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt index 5f30e061..8e8af427 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/Constants.kt @@ -12,7 +12,6 @@ const val ROOT = "root" const val DECIMAL = "decimal" const val CLEAR = "clear" const val RESET = "reset" -const val FACTORIAL = "factorial" const val NAN = "NaN" const val ZERO = "zero" diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt index 51a056a6..586b2609 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/helpers/MyWidgetProvider.kt @@ -86,7 +86,7 @@ class MyWidgetProvider : AppWidgetProvider(), Calculator { override fun onReceive(context: Context, intent: Intent) { when (val action = intent.action) { - DECIMAL, ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, EQUALS, CLEAR, RESET, PLUS, MINUS, MULTIPLY, DIVIDE, PERCENT, POWER, ROOT, FACTORIAL -> myAction(action, context) + DECIMAL, ZERO, ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, EQUALS, CLEAR, RESET, PLUS, MINUS, MULTIPLY, DIVIDE, PERCENT, POWER, ROOT -> myAction(action, context) else -> super.onReceive(context, intent) } } @@ -111,7 +111,7 @@ class MyWidgetProvider : AppWidgetProvider(), Calculator { EQUALS -> calc!!.handleEquals() CLEAR -> calc!!.handleClear() RESET -> calc!!.handleReset() - PLUS, MINUS, MULTIPLY, DIVIDE, PERCENT, POWER, ROOT, FACTORIAL -> calc!!.handleOperation(action) + PLUS, MINUS, MULTIPLY, DIVIDE, PERCENT, POWER, ROOT -> calc!!.handleOperation(action) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt deleted file mode 100644 index 31907500..00000000 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/FactorialOperation.kt +++ /dev/null @@ -1,21 +0,0 @@ -package com.simplemobiletools.calculator.operation - -import com.simplemobiletools.calculator.operation.base.Operation -import com.simplemobiletools.calculator.operation.base.UnaryOperation -import java.math.BigDecimal - -class FactorialOperation(value: BigDecimal) : UnaryOperation(value), Operation { - - override fun getResult(): BigDecimal { - return if (value.compareTo(BigDecimal.ZERO) == 0 || value.compareTo(BigDecimal.ONE) == 0 ){ - BigDecimal.ONE - } else{ - var result = BigDecimal.ONE - val base = value.toInt() - for(i in 1..base){ - result = result.multiply(BigDecimal(i)) - } - result - } - } -} diff --git a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt index 7a66676f..c9d6757a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt +++ b/app/src/main/kotlin/com/simplemobiletools/calculator/operation/OperationFactory.kt @@ -15,7 +15,6 @@ object OperationFactory { PERCENT -> PercentOperation(baseValue, secondValue) POWER -> PowerOperation(baseValue, secondValue) ROOT -> RootOperation(baseValue) - FACTORIAL -> FactorialOperation(baseValue) else -> null } }