typestar

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

  1. La misma división corre una vez en Float32 y otra en Float64.
  2. Imprimir las dos muestra dónde el resultado de 32 bits deja de ser exacto.
  3. Ensanchar de vuelta el Float32 no recupera lo que se perdió.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 5 de 5 en Números y tiempo; paso 16 de 22 en Parámetros y SIMD.

← Anterior Siguiente →