El cast de los carriles SIMD en Mojo
cast convierte cada carril a otro DType sin salir del vector.
comptime F4 = SIMD[DType.float64, 4]
def main():
var prices = F4(1.9, 2.5, 3.1, 4.8)
var cents = (prices * 100.0).cast[DType.int32]()
print(cents)
print(cents.cast[DType.float64]() / 100.0)
print(prices.cast[DType.int32]())
Cómo funciona
- Escalar por
100.0pasa los dólares a centavos, todavía en float. .cast[DType.int32]()trunca cada carril hacia cero.- Volver a
float64y dividir recupera los precios originales.
Palabras clave y builtins usados aquí
DTypeSIMDdefprintvar
El intento, en números
- Líneas
- 9
- Caracteres a escribir
- 225
- Tokens
- 69
- Ritmo de tres estrellas
- 70 tpm
Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 59 segundos.
Paso 5 de 6 en SIMD; paso 10 de 22 en Parámetros y SIMD.