MDN / trunc_f64_s: Wasm numeric instruction
MDN / trunc_f64_s: Wasm numeric instruction
The trunc_f64_s numeric instruction removes the fractional part of an f64 value and outputs it as a signed integer.
This is a separate instruction, trunc, which removes the fractional part of a float and outputs a float.
There are also other truncate integer conversion instructions:
(module
(import "console" "log" (func $log (param i32)))
(func $main
f64.const 2300044.4 ;; load a number onto the stack
i32.trunc_f64_s ;; discard decimal part and return signed integer
call $log ;; log the result
)
(start $main)
)
const url = "{%wasm-url%}";
await WebAssembly.instantiateStreaming(fetch(url), { console });
Syntax
value_type.trunc_f64_s
value_type: The type of value the instruction is being run on. The following types support
trunc_f64_s:i32i64
trunc_f64_s: The
trunc_f64_sinstruction. Must always be included after thevalue_typeand a period (.).
Type
[input] -> [output]
input: The input floating point number.
output: The output integer.
Binary encoding
InstructionBinary formatExample text => binaryi32.trunc_f64_s0xaai32.trunc_f64_s => 0xaai64.trunc_f64_s0xb0i64.trunc_f64_s => 0xb0