Funciones y Operadores adicionales » Histórico » Revisión 5
« Anterior |
Revisión 5/8
(diferencias)
| Siguiente »
Federico Vera, 2018-07-17 06:42
Funciones y Operadores adicionales¶
- Índice de contenidos
- Funciones y Operadores adicionales
Existen un número de operadores y funciones adicionales incluidos en esta versión de exp4j
, ninguno de estos está activado por defecto, y se encuentran disponibles en el paquete net.objecthunter.exp4j.extras
.
Operadores de comparación¶
Además de los operadores aritméticos y lógicos, están disponibles los siguientes operadores de comparación: <
, <=
, >
, >=
, !=
y ==
.
Es importante notar que exp4j
no tiene concepto de boolean
, los resultados entregados por los operadores de comparación son 1.0
para verdadero
y 0.0
para falso
. Dado que pueden existir situaciones de redondeo, los operadores de igualdad utilizan un radio en el cual consideran a los valores como "iguales", es decir:
Sean a
y b
dos números reales, entonces a == b
será verdadero
si la distancia entre a
y b
(dist(a, b) := abs(a - b)
) es menor o igual a 1e-12
(0.000000000001
) y falso
de otra forma.
Precedencia¶
Al utilizar los operadores de comparación, la precedencia se altera quedando:
PRIMERO-> * / % - + > >= < <= ¬ & | == != <-ÚLTIMO
----- --- --------- - - - -----
^^^ Los guiones indican los grupos que tienen la misma precedencia
Funciones lógicas¶
Aunque existen operadores lógicos incluidos, se dispone también de un número de funciones booleans que pueden ser utilizadas (existen quienes prefieren las funciones)
-
and(a, b)
: Y lógico equivalente aa & b
-
or(a, b)
: O lógico equivalente aa | b
-
xor(a, b)
: O exclusivo -
nand(a, b)
: equivalente a¬(a & b)
-
nor(a, b)
: equivalente a¬(a | b)
-
xnor(a, b)
: O exclusivo negado -
not(a)
: equivalente a¬a
Constantes lógicas¶
-
true()
: verdadero (1.0
) (se considera como verdadero a cualquier valor distinto de cero, pero la funcióntrue()
devuelve1.0
así como los operadores booleans y de comparación. -
false()
: falso (0.0
)
Funciones adicionales¶
-
if(e, v_true, v_false)
: Ramifica la expresión, se evalúa comov_true
sie == true()
yv_false
sie == false()
-
equals(a, b)
: Equivalente aa == b
, por lo tanto se cumplen las mismas condiciones. -
isNan(a)
: Dice si un valor esNo es un número
(NaN
) -
min(x, y)
: Devuelve el menor (más cercano a -Infinito) de dos números. -
max(x, y)
: Devuelve el mayor (más cercano a +Infinito) de dos números. -
lcm(x, y)
: Devuelve el mínimo común múltiplo de dos números. -
gcd(x, y)
: Devuelve el máximo común divisor de dos números. -
round(x)
: Rendondeax
al entero mas cercano.
Funciones relacionadas con señales¶
-
sinc(x)
: Seno cardinal dex
(no normalizado), equivalente asin(x)/x
Constantes adicionales¶
-
inf()
: Devuelve el valor deDouble.POSITIVE_INFINITY
Código¶
Actualizado por Federico Vera hace más de 6 años · 5 revisiones
Volver al inicio