const setInt64 = (addr, v) => {
mem().setUint32(addr + 0, v, true);
- if (v >= 0) {
- mem().setUint32(addr + 4, v / 4294967296, true);
- } else {
- mem().setUint32(addr + 4, -1, true); // FIXME
- }
+ mem().setUint32(addr + 4, Math.floor(v / 4294967296), true);
}
const getInt64 = (addr) => {
}
}
+func TestIntConversion(t *testing.T) {
+ testIntConversion(t, 0)
+ testIntConversion(t, 1)
+ testIntConversion(t, -1)
+ testIntConversion(t, 1<<20)
+ testIntConversion(t, -1<<20)
+ testIntConversion(t, 1<<40)
+ testIntConversion(t, -1<<40)
+ testIntConversion(t, 1<<60)
+ testIntConversion(t, -1<<60)
+}
+
+func testIntConversion(t *testing.T, want int) {
+ if got := js.ValueOf(want).Int(); got != want {
+ t.Errorf("got %#v, want %#v", got, want)
+ }
+}
+
func TestFloat(t *testing.T) {
want := 42.123
o := dummys.Get("someFloat")