ceil
Pone un techo: de los dos números de arriba de la pila deja el menor, así x 100 ceil nunca pasa de 100.
Datos
- Palabra
ceil- Familia
- Avanzados
- Pila entera
- saca 2, pone 1
- Qué hace
- Saca dos números y apila el menor. Arriba de 16.777.216 la comparación pierde precisión.
- Costo
- Comando avanzado; debugint y debugbool no cuestan
- Se ejecuta en
- dentro de un gen: en la condición (cond) y en el cuerpo (start o else)
x techo ceil deja el menor de los dos: x si está por debajo del techo, y el techo si no. El nombre viene de ahí (ceiling, techo), aunque el resultado sea el mínimo, lo que confunde a más de uno. 7 100 ceil da 7 y 700 100 ceil da 100.
Se usa para que un valor calculado no se pase de un límite antes de guardarlo. Este bot empuja hacia adelante con la décima parte de su energía, pero nunca con más de 30:
cond
start
*.nrg 10 div 30 ceil .up store
stopCombinado con su par, floor, encierra un valor en un rango: x 50 ceil 5 floor queda entre 5 y 50 (ver el ejemplo de Saber en Avanzados).
Una rareza que solo se nota con números enormes: ceil compara con menos precisión que floor, y arriba de 16.777.216 el resultado puede salir corrido en algunas unidades (más cuanto más grande sea el número). Con números del tamaño de la memoria nunca pasa. Para escribir el mínimo directamente en una celda está ceilstore.