avgr_u: Wasm SIMD-Arithmetikbefehl
Der avgr_u SIMD-Arithmetikbefehl führt einen gerundeten Durchschnitt von zwei unsigned v128-Wertinterpretationen aus. Jede Spur des Ausgabewertes ist (a + b + 1) / 2, d.h. der Mittelwert der entsprechenden Spuren der Eingabewerte, aufgerundet auf die nächste ganze Zahl.
Probieren Sie es aus
(module
(import "console" "log" (func $log (param i32)))
(func $main
v128.const i16x8 4 6 16 8 23 65 82 9
v128.const i16x8 0 25 2 30 2 34 45 80
i16x8.avgr_u
i16x8.extract_lane_s 7
call $log ;; log the result
)
(start $main)
)
WebAssembly.instantiateStreaming(fetch("{%wasm-url%}"), { console });
Syntax
value_type.avgr_u
value_type-
Der Typ des Wertes, auf dem der Befehl ausgeführt wird. Die folgenden Typen unterstützen
avgr_u:i8x16i16x8
avgr_u-
Der
avgr_uBefehl. Muss immer nach demvalue_typeund einem Punkt (.) eingefügt werden.
Typ
[input1, input2] -> [output]
Binäre Kodierung
| Befehl | Binäres Format | Beispieltext => Binär |
|---|---|---|
i8x16.avgr_u |
0xfd 123:u32 |
i8x16.avgr_u => 0xfd 0x7b |
i16x8.avgr_u |
0xfd 155:u32 |
i16x8.avgr_u => 0xfd 0x9b 0x01 |
Spezifikationen
| Spezifikation |
|---|
| WebAssembly Core Specification> # vector-instructions%E2%91%A8> |