typestar

Máscaras SIMD en Mojo

Comparar da una máscara por carril, y select la usa para mezclar dos vectores.

comptime F4 = SIMD[DType.float64, 4]


def main():
    var readings = F4(0.5, 2.5, 3.5, 1.0)
    var limit = F4(2.0)
    var hot = readings.gt(limit)
    print(hot)
    print(hot.select(limit, readings))
    print(hot.reduce_or(), hot.reduce_and())

Cómo funciona

  1. readings.gt(limit) da un booleano por carril; > a secas da un solo Bool.
  2. hot.select(limit, readings) toma limit donde la máscara es verdadera.
  3. reduce_or y reduce_and preguntan si algún carril coincidió, o si todos.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
10
Caracteres a escribir
224
Tokens
67
Ritmo de tres estrellas
65 tpm

Al ritmo de tres estrellas de 65 tokens por minuto, este intento toma unos 62 segundos.

Escribe este fragmento

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

← Anterior Siguiente →