Module: Wardite::ValueHelper

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

Instance Method Summary collapse

Instance Method Details

#F32(value) ⇒ Object



27
28
29
# File 'lib/wardite/value.rb', line 27

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

#F64(value) ⇒ Object



33
34
35
# File 'lib/wardite/value.rb', line 33

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

#I32(value) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/wardite/value.rb', line 7

def I32(value)
  if value < 0
    $stderr.puts "debug: 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



17
18
19
20
21
22
23
# File 'lib/wardite/value.rb', line 17

def I64(value)
  if value < 0
    $stderr.puts "debug: 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