Funciones y Operadores adicionales » History » Revision 6
      « Previous |
    Revision 6/8
      (diff)
      | Next »
    
    Federico Vera, 2018-07-17 10:01 
    
    
Funciones y Operadores adicionales¶
- Table of contents
 - 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.0así 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_truesie == true()yv_falsesie == 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): Rendondeaxal 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¶
Updated by Federico Vera over 7 years ago · 8 revisions