Funciones Incluidas » History » Version 2
Federico Vera, 2018-07-12 16:55
| 1 | 1 | Federico Vera | # Funciones Incluidas |
|---|---|---|---|
| 2 | |||
| 3 | {{>toc}} |
||
| 4 | |||
| 5 | Existe un número de funciones incluidas que mapean a los métodos de [`java.util.Math`](https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html) (por lo tanto se aplican las mismas restricciones), estas son: |
||
| 6 | |||
| 7 | ## Funciones Trigonométricas: |
||
| 8 | 2 | Federico Vera | * `sin(x)`: Seno de un ángulo (expresado en radianes) |
| 9 | * `cos(x)`: Coseno de un ángulo (expresado en radianes) |
||
| 10 | * `tan(x)`: Tangente de un ángulo (expresado en radianes) |
||
| 11 | 1 | Federico Vera | |
| 12 | ## Funciones Trigonométricas Inversas: |
||
| 13 | 2 | Federico Vera | * `asin(x)`: Arcoseno en el rango [-π/2, π/2) |
| 14 | * `acos(x)`: Arcocoseno en el rango [0, π) |
||
| 15 | * `atan(x)`: Arcotangente en el rango [-π/2, π/2) |
||
| 16 | 1 | Federico Vera | |
| 17 | ## Funciones Hiperbólicas: |
||
| 18 | 2 | Federico Vera | * `sinh(x)`: Seno hiperbólico `(e^x - e^(-x)) / 2` |
| 19 | * `cosh(x)`: Coseno hiperbólico `(e^x + e^(-x)) / 2` |
||
| 20 | * `tanh(x)`: Tangente hiperbólica `(e^x - e^(-x)) / (e^x + e^(-x))` |
||
| 21 | 1 | Federico Vera | |
| 22 | ## Logaritmos |
||
| 23 | 2 | Federico Vera | * `log(x)`: Logaritmo en base `e` de `x` |
| 24 | * `log1p(x)`: Logaritmo en base 10 de `(x + 1)` |
||
| 25 | * `log10(x)`: Logaritmo en base 10 de `x` |
||
| 26 | * `log2(x)`: Logaritmo en base 2 de `x` |
||
| 27 | 1 | Federico Vera | |
| 28 | ## Misceláneos |
||
| 29 | * `pow(b, e)`: `b` elevado a la `e` |
||
| 30 | * `sqrt(x)`: Raíz cuadrada de`x` |
||
| 31 | * `cbrt(x)`: Raíz cúbica de `x` |
||
| 32 | * `exp(x)`: `e` elevado a la `x` |
||
| 33 | * `expm1(x)`: `e` elevado a la `x` menos 1 (`e^x - 1`) |
||
| 34 | * `signum(x)`:{{collapse(Nota) |
||
| 35 | * Esta es la única función no implementada utilizando `java.util.Math` method.* |
||
| 36 | }} Signo de `x` (`-1, 0, 1` para `< 0`, `= 0` y `> 0` respectivamente) |
||
| 37 | 2 | Federico Vera | * `abs(x)`: Valor absoluto de `x` |
| 38 | * `ceil(x)`: Primer entero mas cercano a -Infinito que sea mayor o igual a `x` |
||
| 39 | * `floor(x)`: Primer entero mas cercano a +Infinito que sea menor o igual a `x` |
||
| 40 | 1 | Federico Vera | |
| 41 | ## Constantes |
||
| 42 | * `pi()`: Cociente entre la circunferencia de un círculo y su diámetro `3.14159265358979323846` |
||
| 43 | * `e()`: Base del logaritmo natural `2.7182818284590452354` |
||
| 44 | |||
| 45 | ## Desactivando las funciones incluidas |
||
| 46 | A partir de la versión `0.6-riddler` (commit:28c731ea) se pueden desactivar las funciones incluidas de la siguiente manera: |
||
| 47 | |||
| 48 | ~~~Java |
||
| 49 | Expression e = new ExpressionBuilder("x + 3") |
||
| 50 | .disableBuiltInFunctions() //<-- |
||
| 51 | .variable("x") |
||
| 52 | .build(); |
||
| 53 | ~~~ |
||
| 54 | |||
| 55 | Recuerde que como las constantes están implementadas como funciones estas también serán desactivadas. |
||
| 56 | |||
| 57 | ## Código |
||
| 58 | El código de las funciones puede encontrarse aquí [aquí](https://redmine.riddler.com.ar/projects/exp4j/repository/revisions/master/entry/src/main/java/net/objecthunter/exp4j/function/Functions.java). |