Packages
orb
0.0.19
0.2.2
0.2.1
0.2.0
0.1.1
0.1.0
0.0.51
0.0.49
0.0.48
0.0.47
0.0.46
0.0.45
0.0.44
0.0.43
0.0.42
0.0.41
0.0.40
0.0.39
0.0.38
0.0.37
0.0.36
0.0.35
0.0.34
0.0.33
0.0.32
0.0.31
0.0.30
0.0.28
0.0.27
0.0.26
0.0.25
0.0.24
0.0.23
0.0.22
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
retired
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
DSL for WebAssembly
Current section
Files
Jump to
Current section
Files
lib/orb/numeric/add.ex
defmodule Orb.Numeric.Add do
@moduledoc """
WebAssembly numeric `add` instruction:
- `i32.add`
- `i64.add`
- `f32.add`
- `f64.add`
[MDN reference](https://developer.mozilla.org/en-US/docs/WebAssembly/Reference/Numeric/Addition)
"""
def optimized(_type, a, 0), do: a
def optimized(_type, 0, b), do: b
# def optimized(type, a, b), do: {type.wasm_type(), :add, {a, b}}
def optimized(type, a, b), do: Orb.Instruction.new(type.wasm_type(), :add, [a, b])
end