// https://stackoverflow.com/q/78133607/2801559
// https://codegolf.stackexchange.com/q/271654/31257
var floats = new Float32Array([-0.1, 1.0])
var i0 = new Int32Array(floats.buffer);
var i1 = Int32Array.from(floats, f => f < 0 ? f * 32768 : f * 32767);
var i2 = Int32Array.from(floats, f => f * 32768);
var i3 = Int32Array.from(floats, f => (f<<15)-(f<0)*f);
var i4 = Int32Array.from(floats, f => f * 1<<15);
var i5 = Int32Array.from(floats, f => f * 32767.5);
console.log(i0, i1, i2, i3, i4);
// [-1110651699, 1065353216]
// [-3276, 32767]
// [-3276, 32768]
// [0, 32768]
// [0, 32768]
// [-3276, 32767
Last active
March 10, 2024 00:29
-
-
Save guest271314/15f027b20e2eaa082976f3a931cc5d2b to your computer and use it in GitHub Desktop.
Float32Array to Int32Array
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment