gwr/exec/arith

Values

pub fn bool_to_int(c: Bool) -> Int

https://webassembly.github.io/spec/core/exec/numerics.html#boolean-interpretation

pub fn iabs(n: Int, i: Int) -> Int

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-iabs-mathrm-iabs-n-i

pub fn iadd(n: Int, i_1: Int, i_2: Int) -> Int

Return the result of adding i_1 and i_2 modulo 2^N.

\begin{array}{@{}lcll}{\mathrm{iadd}}_N(i_1, i_2) &=& (i_1 + i_2) \mathbin{\mathrm{mod}} 2^N\end{array}

https://webassembly.github.io/spec/core/exec/numerics.html#xref-exec-numerics-op-iadd-mathrm-iadd-n-i-1-i-2

pub fn iand(n: Int, i_1: Int, i_2: Int) -> Int

Return the bitwise conjunction of i_1 and i_2.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-iand-mathrm-iand-n-i-1-i-2

pub fn iandnot(n: Int, i_1: Int, i_2: Int) -> Int

Return the bitwise conjunction of i_1 and the bitwise negation of i_2.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-iandnot-mathrm-iandnot-n-i-1-i-2

pub fn ibitselect(i_1: Int, i_2: Int, i_3: Int) -> Int

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ibitselect-mathrm-ibitselect-n-i-1-i-2-i-3

pub fn iclz(n: Int, i: Int) -> Result(Int, trap.Trap)

Return the count of leading zero bits in i; all bits are considered leading zeros if i is 0.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-iclz-mathrm-iclz-n-i

pub fn ictz(n: Int, i: Int) -> Result(Int, trap.Trap)

Return the count of trailing zero bits in i; all bits are considered trailing zeros if i is 0.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ictz-mathrm-ictz-n-i

pub fn idiv_s(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)

https://webassembly.github.io/spec/core/exec/numerics.html#xref-exec-numerics-op-idiv-s-mathrm-idiv-s-n-i-1-i-2

pub fn idiv_u(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)

https://webassembly.github.io/spec/core/exec/numerics.html#xref-exec-numerics-op-idiv-u-mathrm-idiv-u-n-i-1-i-2

pub fn ieq(i_1: Int, i_2: Int) -> Int

Return 1 if i_1 equals i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ieq-mathrm-ieq-n-i-1-i-2

pub fn ieqz(i: Int) -> Int

Return 1 if i is zero, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ieqz-mathrm-ieqz-n-i

pub fn iextend16_s(n: Int, i: Int) -> Result(Int, trap.Trap)
pub fn iextend32_s(n: Int, i: Int) -> Result(Int, trap.Trap)
pub fn iextend8_s(n: Int, i: Int) -> Result(Int, trap.Trap)
pub fn ige_s(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is greater than or equal to i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ige-s-mathrm-ige-s-n-i-1-i-2

pub fn ige_u(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is greater than or equal to i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ige-u-mathrm-ige-u-n-i-1-i-2

pub fn igt_s(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is greater than i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-igt-s-mathrm-igt-s-n-i-1-i-2

pub fn igt_u(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is greater than i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-igt-u-mathrm-igt-u-n-i-1-i-2

pub fn ile_s(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is less than or equal to i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ile-s-mathrm-ile-s-n-i-1-i-2

pub fn ile_u(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is less than or equal to i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ile-u-mathrm-ile-u-n-i-1-i-2

pub fn ilt_s(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is less than i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ilt-s-mathrm-ilt-s-n-i-1-i-2

pub fn ilt_u(n: Int, i_1: Int, i_2: Int) -> Int

Return 1 if i_1 is less than i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ilt-u-mathrm-ilt-u-n-i-1-i-2

pub fn imul(n: Int, i_1: Int, i_2: Int) -> Int

Return the result of multiplying i_2 and i_1 modulo 2^N.

\begin{array}{@{}lcll}{\mathrm{imul}}_N(i_1, i_2) &=& (i_1 \cdot i_2) \mathbin{\mathrm{mod}} 2^N\end{array}

https://webassembly.github.io/spec/core/exec/numerics.html#xref-exec-numerics-op-imul-mathrm-imul-n-i-1-i-2

pub fn ine(i_1: Int, i_2: Int) -> Int

Return 1 if i_1 does not equal i_2, 0 otherwise.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ine-mathrm-ine-n-i-1-i-2

pub fn ineg(n: Int, i: Int) -> Int

Return the result of negating i, modulo 2^N.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ineg-mathrm-ineg-n-i

pub fn inot(n: Int, i: Int) -> Int

Return the bitwise negation of i.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-inot-mathrm-inot-n-i

pub fn ior(n: Int, i_1: Int, i_2: Int) -> Int

Return the bitwise disjunction of i_1 and i_2.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ior-mathrm-ior-n-i-1-i-2

pub fn ipopcnt(n: Int, i: Int) -> Result(Int, trap.Trap)

Return the count of non-zero bits in i.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ipopcnt-mathrm-ipopcnt-n-i

pub fn irem_s(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-irem-s-mathrm-irem-s-n-i-1-i-2

pub fn irem_u(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-irem-u-mathrm-irem-u-n-i-1-i-2

pub fn irotl(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)
pub fn irotr(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)
pub fn ishl(n: Int, i_1: Int, i_2: Int) -> Result(Int, trap.Trap)

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ishl-mathrm-ishl-n-i-1-i-2

pub fn ishr_s(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ishr-s-mathrm-ishr-s-n-i-1-i-2

pub fn ishr_u(
  n: Int,
  i_1: Int,
  i_2: Int,
) -> Result(Int, trap.Trap)

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ishr-u-mathrm-ishr-u-n-i-1-i-2

pub fn isub(n: Int, i_1: Int, i_2: Int) -> Int

Return the result of subtracting i_2 from i_1 modulo 2^N.

\begin{array}{@{}lcll}{\mathrm{isub}}_N(i_1, i_2) &=& (i_1 - i_2 + 2^N) \mathbin{\mathrm{mod}} 2^N\end{array}

https://webassembly.github.io/spec/core/exec/numerics.html#xref-exec-numerics-op-isub-mathrm-isub-n-i-1-i-2

pub fn ixor(n: Int, i_1: Int, i_2: Int) -> Int

Return the bitwise exclusive disjunction of i_1 and i_2.

https://webassembly.github.io/spec/core/exec/numerics.html?highlight=test#xref-exec-numerics-op-ixor-mathrm-ixor-n-i-1-i-2

pub fn signed(n: Int, i: Int) -> Int

https://webassembly.github.io/spec/core/exec/numerics.html#sign-interpretation

pub fn unsigned(n: Int, i: Int) -> Int
Search Document