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
Advertencia!¶
See Advertencias -> Concatenar Operadores de Comparación
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. -
deg2rad(x)
: Devuelve el valor dex
expresado en radianes. -
rad2deg(x)
: Devuelve el valor dex
expresado en grados.
Funciones relacionadas con señales¶
-
sinc(t)
: Seno cardinal dex
(no normalizado), equivalente asin(t)/t
-
triangle(t)
: Señal triangular -
sawtooth(t)
: Señal diente de sierra -
heavyside(t)
: Función escalón -
rectangle(t, X, Y)
: Función rectángula
Constantes adicionales¶
-
inf()
: Devuelve el valor deDouble.POSITIVE_INFINITY
Funciones basadas en expresiones¶
- Ahora es posible crear funciones basadas en expresiones! Ver: Funciones basadas en expresiones
Código¶
Actualizado por Federico Vera hace alrededor de 6 años · 8 revisiones
Volver al inicio