mirror of
https://github.com/hanzoai/wasm2go.git
synced 2026-10-30 15:06:48 +00:00
73 lines
1.2 KiB
Go
73 lines
1.2 KiB
Go
// Code generated by wasm2go. DO NOT EDIT.
|
|
|
|
package ncruces
|
|
|
|
import (
|
|
"math"
|
|
"math/bits"
|
|
)
|
|
|
|
type Module struct {
|
|
}
|
|
|
|
func New() *Module {
|
|
m := new(Module)
|
|
return m
|
|
}
|
|
func (m *Module) Xadd(v0, v1 int32) int32 {
|
|
return v0 + v1
|
|
}
|
|
func (m *Module) Xsub(v0, v1 int32) int32 {
|
|
return v0 - v1
|
|
}
|
|
func (m *Module) Xmul64(v0, v1 int64) int64 {
|
|
return v0 * v1
|
|
}
|
|
func (m *Module) Xdiv_s(v0, v1 int32) int32 {
|
|
t0 := i32_div_s(v0, v1)
|
|
return t0
|
|
}
|
|
func (m *Module) Xshifts(v0, v1 int32) int32 {
|
|
return i32_shr_u(i32_shl(v0, v1), v1)
|
|
}
|
|
func (m *Module) Xrotl(v0, v1 int32) int32 {
|
|
return i32_rotl(v0, v1)
|
|
}
|
|
func (m *Module) Xlt_s(v0, v1 int32) int32 {
|
|
var p0 int32
|
|
if v0 < v1 {
|
|
p0 = 1
|
|
}
|
|
return p0
|
|
}
|
|
func (m *Module) Xlt_u(v0, v1 int32) int32 {
|
|
var p0 int32
|
|
if uint32(v0) < uint32(v1) {
|
|
p0 = 1
|
|
}
|
|
return p0
|
|
}
|
|
|
|
//go:nosplit
|
|
func i32_div_s(x, y int32) int32 {
|
|
if y == -1 && x == math.MinInt32 {
|
|
panic("integer overflow")
|
|
}
|
|
return x / y
|
|
}
|
|
|
|
//go:nosplit
|
|
func i32_shl(x, y int32) int32 {
|
|
return x << (y & 31)
|
|
}
|
|
|
|
//go:nosplit
|
|
func i32_shr_u(x, y int32) int32 {
|
|
return int32(uint32(x) >> (y & 31))
|
|
}
|
|
|
|
//go:nosplit
|
|
func i32_rotl(x, y int32) int32 {
|
|
return int32(bits.RotateLeft32(uint32(x), int(y)))
|
|
}
|