Difundir un escalar en Mojo
Darle un solo valor al constructor de SIMD lo difunde a todos los carriles.
comptime F4 = SIMD[DType.float64, 4]
comptime U4 = SIMD[DType.uint8, 4]
def main():
print(F4(7.5))
print(U4(255))
var ramp = F4(0.0, 1.0, 2.0, 3.0)
print(ramp + F4(100.0))
print(ramp * 3.0)
Cómo funciona
F4(7.5)llena los cuatro carriles float con el mismo número.U4(255)hace lo mismo con bytes sin signo.- El splat se combina con una rampa para desplazar o escalar un vector entero de una vez.
Palabras clave y builtins usados aquí
DTypeSIMDdefprintvar
El intento, en números
- Líneas
- 10
- Caracteres a escribir
- 191
- Tokens
- 64
- Ritmo de tres estrellas
- 70 tpm
Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 55 segundos.
Paso 6 de 6 en SIMD; paso 11 de 22 en Parámetros y SIMD.