typestar

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

  1. F4(7.5) llena los cuatro carriles float con el mismo número.
  2. U4(255) hace lo mismo con bytes sin signo.
  3. El splat se combina con una rampa para desplazar o escalar un vector entero de una vez.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 6 de 6 en SIMD; paso 11 de 22 en Parámetros y SIMD.

← Anterior Siguiente →