Category:Amazing Hopper: Difference between revisions
Content added Content deleted
No edit summary |
m (→#IF/#ELSE/#EIF) |
||
Line 5,178: | Line 5,178: | ||
/* sobrecarga de instrucciones aritmeticas naturales: MINUS */ |
/* sobrecarga de instrucciones aritmeticas naturales: MINUS */ |
||
#defn |
#defn MINUS(_X_) #IF minus(#ATOMF) #ELSE #CMPLX;postfix;sub;postfix #EIF |
||
MINUS es más rápido que SUB, pero solo admite una constante o una variable. La macro |
MINUS es más rápido que SUB, pero solo admite una constante o una variable. La macro no puede sobrecargar al operador real, por lo que se hace necesario escribirla, en este caso, con mayúscula. |
||
{5}minus(x) ==> expande a: {5}minus(x) |
{5}minus(x) ==> expande a: {5}minus(x) |
||
{5} |
{5}MINUS({x}mul by'10') ==> expande a: {5}{x}mul by'10';postfix;sub;postfix |
||
Recordar que POSTFIX activa/desactiva el cálculo en notación polaca. Para el ejemplo, calculará 5 - x*10; sin POSTFIX, HOPPER calcularía x*10-5, y no cumpliría con el sentido de la operación MINUS. |
Recordar que POSTFIX activa/desactiva el cálculo en notación polaca. Para el ejemplo, calculará 5 - x*10; sin POSTFIX, HOPPER calcularía x*10-5, y no cumpliría con el sentido de la operación MINUS. |
||
=== #LOOP / #ENDLOOP, %LOOP / %ENDLOOP === |
=== #LOOP / #ENDLOOP, %LOOP / %ENDLOOP === |