package moremath

Import Path
	github.com/tetratelabs/wazero/internal/moremath (on go.dev)

Dependency Relation
	imports one package, and imported by one package

Involved Source Files moremath.go
Package-Level Functions (total 12)
WasmCompatCeilF32 is the same as math.Ceil on 32-bit except that the returned NaN value follows the Wasm specification on NaN propagation. https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/exec/numerics.html#nan-propagation
WasmCompatCeilF64 is the same as math.Ceil on 64-bit except that the returned NaN value follows the Wasm specification on NaN propagation. https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/exec/numerics.html#nan-propagation
WasmCompatFloorF32 is the same as math.Floor on 32-bit except that the returned NaN value follows the Wasm specification on NaN propagation. https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/exec/numerics.html#nan-propagation
WasmCompatFloorF64 is the same as math.Floor on 64-bit except that the returned NaN value follows the Wasm specification on NaN propagation. https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/exec/numerics.html#nan-propagation
WasmCompatMax32 is the Wasm spec compatible variant of math.Max for 32-bit floating points.
WasmCompatMax64 is the Wasm spec compatible variant of math.Max for 64-bit floating points.
WasmCompatMin32 is the Wasm spec compatible variant of math.Min for 32-bit floating points.
WasmCompatMin64 is the Wasm spec compatible variant of math.Min for 64-bit floating points.
WasmCompatNearestF32 is the Wasm spec compatible variant of math.Round, used for Nearest instruction. For example, this converts 1.9 to 2.0, and this has the semantics of LLVM's rint intrinsic. e.g. math.Round(-4.5) results in -5 while this results in -4. See https://llvm.org/docs/LangRef.html#llvm-rint-intrinsic.
WasmCompatNearestF64 is the Wasm spec compatible variant of math.Round, used for Nearest instruction. For example, this converts 1.9 to 2.0, and this has the semantics of LLVM's rint intrinsic. e.g. math.Round(-4.5) results in -5 while this results in -4. See https://llvm.org/docs/LangRef.html#llvm-rint-intrinsic.
WasmCompatTruncF32 is the same as math.Trunc on 32-bit except that the returned NaN value follows the Wasm specification on NaN propagation. https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/exec/numerics.html#nan-propagation
WasmCompatTruncF64 is the same as math.Trunc on 64-bit except that the returned NaN value follows the Wasm specification on NaN propagation. https://www.w3.org/TR/2022/WD-wasm-core-2-20220419/exec/numerics.html#nan-propagation
Package-Level Constants (total 10)
F32ArithmeticNaNBits is an example 32-bit arithmetic NaN.
F32ArithmeticNaNPayloadMSB is used to extract the most significant bit of payload of 32-bit arithmetic NaN values
F32CanonicalNaNBits is the 32-bit float where payload's MSB equals 1 and others are all zero.
F32CanonicalNaNBitsMask can be used to judge the value `v` is canonical nan as "v&F32CanonicalNaNBitsMask == F32CanonicalNaNBits"
F32ExponentMask is used to extract the exponent of 32-bit floating point.
F64ArithmeticNaNBits is an example 64-bit arithmetic NaN.
F64ArithmeticNaNPayloadMSB is used to extract the most significant bit of payload of 64-bit arithmetic NaN values
F64CanonicalNaNBits is the 64-bit float where payload's MSB equals 1 and others are all zero.
F64CanonicalNaNBitsMask can be used to judge the value `v` is canonical nan as "v&F64CanonicalNaNBitsMask == F64CanonicalNaNBits"
F64ExponentMask is used to extract the exponent of 64-bit floating point.