Module: Wardite::ValueHelper

Included in:
Wardite, BinaryLoader, Evaluator, F32, F64, I32, I64, Runtime, WasiSnapshotPreview1
Defined in:
lib/wardite/value.rb

Overview

@rbs!

type wasmValue = I32 | I64 | F32 | F64

Instance Method Summary collapse

Instance Method Details

#F32(value) ⇒ Object



30
31
32
# File 'lib/wardite/value.rb', line 30

def F32(value)
  F32.new.tap{|i| i.value = value }
end

#F64(value) ⇒ Object



36
37
38
# File 'lib/wardite/value.rb', line 36

def F64(value)
  F64.new.tap{|i| i.value = value }
end

#I32(value) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/wardite/value.rb', line 10

def I32(value)
  if value < 0
    # $stderr.puts "trace: negative i32 value #{value} is passed, convert to unsigned"
    value = as_u32(value)
  end
  I32.new.tap{|i| i.value = value & I32::I32_MAX }
end

#I64(value) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/wardite/value.rb', line 20

def I64(value)
  if value < 0
    # $stderr.puts "trace: negative i64 value #{value} is passed, convert to unsigned"
    value = as_u64(value)
  end
  I64.new.tap{|i| i.value = value & I64::I64_MAX }
end