Float32 frente a Float64 en Mojo
Los floats más angostos son más rápidos y más chicos, pero cargan menos dígitos.
def main():
var narrow = Float32(1.0) / Float32(3.0)
var wide = Float64(1.0) / Float64(3.0)
print(narrow)
print(wide)
print(Float64(narrow) == wide)
print(Float32.MAX_FINITE, Float64.MAX_FINITE)
Cómo funciona
- La misma división corre una vez en
Float32y otra enFloat64. - Imprimir las dos muestra dónde el resultado de 32 bits deja de ser exacto.
- Ensanchar de vuelta el
Float32no recupera lo que se perdió.
Palabras clave y builtins usados aquí
Float32Float64defprintvar
El intento, en números
- Líneas
- 7
- Caracteres a escribir
- 194
- Tokens
- 54
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 43 segundos.
Paso 5 de 5 en Números y tiempo; paso 16 de 22 en Parámetros y SIMD.