From ef05f198e942e514540595f62ed7cd5c2675b3b7 Mon Sep 17 00:00:00 2001 From: Sergey Solovyev Date: Sat, 24 Dec 2011 17:26:45 +0400 Subject: [PATCH] log function added + refactor of strings --- res/values-es/text_functions.xml | 42 ++++++++++ res/values-es/text_operators.xml | 31 ++++++++ .../{strings.xml => text_strings.xml} | 56 +------------ res/values-es/text_vars.xml | 23 ++++++ res/values-it/text_functions.xml | 42 ++++++++++ res/values-it/text_operators.xml | 31 ++++++++ .../{strings.xml => text_strings.xml} | 58 +------------- res/values-it/text_vars.xml | 23 ++++++ res/values-ru/text_functions.xml | 42 ++++++++++ res/values-ru/text_messages.xml | 14 ++++ res/values-ru/text_operators.xml | 31 ++++++++ .../{strings.xml => text_strings.xml} | 64 --------------- res/values-ru/text_vars.xml | 23 ++++++ res/values/text_functions.xml | 42 ++++++++++ res/values/text_messages.xml | 14 ++++ res/values/text_operators.xml | 31 ++++++++ res/values/{strings.xml => text_strings.xml} | 79 +------------------ res/values/text_vars.xml | 23 ++++++ .../model/AndroidFunctionsMathRegistry.java | 10 +++ .../calculator/model/CalculatorEngine.java | 3 + .../model/CalculatorEngineTest.java | 19 +++++ 21 files changed, 449 insertions(+), 252 deletions(-) create mode 100644 res/values-es/text_functions.xml create mode 100644 res/values-es/text_operators.xml rename res/values-es/{strings.xml => text_strings.xml} (71%) create mode 100644 res/values-es/text_vars.xml create mode 100644 res/values-it/text_functions.xml create mode 100644 res/values-it/text_operators.xml rename res/values-it/{strings.xml => text_strings.xml} (70%) create mode 100644 res/values-it/text_vars.xml create mode 100644 res/values-ru/text_functions.xml create mode 100644 res/values-ru/text_messages.xml create mode 100644 res/values-ru/text_operators.xml rename res/values-ru/{strings.xml => text_strings.xml} (71%) create mode 100644 res/values-ru/text_vars.xml create mode 100644 res/values/text_functions.xml create mode 100644 res/values/text_messages.xml create mode 100644 res/values/text_operators.xml rename res/values/{strings.xml => text_strings.xml} (69%) create mode 100644 res/values/text_vars.xml diff --git a/res/values-es/text_functions.xml b/res/values-es/text_functions.xml new file mode 100644 index 00000000..b6256dc0 --- /dev/null +++ b/res/values-es/text_functions.xml @@ -0,0 +1,42 @@ + + + + + Funciones + + Función trigonométrica seno. + Función trigonométrica coseno. + Función trigonométrica tangente. + Función trigonométrica cotangente. + Arcseno - El inverso de la función seno. + Arccoseno - El inverso de la función coseno. + Arctangente - El inverso de la función tangente. + Arccotangente - El inverso de la función cotangente. + Logaritmo neperiano - logaritmo de base e. + Decadic logaritmo - logaritmo de base 10. + Función exponencial. + Función Raíz cuadrado. + Función Raíz cuadrada. + Función que devuelve el valor absoluto de un argumento. + Función que devuelve el signo de un argumento: -1 si el argumento es menor que 0, 0 si es igual a 0, 1 si es mayor que 0. + Función Igual - Devuelve 1 si dos argumentos son iguales, 0 si no lo son. + Función Menor o igual - Devuelve 1 si dos argumentos son iguales o el primero es menor que el segundo, 0 si el primero es mayor. + Función Mayor o igual - Devuelve 1 si dos argumentos son iguales o si el primero es mayor que el segundo, 0 si el primero es menor. + Función Distinto - Devuelve 1 si dos argumentos no son iguales, 0 si son idénticos. + Función Menor - Devuelve 1 si el primer argumento es menor que el segundo, 0 si no lo es. + Función Mayor - Devuelve 1 si el primer argumento es mayor que el segundo, 0 si no lo es. + Convierte grados a radianes: d - grados, m - minutos (por defecto = 0), s - segundos (por defecto = 0). + Convierte grados de notación DMS a notación decimal: d - grados, m - minutos (por defecto = 0), s - segundos (por defecto = 0). + Convierte radianes a grados. + + Trigonométrico + Hiperbólicas trigonométricas + Comparación + Común + Mis + + \ No newline at end of file diff --git a/res/values-es/text_operators.xml b/res/values-es/text_operators.xml new file mode 100644 index 00000000..4941f22e --- /dev/null +++ b/res/values-es/text_operators.xml @@ -0,0 +1,31 @@ + + + + + Operadores + + El módulo operación encuentra el resto de la división de \'x\' por \'y\'. + Función Suma \'f(i)\', iterativamente a través de \'i\' desde \'from\' hasta \'to\'. + Devuelve el producto de las funciones \'f(i)\', iterativamente a través de \'i\' desde \'from\' hasta \'to\'. + Devuelve el derivado de orden \'order\' (por defecto = 1) de funciones \'f(x)\' por \'x\' variable y calcula en el punto \'x_point\' (por defecto = el mismo que \'x\'). + Devuelve la integral de la función \'f(x)\' por \'x\' variable. + Función integral \'f(x)\' por \'x\' variable desde \'a\' hasta \'b\'. + + Devuelve el factorial de la expresión antes. + Devuelve el doble factorial de la expresión antes. + Devuelve el valor porcentaje de la expresión antes.\nEjemplos:\n + 100 + 50% = 150\n + 100 * 50% = 50\n + 100 + 100 * 50% * 50% = 125 + + Convierte Grados a Radianes.\n + Ejemplos:\n + 268° = 4.67748\n + 30.21° = 0.52726 + + + \ No newline at end of file diff --git a/res/values-es/strings.xml b/res/values-es/text_strings.xml similarity index 71% rename from res/values-es/strings.xml rename to res/values-es/text_strings.xml index 3cad0073..4b3d5683 100644 --- a/res/values-es/strings.xml +++ b/res/values-es/text_strings.xml @@ -78,15 +78,7 @@ ¡Ya existe una variable con el mismo nombre! El nombre de la Constante no es válido: el nombre debe comenzar con una letra,puede contener letras, dígitos y líneas. ¡Una Variable de Sistema no puede ser cambiada! - Ratio de la circunferencia del círculo a su diámetro - Número real único como el valor de la derivada (pendiente de la línea tangente) de la función f(x) = e^x en el punto x = 0 es igual a 1 - Unidad imaginaria, definida como i^2 = −1 - Velocidad de la luz en vacío, m·s^-1 - La constante gravitatoria es una constante física empírica consistente en el cálculo de la atracción gravitatoria entre objetos con masa, m^3·kg^−1·s^−2 - Constante física que refleja los tamaños de energía cuántica en mecánica cuántica, J·s - Constante Planck reducida, J·s - No es un número - Infinito + Introducir nuevo cálculo Pulsar para copiar Continuar @@ -136,52 +128,10 @@ Largo Duración de la vibración Duración de la vibración al pulsar un butón - Funciones - Función trigonométrica seno. - Función trigonométrica coseno. - Función trigonométrica tangente. - Función trigonométrica cotangente. - Arcseno - El inverso de la función seno. - Arccoseno - El inverso de la función coseno. - Arctangente - El inverso de la función tangente. - Arccotangente - El inverso de la función cotangente. - Logaritmo neperiano - logaritmo de base e. - Decadic logaritmo - logaritmo de base 10. - Función exponencial. - Función Raíz cuadrado. - Función Raíz cuadrada. - Función que devuelve el valor absoluto de un argumento. - Función que devuelve el signo de un argumento: -1 si el argumento es menor que 0, 0 si es igual a 0, 1 si es mayor que 0. - Función Igual - Devuelve 1 si dos argumentos son iguales, 0 si no lo son. - Función Menor o igual - Devuelve 1 si dos argumentos son iguales o el primero es menor que el segundo, 0 si el primero es mayor. - Función Mayor o igual - Devuelve 1 si dos argumentos son iguales o si el primero es mayor que el segundo, 0 si el primero es menor. - Función Distinto - Devuelve 1 si dos argumentos no son iguales, 0 si son idénticos. - Función Menor - Devuelve 1 si el primer argumento es menor que el segundo, 0 si no lo es. - Función Mayor - Devuelve 1 si el primer argumento es mayor que el segundo, 0 si no lo es. - Convierte grados a radianes: d - grados, m - minutos (por defecto = 0), s - segundos (por defecto = 0). - Convierte grados de notación DMS a notación decimal: d - grados, m - minutos (por defecto = 0), s - segundos (por defecto = 0). - Convierte radianes a grados. + No se puede crear una constante vacía! El resultado actual no es válido! - Operadores - El módulo operación encuentra el resto de la división de \'x\' por \'y\'. - Función Suma \'f(i)\', iterativamente a través de \'i\' desde \'from\' hasta \'to\'. - Devuelve el producto de las funciones \'f(i)\', iterativamente a través de \'i\' desde \'from\' hasta \'to\'. - Devuelve el derivado de orden \'order\' (por defecto = 1) de funciones \'f(x)\' por \'x\' variable y calcula en el punto \'x_point\' (por defecto = el mismo que \'x\'). - Devuelve la integral de la función \'f(x)\' por \'x\' variable. - Función integral \'f(x)\' por \'x\' variable desde \'a\' hasta \'b\'. - Devuelve el factorial de la expresión antes. - Devuelve el valor porcentaje de la expresión antes.\n - Ejemplos:\n - 100 + 50% = 150\n - 100 * 50% = 50\n - 100 + 100 * 50% * 50% = 125\n - - Convierte Grados a Radianes.\n - Ejemplos:\n - 268° = 4.67748\n - 30.21° = 0.52726\n - + FAQ Consejos Pantallas diff --git a/res/values-es/text_vars.xml b/res/values-es/text_vars.xml new file mode 100644 index 00000000..c836d227 --- /dev/null +++ b/res/values-es/text_vars.xml @@ -0,0 +1,23 @@ + + + + + Ratio de la circunferencia del círculo a su diámetro. Nota: esta constante es la unidad de medida dependiente => rad: 3,14, deg: 180,0 + Ratio de la circunferencia del círculo a su diámetro. Nota: esta constante es la unidad de medida independientes => rad: 3.14, deg: 3.14 + Número real único como el valor de la derivada (pendiente de la línea tangente) de la función f(x) = e^x en el punto x = 0 es igual a 1 + Unidad imaginaria, definida como i^2 = −1 + Velocidad de la luz en vacío, m·s^-1 + La constante gravitatoria es una constante física empírica consistente en el cálculo de la atracción gravitatoria entre objetos con masa, m^3·kg^−1·s^−2 + Constante física que refleja los tamaños de energía cuántica en mecánica cuántica, J·s + Constante Planck reducida, J·s + No es un número + Infinito + + Incorporado + Mis + + \ No newline at end of file diff --git a/res/values-it/text_functions.xml b/res/values-it/text_functions.xml new file mode 100644 index 00000000..b64c093c --- /dev/null +++ b/res/values-it/text_functions.xml @@ -0,0 +1,42 @@ + + + + + Funzioni + + Funzione trigonometrica seno. + Funzione trigonometrica coseno. + Funzione trigonometrica tangente. + Funzione trigonometrica cotangente. + Arcseno - inversa della funzione seno. + Arccoseno - inversa della funzione coseno. + Arctangente - inversa della funzione tangente. + Arccotangente - inversa della funzione cotangente. + Logaritmo naturale - logaritmo in base e. + Logaritmo decimale - logaritmo in base 10. + Funzione esponenziale. + Funzione radice quadrata. + Funzione radice cubica. + Funzione che restituisce il valore assoluto di un argomento. + Funzione che restituisce il segno di un argomento: -1 se l\'argomnto è minore di 0, 0 se è uguale a 0, 1 se è maggiore di 0. + Funzione uguaglianza - restituisce 1 se i due argomenti sono uguali, 0 altrimenti. + Funzione minore-o-uguale - restituisce 1 se i due argomenti sono uguali o il primo è minore del secondo, 0 altrimenti. + Funzione maggiore-o-uguale - restituisce 1 se i due argomenti sono uguali o il primo è maggiore del secondo, 0 altrimenti. + Funzione disuguaglianza - restituisce 1 se i due argomenti non sono uguali, 0 altrimenti. + Funzione minore - restituisce 1 se il primo argomento è minore del secondo, 0 altrimenti. + Funzione maggiore - restituisce 1 se il primo argomento è maggiore del secondo, 0 altrimenti. + Converte gradi in radianti: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0). + Converte gradi dalla notazione DMS in notazione decimale: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0). + Converte radianti in gradi. + + Trigonometriche + Trigonometriche iperboliche + Comparazione + Comune + Mie + + \ No newline at end of file diff --git a/res/values-it/text_operators.xml b/res/values-it/text_operators.xml new file mode 100644 index 00000000..b8a7b23a --- /dev/null +++ b/res/values-it/text_operators.xml @@ -0,0 +1,31 @@ + + + + + Operatori + + L\'operazione modulo trova il resto della divisione di \'x\' by \'y\'. + Funzione somma \'f(i)\', iterazione tra \'i\' da \'from\' a \'to\'. + Restituisce il prodotto della funzione \'f(i)\', iterazione tra \'i\' da \'from\' a \'to\'. + Restituisce la derivata di ordine \'order\' della funzione \'f(x)\' in \'x\' e calcolata nel punto \'x_point\'. + Restituisce l\'integrale della funzione \'f(x)\' in \'x\'. + Funzione integrale \'f(x)\' in \'x\' da \'a\' a \'b\'. + + Restituisce il fattoriale dell\'espressione precedente. + Restituisce il fattoriale doppio dell\'espressione precedente. + Restituisce la percentuale dell\'espressione precedente.\nEsempi:\n + 100 + 50% = 150\n + 100 * 50% = 50\n + 100 + 100 * 50% * 50% = 125 + + Converte gradi in radianti.\n + Esempi:\n + 268° = 4.67748\n + 30.21° = 0.52726 + + + \ No newline at end of file diff --git a/res/values-it/strings.xml b/res/values-it/text_strings.xml similarity index 70% rename from res/values-it/strings.xml rename to res/values-it/text_strings.xml index aa74a1a9..a1f4c18a 100644 --- a/res/values-it/strings.xml +++ b/res/values-it/text_strings.xml @@ -7,7 +7,7 @@ --> - + Calculator++ Calc++ Impostazioni @@ -71,16 +71,6 @@ Una variabile con lo stesso nome esiste già! Il nome della costante non è valido: il nome deve iniziare con una lettera, può contenere lettere, cifre e underscore. La variabile di sistema non può essere cambiata! - - Rapporto tra la circonferenza di qualsiasi cerchio col suo diametro - Unico numero reale tale che il valore della derivata (pendenza della retta tangente) della funzione f(x) = e^x nel punto x = 0 che è uguale a 1 - Unità immaginaria, definita come i^2 = -1 - Velocità della luce nel vuoto, m·s^-1 - La costante gravitazionale è una costante fisica empirica coinvolta nel calcolo dell\' attrazione gravitazionale tra gli oggetti con massa, m^3·kg^−1·s^−2 - Costante fisica che riflette la dimensione dei quanti di energia in meccanica quantistica, J·s - Costante di riduzione di Planck, J·s - Non è un numero - Infinito Inserisci una nuova espressione Premi per copiare @@ -132,55 +122,9 @@ Durata feedback tattile Durata della vibrazione su click dei pulsanti - Funzioni - - Funzione trigonometrica seno. - Funzione trigonometrica coseno. - Funzione trigonometrica tangente. - Funzione trigonometrica cotangente. - Arcseno - inversa della funzione seno. - Arccoseno - inversa della funzione coseno. - Arctangente - inversa della funzione tangente. - Arccotangente - inversa della funzione cotangente. - Logaritmo naturale - logaritmo in base e. - Logaritmo decimale - logaritmo in base 10. - Funzione esponenziale. - Funzione radice quadrata. - Funzione radice cubica. - Funzione che restituisce il valore assoluto di un argomento. - Funzione che restituisce il segno di un argomento: -1 se l\'argomnto è minore di 0, 0 se è uguale a 0, 1 se è maggiore di 0. - Funzione uguaglianza - restituisce 1 se i due argomenti sono uguali, 0 altrimenti. - Funzione minore-o-uguale - restituisce 1 se i due argomenti sono uguali o il primo è minore del secondo, 0 altrimenti. - Funzione maggiore-o-uguale - restituisce 1 se i due argomenti sono uguali o il primo è maggiore del secondo, 0 altrimenti. - Funzione disuguaglianza - restituisce 1 se i due argomenti non sono uguali, 0 altrimenti. - Funzione minore - restituisce 1 se il primo argomento è minore del secondo, 0 altrimenti. - Funzione maggiore - restituisce 1 se il primo argomento è maggiore del secondo, 0 altrimenti. - Converte gradi in radianti: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0). - Converte gradi dalla notazione DMS in notazione decimale: d - gradi, m - minuti (predefinito = 0), s - secondi (predefinito = 0). - Converte radianti in gradi. Impossibile creare una costante vuota! Risultato attuale non valido! - Operatori - - L\'operazione modulo trova il resto della divisione di \'x\' by \'y\'. - Funzione somma \'f(i)\', iterazione tra \'i\' da \'from\' a \'to\'. - Restituisce il prodotto della funzione \'f(i)\', iterazione tra \'i\' da \'from\' a \'to\'. - Restituisce la derivata di ordine \'order\' della funzione \'f(x)\' in \'x\' e calcolata nel punto \'x_point\'. - Restituisce l\'integrale della funzione \'f(x)\' in \'x\'. - Funzione integrale \'f(x)\' in \'x\' da \'a\' a \'b\'. - - Restituisce il fattoriale dell\'espressione precedente. - Restituisce la percentuale dell\'espressione precedente.\nEsempi:\n - 100 + 50% = 150\n - 100 * 50% = 50\n - 100 + 100 * 50% * 50% = 125 - - Converte gradi in radianti.\n - Esempi:\n - 268° = 4.67748\n - 30.21° = 0.52726 - FAQ Suggerimenti diff --git a/res/values-it/text_vars.xml b/res/values-it/text_vars.xml new file mode 100644 index 00000000..bdbbd833 --- /dev/null +++ b/res/values-it/text_vars.xml @@ -0,0 +1,23 @@ + + + + + Rapporto tra la circonferenza di qualsiasi cerchio col suo diametro. Nota: questa costante è l'unità di misura dipende => rad: 3.14, deg: 180.0 + Rapporto tra la circonferenza di qualsiasi cerchio col suo diametro. Nota: questa costante è l'unità di misura indipendente => rad: 3.14, deg: 3.14 + Unico numero reale tale che il valore della derivata (pendenza della retta tangente) della funzione f(x) = e^x nel punto x = 0 che è uguale a 1 + Unità immaginaria, definita come i^2 = -1 + Velocità della luce nel vuoto, m·s^-1 + La costante gravitazionale è una costante fisica empirica coinvolta nel calcolo dell\' attrazione gravitazionale tra gli oggetti con massa, m^3·kg^−1·s^−2 + Costante fisica che riflette la dimensione dei quanti di energia in meccanica quantistica, J·s + Costante di riduzione di Planck, J·s + Non è un numero + Infinito + + Built-in + Mie + + \ No newline at end of file diff --git a/res/values-ru/text_functions.xml b/res/values-ru/text_functions.xml new file mode 100644 index 00000000..57c66937 --- /dev/null +++ b/res/values-ru/text_functions.xml @@ -0,0 +1,42 @@ + + + + + Функции + + Тригонометрическая функция синус. + Тригонометрическая функция косинус. + Тригонометрическая функция тангенс. + Тригонометрическая функция котангенс. + Арксинус - обратная функция к синусу. + Арккосинус - обратная функция к косинусу. + Арктангенс - обратная функция к тангенсу. + Арккотангенс - обратная функция к котангенсу. + Натуральный логарифм - логарифм по основанию e. + Десятичный логарифм - логарифм по основанию 10. + Экспонента. + Функция квадратного корня. + Функция кубического корня. + Модуль. + Знак - возвращает знак аргумента: -1, если аргумент меньше0, 0, если равен 0, 1, если больше 0. + Равно - возвращает 1, если два аргумента равны, иначе 0. + Меньше-либо-равно - возвращает 1, если два аргумента равны или первое меньше второго, иначе 0. + Больше-либо-равно - возвращает 1 если два аргумента равны или первое больше второго, иначе 0. + Не-равно - возвращает 1, если два аргумента не равны, иначе 0. + Меньше - возвращает 1, если первый аргумент меньше второго, иначе 0. + Больше - возвращает 1, если первый аргумент больше второго, иначе 0. + Преобразует градусы в радианы: d - градусы, m - минуты (по умолчанию = 0), s - секунды (по умолчанию = 0) + Преобразует градусы из шестидесятеричной системы в десятичную: d - градусы, m - минуты (по умолчанию = 0), s - секунды (по умолчанию = 0) + Преобразует радианы в градусы. + + Тригонометрические + Гиперболические тригонометрические + Сравнение + Общие + Мои + + \ No newline at end of file diff --git a/res/values-ru/text_messages.xml b/res/values-ru/text_messages.xml new file mode 100644 index 00000000..4721f662 --- /dev/null +++ b/res/values-ru/text_messages.xml @@ -0,0 +1,14 @@ + + + + Арифметическая ошибка: {0} + Слишком сложное выражение + Вычисление выражения занимает слишком много времени - проверьте выражение + Вычисление было отменено + Для функции {0} не определены параметры + В выражении найден Бесконечный цикл - проверьте выражение + \ No newline at end of file diff --git a/res/values-ru/text_operators.xml b/res/values-ru/text_operators.xml new file mode 100644 index 00000000..be82b3d6 --- /dev/null +++ b/res/values-ru/text_operators.xml @@ -0,0 +1,31 @@ + + + + + Операторы + + Возвращает остаток от деления \'x\' на \'y\'. + Суммирует функции \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'. + Возвращает произведение функций \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'. + Возвращает производную порядка \'order\' (по умолчанию = 1) функции \'f(x)\' по переменной \'x\' и вычисляет её в точке \'x_point\' (по умолчанию = такая же как и \'x\'). + Возвращает интеграл функции \'f(x)\' по переменной \'x\'. + Интегрирует функцию \'f(x)\' по переменной \'x\' от \'a\' до \'b\'. + + Возвращает факториал от предыдущего выражения. + Возвращает двойной факториал от предыдущего выражения. + Возвращает процентное значение от предыдущего выражения.\nПримеры:\n + 100 + 50% = 150\n + 100 * 50% = 50\n + 100 + 100 * 50% * 50% = 125 + + Преобразует градусы в радианы.\n + Примеры:\n + 268° = 4.67748\n + 30.21° = 0.52726 + + + \ No newline at end of file diff --git a/res/values-ru/strings.xml b/res/values-ru/text_strings.xml similarity index 71% rename from res/values-ru/strings.xml rename to res/values-ru/text_strings.xml index 1804945e..d1d04417 100644 --- a/res/values-ru/strings.xml +++ b/res/values-ru/text_strings.xml @@ -71,16 +71,6 @@ Имя переменной не валидно: им ядолжно начинаться с буквы, может содержать буквы, цифры и знак подчёркивания. Системная переменная не может быть изменена! - Отношение длины окружности к диаметру. Внимание: эта постоянная зависит от единиц измерения углов => rad: 3.14, deg: 180.0 - Отношение длины окружности к диаметру. Внимание: эта постоянная не зависит от единиц измерения углов => rad: 3.14, rad: 3.14 - Вещественное число, такое что производная функции f(x) = e^x в точке x = 0 равно 1 - Мнимая единица, определённая как i^2 = −1 - Скорость света в вакууме, м·с^-1 - Гравитационная постоянная, с^3·кг^−1·с^−2 - Постоянная Планка - коэффициент, связывающий величину энергии электромагнитного излучения с его частотой, Дж·с - Приведённая постоянная Планка, Дж·с - Не число - Бесконечность Введите новое выражение Продолжить Нажмите для копирования @@ -145,56 +135,9 @@ Длительность отклика Длительность вибрации по нажатию клавиши - Функции - - Тригонометрическая функция синус. - Тригонометрическая функция косинус. - Тригонометрическая функция тангенс. - Тригонометрическая функция котангенс. - Арксинус - обратная функция к синусу. - Арккосинус - обратная функция к косинусу. - Арктангенс - обратная функция к тангенсу. - Арккотангенс - обратная функция к котангенсу. - Натуральный логарифм - логарифм по основанию e. - Десятичный логарифм - логарифм по основанию 10. - Экспонента. - Функция квадратного корня. - Функция кубического корня. - Модуль. - Знак - возвращает знак аргумента: -1, если аргумент меньше0, 0, если равен 0, 1, если больше 0. - Равно - возвращает 1, если два аргумента равны, иначе 0. - Меньше-либо-равно - возвращает 1, если два аргумента равны или первое меньше второго, иначе 0. - Больше-либо-равно - возвращает 1 если два аргумента равны или первое больше второго, иначе 0. - Не-равно - возвращает 1, если два аргумента не равны, иначе 0. - Меньше - возвращает 1, если первый аргумент меньше второго, иначе 0. - Больше - возвращает 1, если первый аргумент больше второго, иначе 0. - Преобразует градусы в радианы: d - градусы, m - минуты (по умолчанию = 0), s - секунды (по умолчанию = 0) - Преобразует градусы из шестидесятеричной системы в десятичную: d - градусы, m - минуты (по умолчанию = 0), s - секунды (по умолчанию = 0) - Преобразует радианы в градусы. Невозможно создать пустую константу! Результат не допустим! - Операторы - - Возвращает остаток от деления \'x\' на \'y\'. - Суммирует функции \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'. - Возвращает произведение функций \'f(i)\', пробегая по переменной \'i\' от \'from\' до \'to\'. - Возвращает производную порядка \'order\' (по умолчанию = 1) функции \'f(x)\' по переменной \'x\' и вычисляет её в точке \'x_point\' (по умолчанию = такая же как и \'x\'). - Возвращает интеграл функции \'f(x)\' по переменной \'x\'. - Интегрирует функцию \'f(x)\' по переменной \'x\' от \'a\' до \'b\'. - - Возвращает факториал от предыдущего выражения. - Возвращает двойной факториал от предыдущего выражения. - Возвращает процентное значение от предыдущего выражения.\nПримеры:\n - 100 + 50% = 150\n - 100 * 50% = 50\n - 100 + 100 * 50% * 50% = 125 - - Преобразует градусы в радианы.\n - Примеры:\n - 268° = 4.67748\n - 30.21° = 0.52726 - FAQ Подсказки @@ -282,13 +225,6 @@ e ^ i = 0.5403 + 0.84147i\n 6. Экран настроек: содержит список настроек приложения. На экран можно попасть нажав кнопку Настройки в меню. - Арифметическая ошибка: {0} - Слишком сложное выражение - Вычисление выражения занимает слишком много времени - проверьте выражение - Вычисление было отменено - Для функции {0} не определены параметры - В выражении найден Бесконечный цикл - проверьте выражение - Длина свайпа для клавиш Устанавливает длину свайпа для клавиш которые поддерживают дополнительные действия по свайпу diff --git a/res/values-ru/text_vars.xml b/res/values-ru/text_vars.xml new file mode 100644 index 00000000..9b587151 --- /dev/null +++ b/res/values-ru/text_vars.xml @@ -0,0 +1,23 @@ + + + + + Отношение длины окружности к диаметру. Внимание: эта постоянная зависит от единиц измерения углов => rad: 3.14, deg: 180.0 + Отношение длины окружности к диаметру. Внимание: эта постоянная не зависит от единиц измерения углов => rad: 3.14, rad: 3.14 + Вещественное число, такое что производная функции f(x) = e^x в точке x = 0 равно 1 + Мнимая единица, определённая как i^2 = −1 + Скорость света в вакууме, м·с^-1 + Гравитационная постоянная, с^3·кг^−1·с^−2 + Постоянная Планка - коэффициент, связывающий величину энергии электромагнитного излучения с его частотой, Дж·с + Приведённая постоянная Планка, Дж·с + Не число + Бесконечность + + Встроенные + Мои + + \ No newline at end of file diff --git a/res/values/text_functions.xml b/res/values/text_functions.xml new file mode 100644 index 00000000..cb8049bf --- /dev/null +++ b/res/values/text_functions.xml @@ -0,0 +1,42 @@ + + + + + Functions + + Trigonometric sine function. + Trigonometric cosine function. + Trigonometric tangent function. + Trigonometric cotangent function. + Arcsine - the inverse of sine function. + Arccosine - the inverse of cosine function. + Arctangent - the inverse of tangent function. + Arccotangent - the inverse of cotangent function. + Natural logarithm - logarithm the base e. + Decadic logarithm - logarithm the base 10. + Exponential function. + Square root function. + Cubic root function. + Function that gives absolute value of an argument. + Function that gives the sign of an argument: -1 if argument is less than 0, 0 if equals to 0, 1 if more than 0. + Equals function - gives 1 if two arguments are equals, 0 otherwise. + Lesser-or-equals function - gives 1 if two arguments are equals or first is less than second, 0 otherwise. + Greater-or-equals function - gives 1 if two arguments are equals or first is greater than second, 0 otherwise. + Not-equals function - gives 1 if two arguments are not equals, 0 otherwise. + Lesser function - gives 1 if first argument is less than second, 0 otherwise. + Greater function - gives 1 if first argument is greater than second, 0 otherwise. + Converts degrees into radians: d - degrees, m - minutes (default = 0), s - seconds (default = 0). + Converts degrees from DMS notation to decimal notation: d - degrees, m - minutes (default = 0), s - seconds (default = 0). + Converts radians into degrees. + + Trigonometric + Hyperbolic trigonometric + Comparison + Common + My + + \ No newline at end of file diff --git a/res/values/text_messages.xml b/res/values/text_messages.xml new file mode 100644 index 00000000..fea86ef9 --- /dev/null +++ b/res/values/text_messages.xml @@ -0,0 +1,14 @@ + + + + Arithmetic error occurred: {0} + Too complex expression + Too long execution time - check the expression + Evaluation was cancelled + No parameters are specified for function: {0} + Infinite loop is detected in expression + \ No newline at end of file diff --git a/res/values/text_operators.xml b/res/values/text_operators.xml new file mode 100644 index 00000000..be00f4d0 --- /dev/null +++ b/res/values/text_operators.xml @@ -0,0 +1,31 @@ + + + + + Operators + + Modulo operation finds the remainder of division of \'x\' by \'y\'. + Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'. + Gives product of functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'. + Gives derivative of order \'order\' (default = 1) of functions \'f(x)\' by \'x\' variable and calculates at point \'x_point\' (default = same as \'x\'). + Gives integral of function \'f(x)\' by \'x\' variable. + Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'. + + Gives the factorial of the expression before. + Gives the double factorial of the expression before. + Gives the percent value of the expression before.\nExamples:\n + 100 + 50% = 150\n + 100 * 50% = 50\n + 100 + 100 * 50% * 50% = 125 + + Converts degrees to radians.\n + Examples:\n + 268° = 4.67748\n + 30.21° = 0.52726 + + + \ No newline at end of file diff --git a/res/values/strings.xml b/res/values/text_strings.xml similarity index 69% rename from res/values/strings.xml rename to res/values/text_strings.xml index 02fd61d7..09c465b5 100644 --- a/res/values/strings.xml +++ b/res/values/text_strings.xml @@ -1,6 +1,6 @@ - Calculator++ + Calculator++ Calc++ Settings Error @@ -74,17 +74,6 @@ Name of constant is not valid: name must start with letter, can contain letters, digits and underscore. System variable cannot be changed! - Ratio of any circle\'s circumference to its diameter. Note: this constant is degree unit dependent => rad: 3.14, deg: 180.0 - Ratio of any circle\'s circumference to its diameter. Note: this constant is degree unit independent => rad: 3.14, deg: 3.14 - Unique real number such that the value of the derivative (slope of the tangent line) of the function f(x) = e^x at the point x = 0 is equal to 1 - Imaginary unit, defined such that i^2 = −1 - Speed of light in vacuum, m·s^-1 - The gravitational constant is an empirical physical constant involved in the calculation of the gravitational attraction between objects with mass, m^3·kg^−1·s^−2 - Physical constant reflecting the sizes of energy quanta in quantum mechanics, J·s - Reduced Planck constant, J·s - Not a number - Infinity - Enter new expression Press to copy Continue @@ -146,57 +135,9 @@ Haptic feedback duration Duration vibration on button click - Functions - - Trigonometric sine function. - Trigonometric cosine function. - Trigonometric tangent function. - Trigonometric cotangent function. - Arcsine - the inverse of sine function. - Arccosine - the inverse of cosine function. - Arctangent - the inverse of tangent function. - Arccotangent - the inverse of cotangent function. - Natural logarithm - logarithm the base e. - Decadic logarithm - logarithm the base 10. - Exponential function. - Square root function. - Cubic root function. - Function that gives absolute value of an argument. - Function that gives the sign of an argument: -1 if argument is less than 0, 0 if equals to 0, 1 if more than 0. - Equals function - gives 1 if two arguments are equals, 0 otherwise. - Lesser-or-equals function - gives 1 if two arguments are equals or first is less than second, 0 otherwise. - Greater-or-equals function - gives 1 if two arguments are equals or first is greater than second, 0 otherwise. - Not-equals function - gives 1 if two arguments are not equals, 0 otherwise. - Lesser function - gives 1 if first argument is less than second, 0 otherwise. - Greater function - gives 1 if first argument is greater than second, 0 otherwise. - Converts degrees into radians: d - degrees, m - minutes (default = 0), s - seconds (default = 0). - Converts degrees from DMS notation to decimal notation: d - degrees, m - minutes (default = 0), s - seconds (default = 0). - Converts radians into degrees. Unable to create empty constant! Current result is not valid! - Operators - - Modulo operation finds the remainder of division of \'x\' by \'y\'. - Sums functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'. - Gives product of functions \'f(i)\', iterating through \'i\' from \'from\' to \'to\'. - Gives derivative of order \'order\' (default = 1) of functions \'f(x)\' by \'x\' variable and calculates at point \'x_point\' (default = same as \'x\'). - Gives integral of function \'f(x)\' by \'x\' variable. - Integrates function \'f(x)\' by \'x\' variable from \'a\' to \'b\'. - - Gives the factorial of the expression before. - Gives the double factorial of the expression before. - Gives the percent value of the expression - before.\nExamples:\n - 100 + 50% = 150\n - 100 * 50% = 50\n - 100 + 100 * 50% * 50% = 125 - - Converts degrees to radians.\n - Examples:\n - 268° = 4.67748\n - 30.21° = 0.52726 - FAQ Hints @@ -285,14 +226,6 @@ Check the \'Round result\' preference in application settings - it should be tur 6. Settings screen: contains application preferences. Can be reached from the main screen by pressing Settings in menu. - - Arithmetic error occurred: {0} - Too complex expression - Too long execution time - check the expression - Evaluation was cancelled - No parameters are specified for function: {0} - Infinite loop is detected in expression - Graph From To @@ -322,14 +255,4 @@ Check the \'Round result\' preference in application settings - it should be tur History was successfully removed! History was successfully saved! - - Trigonometric - Hyperbolic trigonometric - Comparison - Common - My - - System - My - diff --git a/res/values/text_vars.xml b/res/values/text_vars.xml new file mode 100644 index 00000000..35c5f5a5 --- /dev/null +++ b/res/values/text_vars.xml @@ -0,0 +1,23 @@ + + + + + Ratio of any circle\'s circumference to its diameter. Note: this constant is degree unit dependent => rad: 3.14, deg: 180.0 + Ratio of any circle\'s circumference to its diameter. Note: this constant is degree unit independent => rad: 3.14, deg: 3.14 + Unique real number such that the value of the derivative (slope of the tangent line) of the function f(x) = e^x at the point x = 0 is equal to 1 + Imaginary unit, defined such that i^2 = −1 + Speed of light in vacuum, m·s^-1 + The gravitational constant is an empirical physical constant involved in the calculation of the gravitational attraction between objects with mass, m^3·kg^−1·s^−2 + Physical constant reflecting the sizes of energy quanta in quantum mechanics, J·s + Reduced Planck constant, J·s + Not a number + Infinity + + Built-in + My + + \ No newline at end of file diff --git a/src/main/java/org/solovyev/android/calculator/model/AndroidFunctionsMathRegistry.java b/src/main/java/org/solovyev/android/calculator/model/AndroidFunctionsMathRegistry.java index 30661c79..e7aa774f 100644 --- a/src/main/java/org/solovyev/android/calculator/model/AndroidFunctionsMathRegistry.java +++ b/src/main/java/org/solovyev/android/calculator/model/AndroidFunctionsMathRegistry.java @@ -6,8 +6,11 @@ package org.solovyev.android.calculator.model; +import android.content.Context; +import android.content.SharedPreferences; import jscl.math.function.*; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import org.solovyev.android.calculator.R; import org.solovyev.common.definitions.IBuilder; import org.solovyev.common.math.MathRegistry; @@ -113,6 +116,13 @@ public class AndroidFunctionsMathRegistry extends AbstractAndroidMathRegistry getSubstitutes() { diff --git a/src/main/java/org/solovyev/android/calculator/model/CalculatorEngine.java b/src/main/java/org/solovyev/android/calculator/model/CalculatorEngine.java index c85629d6..a6d64424 100644 --- a/src/main/java/org/solovyev/android/calculator/model/CalculatorEngine.java +++ b/src/main/java/org/solovyev/android/calculator/model/CalculatorEngine.java @@ -284,6 +284,9 @@ public enum CalculatorEngine { } varsRegistry.load(context, preferences); + functionsRegistry.load(context, preferences); + operatorsRegistry.load(context, preferences); + postfixFunctionsRegistry.load(context, preferences); } } diff --git a/src/test/java/org/solovyev/android/calculator/model/CalculatorEngineTest.java b/src/test/java/org/solovyev/android/calculator/model/CalculatorEngineTest.java index dbb66916..99a1aa06 100644 --- a/src/test/java/org/solovyev/android/calculator/model/CalculatorEngineTest.java +++ b/src/test/java/org/solovyev/android/calculator/model/CalculatorEngineTest.java @@ -11,6 +11,7 @@ import jscl.NumeralBase; import jscl.math.Expression; import jscl.math.Generic; import jscl.math.function.Constant; +import jscl.math.function.CustomFunction; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; @@ -406,4 +407,22 @@ public class CalculatorEngineTest { cm.setNumeralBase(defaultNumeralBase); } } + + @Test + public void testLog() throws Exception { + final CalculatorEngine cm = CalculatorEngine.instance; + + Assert.assertEquals("∞", Expression.valueOf("1/0").numeric().toString()); + Assert.assertEquals("∞", Expression.valueOf("ln(10)/ln(1)").numeric().toString()); + + // logarithm + Assert.assertEquals("ln(b)/ln(a)", ((CustomFunction) cm.getFunctionsRegistry().get("log")).getContent()); + Assert.assertEquals("∞", cm.evaluate(JsclOperation.numeric, "log(1, 10)").getResult()); + Assert.assertEquals("3.322", cm.evaluate(JsclOperation.numeric, "log(2, 10)").getResult()); + Assert.assertEquals("1.431", cm.evaluate(JsclOperation.numeric, "log(5, 10)").getResult()); + Assert.assertEquals("0.96", cm.evaluate(JsclOperation.numeric, "log(11, 10)").getResult()); + Assert.assertEquals("1/(bln(a))", cm.evaluate(JsclOperation.simplify, "∂(log(a, b), b)").getResult()); + Assert.assertEquals("-ln(b)/(aln(a)^2)", cm.evaluate(JsclOperation.simplify, "∂(log(a, b), a)").getResult()); + + } }